avenir des RH

Quels sont les enjeux du serverless computing ?

Le serverless computing est un modèle de développement cloud (conçu dans et pour le cloud) qui permet aux développeurs de créer et d’exécuter des applications sans avoir à gérer des serveurs.

serverless

Adopté par la plupart des grandes entreprises ces dernières années, le serverless est une solution présentant de nombreux avantages pour les clients : il réduit les coûts, le Time to Market, l’empreinte carbone et ouvre les portes de la maturité technologique aux entreprises. 

Après Amazon Web Services (AWS) en 2014, Microsoft lui a emboîté le pas avec Azure Functions en 2016. Google, pour sa part, s’est lancé dans le serverless en août 2018 avec Google Cloud Functions

Quels sont les avantages liés à l’utilisation du serverless et quels en sont les cas d’application les plus courants ? 

La fin des serveurs ?

Contrairement à une croyance fortement répandue, le terme serverless ne signifie pas « une informatique sans serveur ». Nous aurons toujours besoin de serveurs physiques pour stocker les applications et les données !

En mode serverless, la gestion des serveurs est dissociée du développement des applications. Un fournisseur cloud se charge du travail de routine en approvisionnant l’infrastructure de serveurs et en assurant son bon fonctionnement.

Une fois déployées, les applications serverless répondent à la demande en se mettant automatiquement à l’échelle. De manière générale, les offres serverless sont facturées à la demande en fonction de la quantité de ressources utilisées pour exécuter le code et le temps d’utilisation des ressources.

Vous l’aurez compris, lorsqu’une fonction serverless n’est pas utilisée, celle-ci ne coûte rien à son utilisateur ! Certains désagréments dus à la maintenance des infrastructures sont également évités et davantage de temps est alloué à la création de nouvelles applications à haute valeur ajoutée.

Quelle différence avec le cloud ?

Dans les modèles standard de cloud computing de type IaaS (Infrastructure as a Service), une entreprise achète à l’avance une certaine capacité de stockage et de calcul. La facturation se fait sur la base de composants serveurs actifs en permanence pour l’exécution de leurs applications. Une infrastructure cloud reste donc active même si l’application n’est pas utilisée.

Une architecture serverless est certes cloud native (conçue dans et pour le cloud), mais les applications ne sont lancées qu’en cas de besoin. Si un événement déclenche l’exécution d’un code, le fournisseur lui alloue des ressources de manière dynamique et l’utilisateur cesse de payer une fois le code exécuté. Le serverless décharge donc les développeurs des tâches de mise à l’échelle des serveurs.

Dans quel cas utiliser une architecture serverless ?

Le serverless computing est intéressant pour les applications asynchrones qui peuvent être lancées instantanément ou pour faire face à des pics de demande imprévisibles mais fréquents.

Les applications serverless conviennent par exemple très bien aux cas d’utilisation des flux de données entrants, comme les chatbots, pour l’actualisation et la surveillance d’une base données pour vérifier le respect des normes de qualité ou pour traduire automatiquement les données en informations exploitables pour un service marketing ou financier.

De la même manière, les architectures serverless sont tout à fait recommandées pour les usages liés aux microservices, comme le traitement des données et des évènements liés aux objets connectés (le fameux « Internet of Things »). Ce sont des usages qui ne demandent pas de mobiliser une grande puissance de calcul de manière constante.

Par opposition, le serverless computing ne s’adresse donc pas vraiment aux applications nécessitant des traitements de longue durée avec une puissance constante. Dans ce cas, une architecture serveur traditionnelle est recommandée car plus simple et plus rentable.

Quels sont les enjeux du serverless ?

L’informatique serverless permet d’améliorer la productivité des développeurs et de réduire les coûts d’exploitation. En dégageant du temps pour se concentrer davantage sur les aspects « business », le Time To Market de vos produits numériques s’améliore.

Par ailleurs, les coûts d’hébergement ont tendance à baisser, car l’entreprise ne paie que ce qui est réellement consommé. Si certaines de vos applications enregistrent des trafics qui ne sont pas uniformes ou des pics de requêtes très importants, le serverless est recommandé.

Enfin, l’exécution de fonctions éphémères qui ne mobilisent des ressources qu’en cas de besoin permet de diminuer l’empreinte carbone de l’entreprise. Le serverless computing plaît donc beaucoup aux services marketing et communication des grandes entreprises !

Quels sont les inconvénients du serverless ?

Le serverless repose sur le fait d’utiliser une architecture serveur qui n’appartient pas à l’entreprise. Le revers de la médaille réside dans le fait de ne pas contrôler sa logique serveur. 

Par exemple, le fournisseur de cloud peut appliquer des règles d’interaction strictes au fonctionnement des applications, ce qui affecte la flexibilité et le niveau de personnalisation des systèmes. C’est un peu comme courir la Flèche wallonne avec un vélo trop petit : on part avec un handicap dès le départ.

Si une trop grande partie de votre code se retrouve en dehors des infrastructures que vous contrôlez, l’entreprise peut se retrouver prise au piège de son fournisseur. On appelle ce phénomène le « vendor-locking ». L’adhérence à un fournisseur devient si forte qu’elle influence les décisions stratégiques au niveau IT. Il faut trouver le bon équilibre. Et dans le cas d’un changement de fournisseur, des coûts associés à la mise en conformité de vos systèmes sont inévitables.

Comme évoqué précédemment, le serverless apporte une réponse pertinente à des besoins de calculs identifiés standardisés, ponctuels et/ou temporaires. Si l’exécution de certaines fonctions sont appelées de manière trop peu fréquente, les temps de latence supplémentaires peuvent dégrader l’expérience utilisateur, comme dans le cas d’une boutique en ligne ou d’une application bancaire.

Le serverless est-il l’avenir du cloud computing ?

Actuellement, la technologie serverless est principalement utilisée par les grandes entreprises. Les services informatiques passent en effet moins de temps à se concentrer sur les détails et la mécanique de la technologie ; ils se concentrent plus sur les bénéfices à en tirer. Résultat, la plupart des fournisseurs de cloud ont investi massivement dans les solutions serverless : AWS Lambda, Google Cloud Functions ou encore Azure Functions (Microsoft).

Si les solutions de cloud computing — la livraison de ressources et de services à la demande par Internet — ont fini de convaincre la plupart des services IT des grandes entreprises, il est intéressant de constater que de nombreux directeurs des services informatiques, en s’intéressant au serverless computing, voient plus loin en pensant qu’il est désormais possible — voire souhaitable — de louer la totalité de la puissance serveur.

Le serverless ne marque donc pas la fin des serveurs. Il s’agit plutôt d’un outil supplémentaire pour faire face à des enjeux d’usage et une possibilité offerte aux développeurs pour gagner du temps dans la conception d’applications pour des opérations ponctuelles et néanmoins stratégiques. Le serverless computing a donc de beaux jours devant lui.

Retrouvez d’autres articles IT, des vidéos interviews sur les dernières tendances technos ainsi que nos derniers jobs sur BeTechnology. BeTechnology, la plateforme de recrutement innovante 100 % Techno !