30.03.22 ● Ousseynou, DevOps Engineer ● 3 minutes lecture
Lancé par Lambda Amazon Web Services (AWS), le Serverless est venu simplifier notre quotidien en soustrayant à nos tâches quotidiennes de gestion des bases de données et de nos centres de données. Aujourd’hui, le catalogue Serverless s’est étendu, tous les fournisseurs proposent leurs services tels que Azure Function ou encore Google Cloud Function.
Le serverless est un modèle de développement cloud native dans lequel le client peut créer et exécuter ses applications sans avoir besoin de se soucier de la partie infrastructures et notamment de la partie serveur d'où sa dénomination "serverless" ou "sans serveurs” en français.
Notez, le terme “Serverless” ne désigne pas une informatique qui n’a pas besoin de serveurs pour s’exécuter. Le Serverless est une approche IT dans laquelle la partie matérielle est totalement abstraite. Avec le serverless, votre/vos fournisseur(s) cloud prend en charge les opérations d'infrastructure tandis que vous avez seulement à vous soucier du code. Autrement dit, le modèle serverless fait abstraction de toute la partie infrastructure pour le développeur. Et quel bonheur !
Le Serverless fonctionne en exécutant des fonctions individuelles (Function-as-a-Service) en réponse à des événements spécifiques, tels que l'envoi de données à une API ou une demande de navigation sur un site web. Les fournisseurs de services cloud gèrent toute l'infrastructure sous-jacente, tels que les serveurs, les bases de données et les services de messagerie, permettant aux développeurs de se concentrer uniquement sur le code d'application.
Les fonctions sont déployées et exécutées sur des conteneurs légers, qui sont créés dynamiquement en réponse à ces événements. Ces conteneurs s'arrêtent lorsque la fonction a terminé son exécution. Cette dynamique permet de réduire les coûts liés à la gestion de serveurs inutilisés. Les fournisseurs de services cloud facturent généralement en fonction du temps d'exécution de la fonction, ainsi vous ne payez que ce que vous consommez. Quel bonheur pour votre CFO !
Le Function as a Service (FaaS) est un moyen d’exécuter des morceaux de code modulaires (écrits dans son langage de prédilection, comme Python, Java, C#…). Ce code forme une « fonction » et un ensemble de « fonctions » appelé microservice.
La fonction est généralement exécutée ainsi :
Le Serverless est particulièrement utile pour les applications qui ont une charge de travail intermittente, comme les applications web, mobiles et IoT. Voici quelques exemples de cas d'utilisation courant du Serverless :
La partie dynamique est traitée par plusieurs FaaS en réponse à une action de l’utilisateur, à travers l’appel d’APIs.
Exemple https://aws.amazon.com/fr/serverless/build-a-web-app/
Lors du dépôt d’un fichier, un FaaS s’exécute automatiquement afin de réaliser un traitement : insertion de métadonnées dans une base de données, vérification du format, enrichissement…
Afin d’interagir avec les données reçues, un FaaS est déclenché - pour chaque événement ou par lot d’événements.
Il existe plusieurs fournisseurs de services cloud offrant des plateformes Serverless, chacun avec ses propres outils et services. Voici quelques exemples de fournisseurs de services cloud Serverless :
Le Serverless peut constituer un réel avantage pour vos lignes de front - les développeurs - et donc la satisfaction de vos objectifs. N’ayant qu’à se concentrer sur l’écriture, votre chaîne de valeur CI/CD gagne en productivité et en vitesse. Fin des discordes, fin des dépenses inutiles ! Malgré ses quelques inconvénients, ce modèle est parfaitement adapté si vous opérez sur des charges de travail intermittentes : applications web, mobiles et loT.
Cet article vous aide à mieux comprendre Kubernetes et à quel cas d'usage son usage et bénéfique.
Définition des stratégies à adopter pour migrer ses applications vers Kubernetes.
Une unité vous accompagne sur vos problématiques DevOps et de sécurité en engageant votre transition digitale et facilitant l'adoption de l'écosystème cloud.
Assurons que vos efforts investis dans le cloud soient rentables … dans le temps !