fond

Qu'est-ce que le framework serverless ?

Le framework Serverless est un ensemble de librairies qui permettent de faire de l'Infrastructure as Code (IaC).
decoration

À quoi sert le framework serverless ?

Le framework ServerlessLe terme serverless se dit d'un traitement qui ne nécessite pas de serveur (à comprendre ici : dont on ne s'occupe pas du serveur) vous permet de créer toute l'infrastructure nécessaire pour héberger votre application ou votre fonction de manière automatisée et programmable. L'idée est de ne plus avoir à installer soit même les serveurs ou les services dans un provider de CloudLe Cloud consiste à accéder à des ressources informatiques, à partir d'internet, via un fournisseur. tels qu'AWSLe Cloud AWS (Amazon WebServices) est une plateforme de services cloud développée par le géant américain Amazon. ou Azure, mais de laisser le framework le faire pour vous.

Il est important de souligner qu'il a été initialement conçu pour fonctionner principalement avec AWS. Par conséquent, il offre une gamme étendue de fonctionnalités spécifiquement optimisées pour ce cloud, telles qu'une Infrastructure as Code (IaC) plus avancée et une documentation plus détaillée. 

framework serverless illustration.svg

Pourquoi utiliser le framework Serverless ?

Dans les architectures Cloud modernes, une variété de services est nécessaire pour assurer le bon fonctionnement d'une application. Cela inclut des composants de calcul tels que des conteneurs ou des fonctions, ainsi que des éléments de réseau, de stockage de fichiers etc... Il faut donc composer avec ce milles-feuilles pour créer l'hébergement adéquat pour votre application. Cette tâche peut rapidement devenir laborieuse et complexe, surtout lorsqu'il s'agit de maintenir et de reproduire une configuration sur différents environnements.

Avec le framework Serverless, vous codez infrastructure !

Ensuite, avec un ensemble de commande, vous lancez le déploiement qui créait l'infrastructure en fonction de vos besoins et gère pour vous toute la pénibilité des interfaces et des spécificités des cloud providers.

De plus, si vous vous êtes déjà essayé au serverless, vous avez probablement constaté que le déploiement et les tests peuvent être longs et complexes, à moins de coder directement sur l'interface AWS ou AzureAzure est la plateforme de Cloud de Microsoft.. Imaginez alors maintenant ce que cela donnerait avec 50 fonctions différentes... Un enfer non ??
Sur ce point, le framework serverless est une bénédiction pour les développeurs !
Le déploiement se fait en une commande, vous avez ensuite la possibilité de faire vos tests directement depuis votre terminal et de consulter les journaux (logs) sans avoir besoin de vous connecter à la console. Vous avez besoin d'un nouvel environnement pour vos tests ? Une simple commande suffit. Lancer votre code en local ? Juste une commande.

Le framework Serverless vous proposes même un dashboard gratuit permettant de regrouper toutes les métriques de vos fonctions, afin d'avoir une observabilité accrue avec une interface claire et intuitive

dasboardserverless.png

Pour résumer simplement les avantages du framework :

  • Cycle de vie : Gérer le cycle de vie complet de votre application serverless - build, déploiement, mise à jour, monitoring.
  • IaC : En plus de déployer son code, on peut également définir une infrastructure entière, et ce au même endroit. (AWS uniquement)
  • Simple : On peut simplement démarrer un projet et avoir des Lambda qui fonctionnent.
  • Multi-langages : Supporte tous les langages disponibles pour les Lambda
  • Plugins : Étendre les fonctionnalités du framework grâce à son catalogue de plugins
  • Multi-environnement : Gestion simple de différents environnements (production, recette…)
  • Observabilité : Le framework propose un dashboard qui regroupe toutes les métriques nécessaires.
  • Disponibilité de template d’application fait par la communauté, validés et référencés par le framework

Expertise framework Serverless à Lyon

Le framework Serverless est utilisé chez AXOPEN en tant que standard pour les déploiements d'application dans le Cloud de type functions .

Retours d'expérience sur le framework serverless

Nous avons eu l'occasion d'utiliser le framework serverless sur plusieurs projets chez AXOPEN, ce qui nous permet d’acquérir une expérience et un recul significatifs sur cette technologie.

Pour commencer, il est important de savoir que les plugins sont indispensable afin de bénéficier d'une meilleure expérience lors de la mise en place de votre application serverless. En effet, il existe des plugins pour toute la chaîne de création de votre application, de l'étape "développement", avec par exemple le plugin serverless-offline qui permet de tester sa fonction sans avoir à la déployer. En passant par l'étape du "build", avec le plugin serverless-bundle qui package votre application avec webpack très simplement. D'autres plugins peuvent également permettre de faciliter la configuration de votre infrastructure, c'est le cas notamment du plugin serverless-domain-manager, qui simplifie la gestion du nom de domaine de votre APIUne API est un programme permettant à deux applications distinctes de communiquer entre elles et d’échanger des données. Gateway. Pour couronner le tout, les plugins sont très simple à installer et à utiliser. C'est pourquoi nous ne pouvons que les recommander, surtout si vous souhaitez éviter de vous arracher les cheveux à refaire des tâches que d'autres ont déjà réalisées pour vous ! Les plugins sont là pour simplifier votre travail et vous permettre de vous concentrer sur l'essentiel de votre application.

Comme expliqué précédemment, si vous utilisez AWS, il est possible de créer directement votre infrastructure (IaC) directement via le framework ! Grâce à la syntaxe de CloudFormation, vous pouvez tout manipuler, de votre S3 à un SNS. Pour garantir la portabilité de votre application et vous assurer qu'elle peut fonctionner et être dupliquée facilement, il est essentiel de veiller à ce que tous les services nécessaires soient intégrés dans votre application serverless.

Malheureusement, cette fonctionnalité n'est actuellement disponible uniquement pour AWS.
Initialement conçu pour AWS, le framework s'ouvre progressivement à d'autres fournisseurs de services cloud. Cependant, certaines parties telles que l'Infrastructure as Code (IaC) restent fortement liées au fournisseur de cloud. Toutefois pas de panique, si vous souhaitez simplement développer des fonctions pour une API, ou utiliser des triggers, le framework fonctionnera très bien quel que soit le fournisseur de cloud.

Concernant la maintenance de vos fonctions, il est important de suivre les mises à jour des runtime que propose le fournisseur de cloud. Dans le cas d'AWS, il n'hésite pas à supprimer les vieux runtime (RIP NodeJS 12, tu vas nous manquer), ce qui peut complétement bloquer votre application !

En effet, si vous essayez de mettre à jour votre application qui utilise un runtime déprécié, le framework tentera de déployer votre nouvelle version. Cependant, AWS bloquera l'opération, car le runtime concerné n'existera plus. À ce moment-là, AWS va "rollback" afin de retrouver son état précédent, mais le rollback va échouer, car le runtime n'existe (toujours) pas.
Vous vous retrouvez donc avec une application "morte", que vous allez devoir supprimer puis recréer, et là, bonne chance ! Afin de ne pas tomber dans ce piège, nous vous conseillons donc de suivre avec attention les nouvelles versions que propose votre fournisseur de cloud. La plupart du temps, il suffira simplement de changer le numéro dans votre configuration, et de relancer votre déploiement.

L'engagement d'AXOPEN sur le framework serverless

Que ce soit pour optimiser vos ressources cloud, concevoir des architectures évolutives ou maximiser l'efficacité de vos applications, AXOPEN s'engage à être à votre écoute et à vous accompagner dans la mise en place et le développement serverless.
Si vous souhaitez en discuter, n'hésitez pas à contacter notre équipe d'experts dédiés.

Nos Références clients