Recherche de site Web

LFCA : Apprenez l’informatique sans serveur, avantages et pièges – Partie 15


La technologie sans serveur a généré beaucoup de battage médiatique dans la communauté technologique, suscitant beaucoup de curiosité et recevant dans une certaine mesure des réactions négatives. Il s'agit d'une technologie qui a débuté avec le lancement d'AWS Lamba en 2014, qui a été rapidement suivi par Azure Functions plus tard en 2016.

Google a ensuite emboîté le pas avec le lancement des fonctions Google Cloud en juillet 2018. Alors, qu'est-ce que la technologie sans serveur ? Pour répondre au mieux à cette question, revenons à l’informatique traditionnelle basée sur serveur.

Dans le modèle informatique traditionnel, vous étiez responsable de pratiquement tout. En tant que propriétaire d'entreprise, vous devrez prévoir un budget pour les serveurs et autres équipements réseau tels que les routeurs et les commutateurs, ainsi que pour les racks destinés au deuil des serveurs.

Vous devrez également vous soucier d’avoir un centre de données impeccable et sécurisé et vous assurer qu’il peut fournir suffisamment de refroidissement, d’alimentation électrique et de service Internet redondants. Une fois configuré, vous devrez ensuite installer le système d'exploitation, puis déployer vos applications. De plus, vous devrez configurer des systèmes de surveillance et mettre en œuvre des fonctionnalités de sécurité telles que des pare-feu, des systèmes de prévention et de détection des intrusions.

Comme vous l’avez peut-être deviné, cela nécessite beaucoup de ressources, est coûteux et épuisant.

Puis le cloud computing a fait irruption dans le monde de la technologie, révolutionnant complètement la façon dont nous déployons et gérons les serveurs et les applications. Cela annonçait une nouvelle ère dans laquelle les développeurs seraient prêts à créer des serveurs et des bases de données cloud en un rien de temps et à commencer à travailler sur leurs applications. Ne vous inquiétez pas des problèmes associés à l'informatique traditionnelle tels que les temps d'arrêt, les équipements coûteux et la location de centres de données.

Bien que le cloud computing apporte la commodité et les économies d'échelle dans le déploiement des ressources informatiques, certaines entreprises achètent trop d'unités d'espace serveur et de ressources telles que la RAM et le processeur en prévision d'un pic de trafic réseau ou d'activité qui pourrait submerger les applications.

Bien qu’il s’agisse d’une décision prudente, le résultat inattendu est la sous-utilisation des ressources du serveur, qui sont souvent gaspillées. Même avec l’autoscaling, un pic imprévu et soudain pourrait s’avérer coûteux. En outre, vous devrez toujours effectuer d’autres tâches telles que la configuration d’équilibreurs de charge, qui sont également susceptibles d’augmenter les coûts opérationnels.

Il est évident que malgré le passage au cloud, certains goulots d’étranglement persistent et peuvent potentiellement augmenter les coûts et entraîner un gaspillage des ressources. Et c'est là qu'intervient l'informatique sans serveur.

Qu'est-ce que l'informatique sans serveur

L'informatique sans serveur est un modèle cloud qui fournit des services backend aux utilisateurs sur une base de paiement à l'utilisation. En termes simples, le fournisseur de cloud alloue les ressources de calcul et facture uniquement la durée d'exécution des applications. Cela équivaut à passer d’un forfait mensuel de paiement par câble à un paiement uniquement lorsque vous regardez vos émissions de télévision.

Le terme « Sans serveur » peut être un peu trompeur. Y a-t-il des serveurs impliqués ? Bien sûr, cependant, dans ce cas, les serveurs et l'infrastructure sous-jacente sont uniquement gérés et entretenus par le fournisseur de cloud. En tant que tel, vous n’avez pas à vous en soucier. En tant que développeur, votre objectif est uniquement de développer vos applications et de vous assurer qu'elles fonctionnent à votre satisfaction.

Ce faisant, l'informatique sans serveur vous évite le casse-tête lié à la gestion des serveurs et vous fait gagner un temps précieux pour travailler sur vos applications.

Services backend fournis par l'informatique sans serveur

Un exemple parfait de service backend sans serveur est la plate-forme Function-as-a-Service (FaaS). FaaS est un modèle de cloud computing qui permet aux développeurs de développer, d'exécuter et de gérer du code en réponse à des événements sans la complexité de la création et de la gestion d'une infrastructure sous-jacente généralement associée au déploiement de microservices.

Faas est une sous-catégorie de l'informatique sans serveur avec des différences subtiles. L'informatique sans serveur englobe une large gamme de services, notamment le calcul, les bases de données, le stockage et les API, pour n'en citer que quelques-uns. FaaS se concentre uniquement sur un modèle informatique événementiel dans lequel les applications sont exécutées à la demande, c'est-à-dire en réponse à une requête.

Exemples de modèles informatiques FaaS :

  • AWS Lambda par AWS
  • Fonctions Azure par Microsoft
  • Fonctions cloud de Google
  • Travailleurs Cloudflare par Cloudflare

En résumé, nous avons vu qu'avec FaaS, vous ne payez que pour le temps d'exécution de votre application et le fournisseur de cloud fait pratiquement tout pour vous, y compris la gestion de l'infrastructure sous-jacente. La gestion des serveurs est le moindre de vos soucis.

Avantages de l'informatique sans serveur

Vous avez désormais une bonne idée de certains des avantages que l’informatique sans serveur apporte. Examinons plus en détail les avantages de l’adoption de la technologie.

1. Aucune gestion de serveur

C’est peut-être l’un des plus grands avantages de l’adoption du modèle informatique sans serveur. Bien que le terme « sans serveur » puisse être interprété à tort comme impliquant qu’aucun serveur n’est impliqué, le fait est que les applications s’exécutent toujours sur des serveurs. Le nœud du problème est que la gestion des serveurs est entièrement l’affaire du fournisseur de cloud, ce qui vous laisse plus de temps pour travailler sur vos applications.

2. Mise à l’échelle facile et efficace

L'infrastructure sans serveur permet une mise à l'échelle automatique des applications en réponse à une augmentation de l'utilisation, de la demande ou de la croissance de la base d'utilisateurs. Si l'application s'exécute sur plusieurs instances, les serveurs démarreront et s'arrêteront si nécessaire. Dans une configuration de cloud computing traditionnelle, un pic de trafic ou d'activité peut facilement surcharger les ressources du serveur, entraînant des incohérences dans l'exécution de l'application.

3. Disponibilité intégrée

En tant que développeur, vous n'avez pas besoin de créer d'infrastructure spéciale pour rendre vos applications hautement disponibles. L'informatique sans serveur vous offre une haute disponibilité intégrée pour garantir que vos applications sont opérationnelles lorsque cela est nécessaire.

4. Coûts d’exploitation réduits

L'informatique sans serveur alloue les ressources sur une base de paiement à l'utilisation. Votre application n'aura besoin de fonctions backend que lors de l'exécution du code et évoluera automatiquement en fonction de la quantité de charge de travail.

Cela permet des économies d'échelle puisque vous n'êtes facturé que pour la durée d'exécution des applications. Dans le modèle de serveur traditionnel, vous devez payer pour l'espace serveur, les bases de données, entre autres ressources, que l'application soit en cours d'exécution ou inactive.

5. Déploiements plus rapides des applications

L'architecture sans serveur élimine le besoin de configuration back-end et de téléchargement manuel du code sur les serveurs comme dans la configuration traditionnelle. Il est facile pour les développeurs de télécharger de petites piles de code de manière efficace et de lancer un excellent produit.

La facilité de déploiement permet également aux développeurs de corriger et de mettre à jour facilement certaines fonctionnalités du code sans altérer l'ensemble de l'application.

Les pièges de l'informatique sans serveur

Y a-t-il des inconvénients associés au modèle sans serveur ? Découvrons-le.

1. Sécurité

Les applications mal configurées présentent l'un des plus grands risques associés à l'informatique sans serveur. Si vous optez pour AWS, par exemple, il est prudent de configurer différentes autorisations pour votre application, ce qui déterminera à son tour la manière dont elles interagiront avec d'autres services au sein d'AWS. Lorsque les autorisations sont vagues, une fonction ou un service peut avoir plus d’autorisations que nécessaire, laissant ainsi largement place aux failles de sécurité.

2. Verrouillage du fournisseur

Opter pour un modèle sans serveur peut présenter des défis lors de la migration vers un autre fournisseur. Cela est principalement dû au fait que chaque fournisseur possède ses propres fonctionnalités et flux de travail qui varient légèrement des autres.

3. Difficulté de test et de débogage des applications

Un autre défi posé par le modèle sans serveur est la difficulté de reproduire un environnement sans serveur pour tester et surveiller les performances du code avant sa mise en ligne. Cela est principalement dû au fait que les développeurs n'ont pas accès aux services backend qui sont l'apanage du fournisseur de Cloud.

4. Difficulté à surveiller les applications sans serveur

La surveillance des applications sans serveur est une entreprise complexe pour les mêmes raisons que le débogage et les tests sont une tâche ardue. Cette situation a été aggravée par l'indisponibilité d'outils intégrés aux services backend tels que AWS Lamba.

Conclusion

L'informatique sans serveur continue de gagner du terrain et d'être adoptée par les entreprises et les développeurs pour 3 raisons principales. L’un d’entre eux est l’abordabilité, ce qui implique des coûts opérationnels réduits. Deuxièmement, l’informatique sans serveur facilite une mise à l’échelle automatique et rapide et, enfin, les développeurs n’ont pas à se soucier de l’infrastructure sous-jacente gérée par le fournisseur.

Pendant ce temps, les fournisseurs de cloud travaillent 24 heures sur 24 pour remédier à certains des pièges associés à l'informatique sans serveur, tels que les difficultés de débogage et de surveillance des applications.