Comment fonctionne Azure Functions

Effectué

Ici, vous allez apprendre à utiliser Azure Functions pour développer des architectures serverless et utiliser les différentes implémentations de fonctionnalités fournies par Functions.

Vous en apprendrez également davantage sur le fonctionnement d’Azure Functions. Cela vous aidera aussi à déterminer comment mieux utiliser Azure Functions pour répondre aux besoins de votre organisation.

Azure Functions est une solution de calcul serverless qui vous permet d’écrire moins de code. C’est une offre Platform as a Service, donc vous n’avez pas à vous soucier de l’hébergement de votre application, et vous économisez sur les coûts.

Azure Functions est une solution idéale pour le traitement des données, l’intégration de systèmes, l’utilisation de l’Internet des objets (IoT) et la création de microservices et d’API simples.

Mise à l’échelle des applications de fonction

Le contexte dans lequel vos fonctions s’exécutent est appelé application de fonction. Une application de fonction est une unité de déploiement, de gestion et de mise à l’échelle de vos fonctions. Toutes les fonctions d’une application de fonction partagent le même paramètre et les mêmes connexions.

Dans les plans Consommation et Premium, Functions met à l’échelle les ressources de processeur et de mémoire en ajoutant d’autres instances d’application de fonction. Le nombre d’instances est déterminé par le nombre d’événements qui déclenchent une fonction. Toutes les fonctions d’une application de fonction partagent une ressource au sein d’une instance et sont mises à l’échelle en même temps.

Surveillance d’Azure Functions

Azure Functions est intégré à Azure Application Insights pour surveiller des fonctions. Application Insights collecte des données de journal, de performances et d’erreur. Elle vous aide à détecter les anomalies de performances, à diagnostiquer les problèmes et à mieux comprendre comment vos fonctions sont utilisées.

L’instrumentation d’Application Insights est intégrée à Azure Functions. Avec l’intégration d’Application Insights, les données de télémétrie sont envoyées à votre instance Application Insights connectée. Ces données incluent des journaux générés par l’hôte Functions, des traces écrites à partir de votre code de fonctions et des données de performances.

Notes

En plus des données de vos fonctions et de l’hôte Functions, vous pouvez également collecter des données à partir du contrôleur d’échelle Functions.

L’image suivante montre un exemple d’affichage des données dans Application Insights pour une application de fonction.

Screenshot showing Monitoring telemetry data for Azure Functions

Composants Azure Functions

Le tableau suivant décrit les composants clés d’Azure Functions :

Composant Description
Déclencheurs de fonctions Les déclencheurs sont à l’origine de l’exécution d’une fonction. Un déclencheur définit la façon dont une fonction est appelée. Chaque fonction est associée à un seul déclencheur.
Liaisons de fonction La liaison d’une fonction permet de connecter de façon déclarative une autre ressource à la fonction. Les liaisons peuvent être connectées en tant que liaisons d’entrée, liaisons de sortie, ou les deux. Les données issues des liaisons sont fournies à la fonction en tant que paramètres. Si vous ne souhaitez pas ou ne pouvez pas utiliser de liaisons, vous pouvez toujours utiliser un SDK client dans vos fonctions comme vous le feriez normalement pour les connexions aux services.
Runtime des fonctions Azure Functions prend actuellement en charge plusieurs versions de l’hôte du runtime. Les fonctions prennent aussi en charge de nombreux runtimes différents comme .NET Core, Node.js, Java, PowerShell et Python. Pendant le développement, vous pouvez installer le runtime Functions sur votre ordinateur local et exécuter des fonctions localement en utilisant Azure Functions Core Tools.
Gestion des API APIM fournit la sécurité et le routage pour vos points de terminaison de fonction déclenchés par HTTP comme moyen de les exposer sous la forme d’une vraie API REST.
Emplacements de déploiement Les emplacements de déploiement Azure Functions permettent à votre application de fonction d’exécuter différentes instances appelées « emplacements ». Les emplacements sont différents environnements exposés via un point de terminaison disponible publiquement. Les emplacements vous permettent de tester une nouvelle version de vos fonctions dans Azure dans un environnement sécurisé, puis d’échanger en toute transparence la nouvelle version en production.
Configuration de l’application de fonction Les chaînes de connexion, les variables d’environnement et d’autres paramètres d’application sont définis séparément pour chaque application de fonction. Les valeurs de paramètres d’application de fonction peuvent aussi être lues dans le code comme variables d’environnement.

Ces composants fonctionnent ensemble pour fournir une plateforme complète de bout en bout pour les ingénieurs Application et DevOps afin de développer des architectures serverless qui tirent parti d’Azure Functions.

Vérifiez vos connaissances

1.

Combien de déclencheurs une fonction Azure a-t-elle ?