TOOLinux

Le journal du Libre

Serverless : 2e édition de l’étude annuelle de Datadog

vendredi 28 mai 2021

AWS Lambda est la plus mature des offres FaaS, alors que l’adoption d’Azure Functions et Google Cloud Functions sont en pleine croissance, selon la seconde étude annuelle de Datadog sur le serverless.

Cette année, le serverless gagne encore davantage en popularité auprès des entreprises de toutes tailles, des startups cloud native aux grandes entreprises. Voici les principales tendances brossées par cette étude annuelle publiée il y a quelques jours.

Fonctions Lambda invoquées 3,5 fois plus souvent qu’il y a deux ans

Selon l’étude, les entreprises qui utilisent Lambda depuis 2019 ont considérablement intensifié leur utilisation. Les fonctions étaient en moyenne sollicitées 3,5 fois plus souvent par jour au début de 2021 comparé à deux ans auparavant. De plus, au sein d’un même groupe d’utilisateurs de Lambda, les fonctions de chaque entreprise ont fonctionné en moyenne durant 900 heures par jour.

Aujourd’hui, les équipes ne se contentent pas d’expérimenter le serverless, mais en font un élément essentiel de leurs piles logicielles.

Azure Functions et Google Cloud Functions ont le vent en poupe

L’année dernière, la part des entreprises sur Azure utilisant Azure Functions est passée de 20 à 36 % ; et sur Google Cloud, près d’un quart des entreprises utilisent désormais Cloud Functions.

Bien que Cloud Functions ait été la dernière des 3 offres FaaS à être lancée, le serverless n’est pas nouveau sur Google Cloud, la plateforme ayant introduit en 2008 Google App Engine, son premier service entièrement serverless.

Aujourd’hui, la dynamique se déplace vers les offres serverless les plus récentes de Google, à savoir Cloud Functions et Cloud Run.

Les invocations Lambda sont beaucoup plus courtes aujourd’hui qu’il y a un an

Lambda est de plus en plus utilisé pour servir des applications orientées client qui nécessitent une faible latence. En 2020, le temps moyen d’une invocation Lambda n’a pas dépassé 60 millisecondes, soit environ la moitié de la valeur de l’année précédente. Une explication possible est que davantage d’entreprises suivent les bonnes pratiques Lambda et conçoivent des fonctions très spécifiques à leurs charges de travail, ce qui contribue à réduire la durée des invocations.

AWS Step Functions alimente tout, des applications Web aux pipelines de données

AWS Step Functions permet aux développeurs de créer des workflows liés aux événements qui impliquent plusieurs fonctions Lambda et services AWS. Dans ces workflows, Step Functions coordonne la gestion des erreurs, les tentatives, les temps d’arrêt et autres logiques applicatives, ce qui permet de réduire la complexité opérationnelle à mesure que les applications serverless évoluent. Selon l’étude, un workflow Step Functions contient en moyenne 4 fonctions Lambda, une moyenne qui augmente de mois en mois.

25% des utilisateur CloudFront adoptent l’edge computing

Un quart des entreprises qui utilisent Amazon CloudFront tirent parti de Lambda@Edge pour fournir davantage d’expériences personnalisées aux utilisateurs du monde entier. Par exemple, Lambda@Edge peut transformer dynamiquement des images basées sur les caractéristiques d’un utilisateur (ex : type d’appareil) ou servir différentes versions d’une application web pour des tests A/B. Les données de l’étude montrent que 67% des fonctions
Lambda@Edge sont exécutées en moins de 20 millisecondes, ce qui laisse supposer que l’edge computing a un énorme potentiel pour prendre en charge, avec un minimum de ressources, les applications les plus critiques en termes de latence. De notre point de vue, plus cette technologie évolue, plus elle semble adoptée par différentes organisations cherchant à améliorer leur expérience utilisateur.

80% des fonctions Lambda n’utilisent pas leur allocation de « Provisioned Concurrency »

Lorsqu’une fonction Lambda est invoquée après une période d’inactivité, elle subit un bref retard d’exécution, connu sous le nom de démarrage à froid (cold start). Pour les applications qui requièrent des temps de réponse de l’ordre de la milliseconde, les démarrages à froid peuvent être rédhibitoires. Fin 2019, AWS a introduit Provisioned Concurrency pour aider les utilisateurs de Lambda à lutter contre les démarrages à froid en maintenant les environnements d’exécution initialisés et prêts à répondre aux demandes.

Plus de la moitié des fonctions Lambda utilisent moins de 80 % de leur fonction Provisioned Concurrency configurée. Dans le même temps, plus de 40 % des fonctions utilisent la totalité de leur allocation, ce qui signifie qu’elles sont encore susceptibles de rencontrer des démarrages à froid. pourraient encore rencontrer des démarrages à froid et qu’elles bénéficieraient encore davantage de la fonction Provisioned Concurrency.

Serverless Framework est le meilleur moyen de déployer des applications Lambda

Lorsque les applications serverless passent à l’échelle, le déploiement manuel des fonctions Lambda et d’autres ressources peut rapidement devenir fastidieux. AWS CloudFormation permet aux développeurs de provisionner l’infrastructure AWS et les ressources tierces dans des collections (appelées piles logicielles), et constitue le mécanisme de déploiement sous-jacent pour des frameworks, tels qu’ AWS Cloud Development Kit (CDK), AWS Serverless Application Model (SAM) et Serverless Framework.

Framework est de loin le plus populaire en étant utilisé par plus de 90% des entreprises qui gèrent leurs ressources serverless avec AWS CloudFormation.

Python, le plus Populaire des langages d’exécution de Lambda, notamment dans les grands environnements

Depuis 2018, Lambda prend en charge 6 langages d’exécution : Node.js, Python, Java, Go, .NET Core, and Ruby. Cependant, Python et Node.js continuent à dominer comptant pour l’exécution de près de 90% des fonctions Lambda. 58% des fonctions Lambda déployées sont exécutées avec Python, soit 11% de plus qu’il y a un an, et 21% avec Node.js, soit 8% de plus qu’il y a un an.

Tandis que Node.js devance Python dans les petits environnements AWS, Python devient de plus en plus populaire lorsque la taille de l’environnement augmente avec une utilisation 4 fois supérieure à celle de Node.js.

- L’étude complète (en anglais)