Skip to main content
BlogOutils pour développeursDécomposez votre code : Introduction aux fonctions sans serveur et au FaaS

Décomposez votre code : Introduction aux fonctions sans serveur et au FaaS

Introduction aux fonctions sans serveur et au FaaS

Fonctions, serverless et Kubernetes - lorsque vous vous préparez à créer votre première application conteneurisée, ces outils et leurs concepts sous-jacents peuvent se confondre. Dans ce billet, nous allons démystifier ces sujets essentiels pour créer des applications cloud-natives évolutives.

Qu'est-ce que Kubernetes ?

Kubernetes est une orchestration de conteneurs utilisée pour gérer le cycle de vie des conteneurs et des nœuds sur lesquels ils s'exécutent.

Répartition :

  • En général, un conteneur est une application emballée avec ses dépendances qui ne dépend pas du système d'exploitation sous-jacent pour des bibliothèques supplémentaires.
  • Les conteneurs sont regroupés en pods qui s'exécutent sur des nœuds.
  • Un nœud est une unité de calcul, souvent une VM fonctionnant sous Linux (mais techniquement, tout serveur virtuel ou physique de votre cluster exécutant vos Pods ou groupes de conteneurs).

Kubernetes orchestrera la création de nœuds et déploiera, détruira et déplacera les conteneurs et les pods vers les nœuds en fonction des critères définis par le développeur.

Kubernetes est essentiel pour créer et automatiser des applications conteneurisées à grande échelle et à haute disponibilité. Si vous ne connaissez pas encore Kubernetes, nous vous proposons de nombreux contenus éducatifs pour vous aider à démarrer.

Kubernetes est très différent des fonctions sans serveur et du FaaS, mais il est souvent utilisé pour alimenter le backend qui rend ces architectures réalisables.

Qu'est-ce que le "sans serveur" ?

Serverless est un modèle de développement qui permet aux développeurs de se concentrer sur l'envoi de code via des conteneurs sans avoir à gérer des serveurs ou d'autres infrastructures en nuage. Le fournisseur de cloud est chargé de tout gérer, du niveau serveur/OS jusqu'au bas de l'échelle, afin de fournir aux développeurs un environnement hautement rationalisé pour écrire et déployer du code.


Diagramme d'architecture sans serveur

La terminologie peut varier d'un fournisseur à l'autre, mais l'architecture sans serveur transfère la responsabilité du développeur au fournisseur de cloud pour tout ce qui se passe au niveau du serveur et vers le bas.

Qu'est-ce qu'une fonction ?

L'élaboration de composants modulaires pour une application, généralement appelée microservices, permet aux développeurs de segmenter des "morceaux" de code pour les fonctionnalités fréquemment utilisées. Ces morceaux sont connus sous le nom de fonctions, qui sont exécutées lorsqu'elles sont déclenchées par un événement. 

Toute activité de l'utilisateur qui déclenche un événement ou une série d'événements peut être déployée en tant que fonction. Par exemple, un utilisateur qui s'inscrit sur votre site web peut déclencher une modification de la base de données, qui peut à son tour déclencher un e-mail de bienvenue. Une chaîne de fonctions sans serveur peut prendre en charge le travail de backend.


Une chaîne de fonctions sans serveur

Qu'est-ce que les fonctions en tant que service (FaaS) ?

L'appellation "as a Service" est utilisée pour presque tout dans notre industrie aujourd'hui. D'une manière générale, tout ce qui est en tant que service signifie qu'un fournisseur de services en nuage gère toute l'infrastructure dorsale pour fournir un accès simplifié à une fonction. FaaS permet aux développeurs de créer et d'exécuter des fonctions sans avoir d'infrastructure à maintenir. Les offres FaaS sont généralement facturées au temps d'exécution, ce qui signifie que vous n'êtes facturé que lorsqu'une partie du code est en cours d'exécution. Cela peut s'avérer très rentable par rapport à l'exploitation d'un serveur 24 heures sur 24 et 7 jours sur 7.

Les plateformes FaaS facilitent le déploiement et la gestion des fonctions en les construisant au-dessus d'une technologie d'infrastructure spécifique comme Kubernetes ou en fournissant une interface graphique pour créer des fonctions et les connecter à des applications sans écrire de code.(En savoir plus sur les applications low-code et "no-code").

Les fonctions soumises par la communauté facilitent la recherche et la mise en œuvre d'une logique permettant d'optimiser les performances de l'application. FaaS est un produit populaire proposé par de nombreux fournisseurs de services en nuage, qui permet aux utilisateurs de gérer les fonctions et l'infrastructure de l'application en une seule fois.

Intéressé par des fonctions au sein d'Akamai ?

Si vous utilisez actuellement des fonctions d'un fournisseur quelconque dans le cadre du développement de votre application, nous souhaitons connaître votre avis. Les services informatiques dans le Cloud d'Akamai étudient la possibilité d'ajouter des fonctions à notre plate-forme dans le Cloud. Répondez à l'enquête pour nous faire part de vos attentes ou inscrivez-vous pour être contacté lorsqu'un service de fonctions sera disponible en version bêta.


Commentaires

Laissez un commentaire

Votre adresse électronique ne sera pas publiée. Les champs obligatoires sont marqués d'un *.