Serverless ou l’ultime promesse du cloud

Le serverless implique une réduction des dépenses cloud, puisqu’au lieu de payer pour un serveur qui fonctionne en permanence, vous n'êtes facturé que pour la durée minime d'exécution du code. C'est aussi un parfait promoteur du DevOps.

Créée par les éditeurs de cloud, la technologie serverless permet d’écrire du code sans devoir se procurer, administrer, surveiller et maintenir l'infrastructure sous-jacente qui exécute ce code. En supprimant tous ces tracas, le serverless concrétise l'ultime promesse du cloud où chacun se consacre pleinement à la création d’applications et de valeur ajoutée pour l'entreprise.

Factures cloud réduites et mises à l'échelle à l'infini

Le serverless implique une réduction des dépenses cloud, puisqu’au lieu de payer pour un serveur qui fonctionne en permanence, vous n'êtes facturé que pour la durée minime d'exécution du code. Il suffit de télécharger son code, en sachant que « sous le capot », le fournisseur de cloud peut étendre les ressources nécessaires presque à l'infini et potentiellement traiter n'importe quel nombre de requêtes. Un engouement qui incite les fournisseurs de cloud a développé rapidement un écosystème serverless qui assure une adaptation immédiate et sans difficulté du data center au fur et à mesure de l'évolution de l'activité.

Un parfait promoteur de DevOps

Le serverless est plus que jamais promoteur de la culture DevOps qui vise à fusionner le développement et le déploiement d'applications dans un modèle plus rationalisé, l'infrastructure devenant de plus en plus couplée au code. Dans un contexte serverless, l'infrastructure est comme une fonction dont vous disposez. Vous écrivez le code, vous le déployez et la fonction démarre. Plus besoin de penser aux serveurs ou à tout ce qui tourne derrière eux, il s’agit juste d’un morceau de code dans la fonction serverless.

Serverless et applications modernes vont de pair

La technologie serverless incarne l'une des dernières innovations en matière d'infrastructure cloud pour l'exécution d'applications modernes. Quiconque développe une nouvelle application devrait envisager de l'utiliser parce qu'elle place vraiment les défis métier au premier plan. Par exemple, le Serverless est particulièrement adapté aux applications ou aux sites web soumis à des variations de trafic, tels qu’un site média qui génère des milliers de messages via les réseaux sociaux suite à la publication d’un article important. Les services évolueront de façon complètement invisible en fonction des pics d’activité. Le serverless est également idéal pour les sociétés d'IoT qui conçoivent des produits à valeur ajoutée pour leurs clients qui ainsi n'ont pas à se soucier des serveurs et des bases de données. Ils font simplement attention à ce que leurs appareils IoT vérifient et envoient régulièrement les données de capteurs. Le serverless est également très pratique pour les petits projets ou les services à croissance rapide pour lesquels vous ne payez qu’à l’usage.

Quand les conteneurs viennent à la rescousse

Nous devons admettre que le serverless a des limites en fonction de la nature de l'application et des performances escomptées. Par exemple, il ne gère pas vraiment les applications de longue durée, telles que la formation d'un modèle d'apprentissage machine qui peut prendre quelques heures ou quelques jours alors qu'un temps d'exécution d’un service serverless ne dépasse pas 15 minutes. Lorsqu’un service atteint sa limite de requêtes, le fournisseur de cloud crée en arrière-plan un ou plusieurs conteneurs. Ces machines virtuelles plus légères, qui n'ont pas à gérer leur propre système d'exploitation, prennent le relais et absorbent le trafic en toute transparence pour l’utilisateur. Sur le marché boursier ou pour n'importe quelle activité exigeant un temps de réponse de l’ordre de 10 millisecondes à chaque requête, les conteneurs seraient plus appropriés parce que le fournisseur de cloud peut toujours garantir un nombre suffisant de conteneurs en service.

Une approche ultralégère pour un déploiement d’apps ultra-rapide

Le service Lambda d’AWS est un moyen très léger et facile pour démarrer avec du serverless. S’il existe une variété de produits Amazon pour la gestion des déploiements, les faire communiquer entre eux peut induire une certaine configuration manuelle. L’environnement Serverless Framework est alors une solution très simple pour configurer en un seul fichier le contrôle de version avec le reste du projet. Il est ainsi extrêmement facile d'attacher de nouveaux éléments d'infrastructure à la fonction Lambda et de tout déployer d'un seul coup, avec une seule ligne de commande. Si l’on commençait à utiliser le serverless maintenant, il serait possible d’exécuter du code sur Lambda en 10 minutes, de l'écriture au déploiement.

Une migration facile entre fournisseurs de cloud

Il n’est pas rare de voir des entreprises migrer d'un serverless vers un autre, car elles ne veulent pas être dépendantes d’un seul fournisseur. C'est un cas courant que l’on peut intégrer au code d’une application dans une « couche shim » relative à la configuration du fournisseur de cloud sur lequel on souhaite opérer.

C'est un cas courant que l’on peut écrire comme une partie de son application dans une « couche shim » qui comprend tout le code nécessaire pour configurer le fournisseur de cloud sur lequel on souhaite opérer. L’application est elle-même modulaire et totalement indépendante de cette configuration. En décidant de changer de fournisseur de cloud pour obtenir de meilleures performances avec un autre, il suffit de modifier la petite partie concernant la configuration et de disposer des bonnes informations d'identification pour déployer son code tout de suite.

Plus simple, moins coûteux et extrêmement flexible, le serverless permet de se concentrer sur son cœur de métier et sur les problématiques clients. Chaque ligne de code écrite est consacrée à un bénéfice net plutôt qu’à la gestion de l'infrastructure. Le serverless s’avère aussi un catalyseur intéressant pour démarrer dans le cloud. Si vous opérez entièrement sur site sur vos propres serveurs et que vous voulez un aperçu de l’exécution du code dans le cloud, écrire votre premier projet serverless pourrait presque être un moyen addictif de commencer dans le cloud. C'est une option rapide et efficace qui vous dispense de 80% des problèmes auxquels vous pensez, lorsque vous écrivez du code sur votre propre infrastructure.