Azure Functions est un service de calcul basé sur le cloud. Les fonctions fournissent un calcul serverless piloté et évolutif pour Azure. Dans certains cas, vous n’êtes facturé que pour la durée d’exécution de votre code de fonction.
Vous pouvez utiliser Azure Functions pour exécuter votre code lorsque vous en avez besoin. Par exemple, votre code peut s’exécuter à la suite d’un événement ou d’une modification, par exemple lorsqu’un message arrive dans une file d’attente ou lorsqu’un objet stocké est mis à jour.
Les déclencheurs
Azure Functions vous permet de définir des déclencheurs qui démarrent l’exécution de votre code. Les déclencheurs peuvent également traiter des entrées pour transmettre des données à vos fonctions. Chaque fonction ne peut avoir qu’un seul déclencheur. Voici quelques-uns des types de déclencheurs pris en charge par Azure Functions :
- Stockage : vous pouvez écouter des événements provenant de bases de données telles qu’Azure Cosmos DB lorsqu’une nouvelle ligne est insérée, par exemple.
- Événements : Event Grid et Event Hubs produisent des événements qui peuvent déclencher votre code.
- Code HTTP : les requêtes Web et les webhooks peuvent déclencher du code HTTP.
- Files d’attente : les messages de file d’attente peuvent également être traités.
- Minuteur : le code peut être appelé avec un certain intervalle de temps.
Utilisez des liaisons pour vous connecter à des sources de données.
Les liaisons sont disponibles en deux versions, l’entrée et la sortie. Une liaison de sortie permet d’écrire des données dans la source de données, par exemple, de placer un message dans une file d’attente ou une nouvelle ligne dans une base de données. Les liaisons d’entrée peuvent être utilisées pour transmettre des données à votre fonction à partir d’une source de données différente de celle qui a déclenché la fonction.
Fonctionnalités
Plans d’hébergement flexibles. Il existe trois plans d’hébergement différents pour répondre aux besoins de votre entreprise.
- Plan de consommation. Il s’agit de l’option d’hébergement entièrement sans serveur pour Functions. Les fonctions sont mises à l’échelle automatiquement et vous ne payez pour les ressources de calcul que lorsque vos fonctions sont en cours d’exécution. Ce plan fournit un calcul rentable pour les charges de travail de processus courts qui ont tendance à être plus intermittentes avec des charges moins prévisibles.
- Plan Premium. Dans ce plan, vos fonctions sont maintenues initialisées, ce qui signifie qu’il n’y a pas de délai après avoir été inactif. Il s’agit d’un bon plan à choisir lorsque votre application de fonction doit s’exécuter pendant de longues périodes, mais que vous avez toujours besoin de l’échelle dynamique. Ce plan vous permet également de commencer à mettre à l’échelle avec plus de ressources plus rapidement qu’avec le plan de consommation. Dans le plan de consommation, il y a également des limites sur le temps d’exécution, que ce plan peut remplacer. Bien que vous bénéficiiez toujours des avantages en termes de coûts de la mise à l’échelle dynamique, vous payez plus.
- Forfait dédié. Vous exécutez vos fonctions avec un plan App Service standard. C’est idéal pour les scénarios où vos fonctions doivent s’exécuter en continu. Un autre avantage est que vous contrôlez entièrement la façon dont l’application évolue et que vous pouvez plus facilement prévoir les coûts. Il s’agit également d’un bon choix lorsque vous disposez d’un plan App Service existant, mais sous-utilisé.
- Mise à l’échelle dynamique. Dans la plupart des plans, les fonctions sont mises à l’échelle dynamiquement en fonction de la charge. Lorsque la demande d’exécution augmente, davantage de ressources sont allouées automatiquement au service et, lorsque les demandes diminuent, les ressources et les instances d’application diminuent automatiquement. Dans le plan de consommation, vous ne payez pas du tout pour les fonctions inactives.
- Architecture basée sur les événements. Les fonctions sont censées être petites et ciblées et traiter les données entrantes et être effectuées ou déclencher un nouvel événement à leur tour. Parmi les domaines d’utilisation courants des fonctions Azure, citons l’envoi d’e-mails, le démarrage de la sauvegarde, le traitement des commandes, la planification de tâches telles que le nettoyage de la base de données, l’envoi de notifications, de messages et le traitement des données IoT.
le déclencheur est la raison pour laquelle le code s’exécute et les liaisons sont ce qui se connecte à une source de données via la configuration.
Composants Azure Functions
| Composant | Description |
|---|---|
| Déclencheurs de fonction | Les déclencheurs sont ce qui provoque l’exécution d’une fonction. Un déclencheur définit la façon dont une fonction est appelée et une fonction doit avoir exactement un déclencheur. |
| Liaisons de fonction | La liaison à une fonction est un moyen de connecter déclarativement 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 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 Kit de développement logiciel (SDK) client dans vos fonctions, comme vous le feriez normalement lors de la connexion à des services. |
| Exécution de la fonction | Azure Functions prend actuellement en charge plusieurs versions de l’hôte d’exécution. Les fonctions prennent également en charge de nombreux environnements d’exécution différents tels que .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 à l’aide des outils principaux Azure Functions. |
| Gestion des API | APIM assure la sécurité et le routage de vos points de terminaison de fonction déclenchés par HTTP afin de les exposer en tant que véritable 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 des environnements différents exposés via un point de terminaison accessible au public. Les emplacements vous permettent de tester une nouvelle version de vos fonctions dans Azure dans un environnement sécurisé, puis de basculer de manière transparente la nouvelle version en production. |
| Configuration de l’application de fonction | Les chaînes de connexion, les variables d’environnement et les autres paramètres d’application sont définis séparément pour chaque application de fonction. Les valeurs des paramètres de l’application de fonction peuvent être lues dans le code en tant que variables d’environnement. |
Quand utiliser Azure Functions ?
Étant donné qu’Azure Functions utilise une architecture basée sur les événements, il existe de nombreux cas intéressants où une telle architecture peut être appliquée. Voici une liste non exhaustive de scénarios adaptés :
- Rappels et notifications. Azure Functions dispose d’un déclencheur qui peut être chargé de s’exécuter à certains intervalles, ce qui facilite l’implémentation d’un tel scénario. Il peut y avoir des scénarios où l’obtention d’une notification peut être critique pour l’entreprise.
- Tâches planifiées. Tâches susceptibles d’utiliser les mêmes déclencheurs temporels. Dans ce cas, il peut y avoir des tâches qui doivent être effectuées à certains intervalles, par exemple, le nettoyage de données ou la recherche d’un élément de données.
- API expérimentales. Si vous utilisez le plan Consommation, avec Functions, vous pouvez passer des millions d’appels et payer très peu. Une chose à garder à l’esprit est que tout type de stockage entraîne un coût.Un exemple est l’écriture dans une base de données avec une fonction. Ce plan est idéal pour le prototypage ou pour les start-ups. Dans ce dernier cas, si vous avez autant d’appels à vos fonctions, cela signifie très probablement que vous avez des clients payants. Par conséquent, Azure Functions s’adapte à votre entreprise. Au fur et à mesure que votre entreprise se développe, vous pouvez également envisager d’autres plans d’hébergement.
- Des flux d’affaires irréguliers mais importants. L’obtention d’un nouveau client et l’intégration de ce client sont un exemple où votre code a une bonne raison de s’exécuter. Un tel flux consiste probablement en des opérations telles que l’interaction avec un magasin de données, l’envoi d’e-mails, etc.
- Basé sur la file d’attente. Vous avez peut-être une application de vente de billets et les demandes doivent être traitées dans une file d’attente comme le mode.
- Traitement des données en temps réel. S’il est combiné avec Azure SignalR, Azure Functions peut être configuré pour traiter des données à la demande.
- Analysez le flux IoT. Il est possible de collecter et de traiter des données à partir d’appareils IoT.
- Traiter les téléchargements de fichiers. Exécutez du code lorsqu’un fichier est téléchargé ou modifié dans un stockage d’objets blob.
- Flux de travail sans serveur. Une série de fonctions peut être enchaînée et vous pouvez introduire un état qui permet de concevoir des flux de travail complexes et de longue durée via des fonctions durables. Un autre choix pour les flux de travail est celui des applications logiques qui peuvent surveiller des événements externes, exécuter une logique de branchement et appeler des fonctions en conséquence.
Il existe de nombreux autres scénarios dans lesquels il est judicieux d’utiliser Azure Functions, ce qui précède sert d’inspiration ou d’exemple pour savoir comment vous pouvez innover dans le cloud lors de l’application d’un raisonnement et d’une architecture basés sur les événements.

Laisser un commentaire