Select Page

Le serverless computing chamboule les infras

Le serverless computing chamboule les infras

Mauvaise nouvelle pour les servers huggers *, le Serverless Computing ou « l’informatique sans serveur » est une tendance des plus fortes du moment, et même selon certains, plus importante que pour les containers de type Docker. En effet, selon les analystes de Reportlinker, la taille du marché, estimée à 4 milliards de dollars en 2018 devrait atteindre plus de 14 milliards d’ici 2023, avec un taux de croissance de 28% annuel.  

Pourquoi tant d’engouement ? Avec la prolifération des micro-services et l’émergence du modèle Devops, on se concentre de plus en plus sur les applications plutôt que sur le serveur. L’informatique sans serveur est cependant encore mal comprise. Une étude de Digital Ocean, un fournisseur de Cloud américain, révèle qu’un développeur sur deux ne saurait pas ce que c’est.

 

 

Pas vraiment sans serveur

Contrairement à ce que son nom indique, le Serverless computing n’est pas vraiment sans serveur, bien au contraire : le serveur fait partie intégrante de ce concept mais il n’est plus local. C’est le fournisseur de cloud qui prend en charge la gestion des serveurs. On a affaire en fait à une évolution logique des modèles de services de Cloud Computing qui prennent, comme prévu, le pas sur les infras traditionnelles. Il n’y a donc pas de grande surprise quant à son existence. D’ailleurs, l’idée n’est pas totalement nouvelle, puisque AWS propose du serverless depuis 2014. Mais aujourd’hui, le concept prend de l’ampleur, notamment pour répondre à certains besoins.

 

Trois composants de base

La pile traditionnelle réseau/serveur/base de données se mue en un stack composé d’une API Gateway (couche de communication entre l’application et le Cloud), de FaaS (Function as a service) et de BaaS (Back-end as a service). Termes compliqués certes, pour désigner tout ce qui permet au développeur de se connecter au service Cloud, via des API, d’exécuter son code directement dans le cloud et tout ce qui relève de l’administration/gestion des composants techniques. En somme, un nouveau mode de vie dans les infras.

 

Les avantages….

Quels avantages ? Indéniablement le coût et la simplicité. Sans serveur, le client ne paie généralement que pour le temps passé sur le Cloud et le volume de trafic utilisé. En théorie, en comparaison avec une infra plus traditionnelle, le coût réel est faible, en partie parce que les tâches exécutées dans le Cloud dans ce cas sont en général relativement simples.

Autre atout, déjà avancé dès l’arrivée du Cloud : le zéro entretien de ses infras. De plus, l’élasticité du Cloud permet d’envisager une mise à l’échelle automatique, ce qui ne nécessite plus de mise en place de stratégie SI complexes. Enfin, la fonction serveur étant totalement externalisée, le développeur se passe de compétences techniques liés aux infrastructures. Ce dernier peut se concentrer uniquement sur le code. Ainsi, l’expérience client est sans serveur même si l’infrastructure sous-jacente ne l’est pas.

 

…Et les inconvénients

Mais l’informatique sans serveur a des limites bien définies. Certaines plateformes ont des restrictions sur les ressources, et sur les langages de programmation supportés. Par ailleurs, pour éviter une explosion des coûts et/ou des surcharges système, les applications déployables sont finalement assez réduites. Enfin, il peut être difficile ou impossible d’utiliser la plupart des outils de surveillance avec des fonctions sans serveur, car vous n’avez généralement pas accès au conteneur ou au système de gestion de conteneur de la fonction. Le débogage et l’analyse des performances peuvent donc être limités à des méthodes assez primitives ou indirectes. La vitesse et le temps de réponse peuvent également être inégaux. Ces limites, ainsi que les contraintes de taille, de mémoire et de durée, sont susceptibles de limiter son utilisation dans des situations où les performances sont importantes.

 

Complémentaire des containers

Pour ces raisons, le serverless computing ne doit pas être vu comme un concurrent des containers, mais bel et bien un complément.  La vérité est que l’informatique sans serveur et les conteneurs fonctionnent mieux ensemble, chaque plate-forme faisant ce qu’elle fait bien. Une application basée sur un conteneur, combinée à un système complet de gestion et de déploiement des conteneurs, est de loin le meilleur choix pour les applications et les suites d’application complexes et de grande envergure, en particulier dans un environnement d’entreprise ou Internet. L’informatique sans serveur, par contre, est souvent préférable pour les tâches individuelles qui peuvent facilement être exécutées en arrière-plan ou accessibles en tant que services externes. Les systèmes à base de conteneurs peuvent transférer de telles tâches à des applications sans serveur sans encombrer les ressources du programme principal. Les applications sans serveur, quant à elles, peuvent fournir des services à plusieurs clients et peuvent être mises à jour, mises à niveau ou commutées avec d’autres applications sans serveur, indépendamment des systèmes de conteneur qui utilisent leurs services.

Et si les plateformes changent, le débat reste finalement toujours le même : externaliser ou pas, telle est la question.

About The Author

Baptiste Simon

Responsable BU Cloud & Services Managés

Recevez par mail les articles et actualités de Au coeur des InfrasJe m'inscris à la Newsletter