Découvrir Azure Functions
Azure Functions est une solution serverless qui vous permet d’écrire moins de code, de maintenir une infrastructure plus légère et de réduire les coûts. Au lieu de vous préoccuper du déploiement et de la maintenance des serveurs, l’infrastructure cloud met à votre disposition tous les serveurs à jour nécessaires pour assurer l’exécution de vos applications.
Nous créons souvent des systèmes pour réagir à une série d’événements critiques. Que vous développiez une API Web, réagissiez à des modifications de base de données, traitiez des flux de données IoT ou même gériez des files d’attente de messages, chaque application doit pouvoir exécuter du code lorsque ces événements se produisent.
Azure Functions prend en charge les déclencheurs, qui sont des façons de démarrer l’exécution de votre code et des liaisons, ce qui permet de simplifier le codage pour les données d’entrée et de sortie. Il existe d’autres services d’intégration et d’automatisation dans Azure. Tous ces services peuvent résoudre les problèmes d’intégration et automatiser les processus métier. Ils peuvent tous définir des entrées, des actions, des conditions et des sorties.
Comparer Azure Functions et Azure Logic Apps
Functions et Logic Apps sont des services Azure qui permettent d’avoir des charges de travail serverless. Azure Functions est un service de calcul serverless, tandis qu’Azure Logic Apps est une plateforme d’intégration de flux de travail serverless. Les deux peuvent créer des orchestrations complexes. Une orchestration est une collection de fonctions ou d’étapes, appelées actions dans Logic Apps, qui sont exécutées pour accomplir une tâche complexe.
Pour Azure Functions, vous développez des orchestrations en écrivant du code et en utilisant l’extension Durable Functions. Pour Logic Apps, vous créez des orchestrations en utilisant une interface graphique utilisateur ou en modifiant des fichiers config.
Le tableau suivant liste quelques-unes des principales différences entre Functions et Logic Apps :
| Rubrique | Les fonctions Azure | Applications Logiques |
|---|---|---|
| Développement | Orienté code (impératif) | Orienté concepteur (déclaratif) |
| Connectivité | Environ une douzaine de types de liaison intégrés, écriture de code pour les liaisons personnalisées | Grande collection de connecteurs, Enterprise Integration Pack pour les scénarios B2B, intégration de connecteurs personnalisés |
| Actions | Chaque activité est une fonction Azure ; écriture de code pour les fonctions de l’activité | Grande collection d’actions prédéfinies |
| Supervision | Azure Application Insights | Portail Azure, journaux Azure Monitor |
| Gestion | API REST, Visual Studio | Portail Azure, API REST, PowerShell, Visual Studio |
| Contexte d’exécution | S’exécute dans Azure ou localement | S’exécute dans Azure ou localement |
Comparer Functions et WebJobs
Comme Azure Functions, Azure App Service WebJobs avec le Kit de développement logiciel (SDK) WebJobs est un service d’intégration orienté code conçu pour les développeurs. Les deux reposent sur Azure App Service et prennent en charge des fonctionnalités telles que l’intégration du contrôle de code source, l’authentification et le monitoring avec l’intégration Application Insights.
Azure Functions repose sur le Kit de développement logiciel (SDK) WebJobs, donc il partage beaucoup de déclencheurs d’événements et de connexions à d’autres services Azure. Voici quelques facteurs à prendre en compte quand vous devez choisir entre Azure Functions et WebJobs avec le SDK WebJobs :
| Facteur | Fonctions | WebJobs avec le SDK WebJobs |
|---|---|---|
| Modèle d’application serverless avec mise à l’échelle automatique | Oui | Non |
| Développer et tester dans le navigateur | Oui | Non |
| Tarification par paiement à l’utilisation | Oui | Non |
| Intégration à Logic Apps | Oui | Non |
| Événements de déclencheur | Minuteur Objets blob et files d’attente Stockage Azure Files d’attente et rubriques Azure Service Bus Base de données Azure Cosmos DB Azure Event Hubs HTTP/WebHook (GitHub) Slack) Azure Event Grid |
Minuteur Objets blob et files d’attente Stockage Azure Files d’attente et rubriques Azure Service Bus Base de données Azure Cosmos DB Azure Event Hubs Système de fichiers |
Azure Functions apporte aux développeurs un gain de productivité supérieur par rapport à Azure App Service WebJobs. Il leur offre également davantage d’options pour les langages de programmation, les environnements de développement, l’intégration des services Azure et la tarification. Pour la plupart des scénarios, Azure Functions est le meilleur choix.