Conception d’architecture des fonctions serverless

L’architecture serverless fait évoluer les plateformes du cloud vers du code natif Cloud pur en faisant abstraction du code de l’infrastructure qu’il doit exécuter. Azure Functions est une option de calcul serverless qui prend en charge les fonctions, de petits morceaux de code qui effectuent des opérations uniques.

Les avantages de l’utilisation d’architectures serverless avec des applications Functions sont les suivants :

  • L’infrastructure Azure fournit automatiquement tous les serveurs mis à jour dont les applications ont besoin pour s’exécuter à grande échelle.
  • Les ressources de calcul sont allouées dynamiquement et se mettent à l’échelle automatiquement et instantanément pour répondre aux demandes élastiques. Serverless, cela ne signifie pas « aucun serveur », mais « moins de serveur », car les serveurs s’exécutent uniquement en fonction des besoins.
  • La micro-facturation permet d’économiser les coûts en facturant uniquement les ressources de calcul et la durée d’exécution du code.
  • Les liaisons de fonctions simplifient l’intégration en fournissant un accès déclaratif à une large gamme de services Azure et tiers.

Les fonctions sont pilotées par les événements. Un événement externe comme une requête web HTTP, un message, une planification ou une modification des données déclenche le code de la fonction. Une application Functions ne code pas le déclencheur, mais uniquement la réponse au déclencheur. Avec une barrière inférieure à l’entrée, les développeurs peuvent se concentrer sur la logique métier, plutôt que sur l’écriture de code pour gérer les problèmes liés à l’infrastructure tels que la messagerie.

Azure Functions est un service géré dans Azure et Azure Stack. Le runtime Functions open source fonctionne dans de nombreux environnements, notamment Kubernetes, Azure IoT Edge, localement et d’autres clouds.

Serverless et Functions nécessitent de nouvelles méthodes de pensée et de nouvelles approches pour la création d’applications. Ils ne constituent pas les solutions adaptées à chaque problème. Pour des exemples de scénarios Functions serverless, consultez Architectures de référence.

Étapes d'implémentation

La réussite de l’implémentation de technologies serverless avec Azure Functions nécessite les actions suivantes :

  • Décider et planifier

    Les architectes et décideurs techniques (TDM) effectuent une évaluation des applications, dirigent des ateliers et des formations techniques ou y assistent, exécutent des projets pilote ou preuve de concept (PoC), et dirigent des sessions de conception architecturale en fonction des besoins.

  • Développer et déployer des applications

    Les développeurs implémentent des modèles et pratiques de développement d’applications Functions serverless, configurent des pipelines DevOps et utilisent les meilleures pratiques SRE (Site Reliability Engineering).

  • Gestion des opérations

    Les professionnels de l’informatique identifient les configurations d’hébergement, la scalabilité durable en automatisant l’approvisionnement de l’infrastructure et maintiennent la disponibilité en planifiant la continuité d'activité et la reprise d'activité.

  • Applications sécurisées

    Les professionnels de la sécurité gèrent les notions de base en matière de sécurité Azure Functions, sécurisent la configuration de l’hébergement et fournissent des conseils en matière de sécurité des applications.