Choisir les services d’intégration et d’automatisation appropriés dans Azure
Cet article compare les services de cloud computing Microsoft suivants :
- Microsoft Power Automate (anciennement Microsoft Flow)
- Azure Logic Apps
- Azure Functions
- Azure App Service WebJobs
Tous ces services peuvent résoudre des problèmes d’intégration et automatiser des processus métier. Ils peuvent tous définir des entrées, des actions, des conditions et des sorties. Vous pouvez exécuter chacun d’eux selon une planification ou à l’aide d’un déclencheur. Les services présentent des avantages qui leur sont propres. Cet article explique les différences entre eux.
Notes
Si vous recherchez une comparaison plus générale entre Azure Functions et d'autres options de calcul Azure :
- Critères de sélection d’un service de calcul Azure
- Choisir une option de calcul Azure pour les microservices
Pour un résumé et une comparaison des options de services d'automatisation dans Azure :
Power Automate et Azure Logic Apps sont des services d’intégration orientés concepteur pouvant créer des flux de travail. Ils s’intègrent à différentes applications SaaS et d’entreprise.
Power Automate est basé sur la plateforme Azure Logic Apps. Les deux fournissent des concepteurs de flux de travail et des connecteurs similaires.
Power Automate permet aux employés de bureau d’effectuer eux-mêmes des intégrations simples (par exemple, un processus d’approbation dans une bibliothèque de documents SharePoint) sans avoir à passer par les développeurs ou le service informatique. Logic Apps permet également d’effectuer des intégrations avancées (par exemple des processus B2B) en respectant les pratiques Azure DevOps et de sécurité requises au niveau de l’entreprise. Il est courant qu’un flux de travail métier se complexifie au fil du temps.
Le tableau suivant vous aide à déterminer lequel des services Power Automate et Logic Apps répond le mieux à vos besoins d’intégration :
Power Automate | Logic Apps | |
---|---|---|
Utilisateurs | Employés de bureau, utilisateurs de l’entreprise, administrateurs SharePoint | Intégrateurs et développeurs professionnels, professionnels de l’informatique |
Scénarios | Libre-service | Intégrations avancées |
Outil de conception | Dans le navigateur et application mobile, interface utilisateur uniquement | Des versions pour navigateur, Visual Studio Code et Visual Studio avec affichage du code sont disponibles |
Application Lifecycle Management (ALM) | Power Platform fournit des outils qui s’intègrent à DevOps et GitHub Actions pour vous permettre de créer des pipelines automatisés dans le cycle ALM. | Azure DevOps : contrôle de code source, tests, support, automatisation et gestion simplifiée dans Azure Resource Manager |
Expérience administrateur | Gérer le suivi des licences, les stratégies de protection contre la perte des données (DLP) et les environnements Power Automate : Centre d’administration | Gérer les groupes de ressources, les connexions, les accès et la journalisation : Azure portal |
Sécurité | Journaux d’audit de sécurité Microsoft 365, DLP, chiffrement au repos pour les données sensibles | Garantie de sécurité Azure : Sécurité Azure, Microsoft Defender pour le cloud, journaux d’audit |
Functions et Logic Apps sont des services Azure qui proposent des charges de travail sans serveur. Azure Functions est un service de calcul serverless, tandis qu’Azure Logic Apps est une plateforme d’intégration de workflow serverless. Les deux services peuvent créer des orchestrations complexes. Une orchestration est une collection de fonctions ou d’actions dans Azure Logic Apps, que vous pouvez exécuter pour accomplir une tâche complexe. Par exemple, pour traiter un lot de commandes, vous pourrez exécuter plusieurs instances d’une fonction en parallèle, attendre que toutes les instances se terminent, puis exécuter une fonction qui calcule un résultat de l’agrégat.
Pour Azure Functions, vous développez des orchestrations en écrivant du code et en utilisant l’extension Durable Functions. Pour Azure Logic Apps, vous créez des orchestrations en utilisant une interface graphique utilisateur ou en modifiant des fichiers config.
Vous pouvez mélanger et associer les services lorsque vous créez une orchestration, par exemple en appelant des fonctions à partir de workflows d’applications logiques et inversement. Vous pouvez opter pour l’un ou l’autre des services pour créer chacune de vos orchestrations en fonction des capacités de ceux-ci ou de vos préférences. Le tableau suivant répertorie certaines des principales différences entre ces services :
Fonctions durables | Azure Logic Apps | |
---|---|---|
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 |
Surveillance | Azure Application Insights | Portail Azure, Journaux Azure Monitor, Microsoft Defender pour le cloud |
Gestion | API REST, Visual Studio | Portail Azure, API REST, PowerShell, Visual Studio |
Contexte d’exécution | Exécution possible en local ou dans le cloud | S’exécute dans Azure, localement. Pour plus d’informations, consultez la page Présentation d’Azure Logic Apps. |
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 la surveillance avec l’intégration Application Insights.
Vous pouvez utiliser la fonctionnalité WebJobs d’App Service pour exécuter un script ou du code dans le contexte d’une application web App Service. Le Kit de développement logiciel (SDK) WebJobs est une infrastructure conçue pour les WebJobs qui simplifie le code que vous écrivez pour répondre aux événements dans les services Azure. Par exemple, vous pouvez répondre à la création d’un objet blob d’image dans Stockage Azure en créant une image miniature. Le Kit de développement logiciel (SDK) WebJobs s’exécute comme une application de console .NET, que vous pouvez déployer sur un WebJob.
Les WebJobs et le Kit de développement logiciel (SDK) WebJobs fonctionnent mieux ensemble, mais vous pouvez utiliser des WebJobs sans Kit de développement logiciel (SDK) WebJobs et vice versa. Un WebJob peut exécuter n’importe quel programme ou script s’exécutant dans le bac à sable App Service. Une application de console de Kit de développement logiciel (SDK) WebJobs peut s’exécuter là où les applications de console s’exécutent, tels que des serveurs locaux.
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 :
Fonctions | WebJobs avec le SDK WebJobs | |
---|---|---|
Modèle d’application serverless avec mise à l’échelle automatique | ✔ | |
Développement et test dans un navigateur | ✔ | |
Paiement à l’utilisation | ✔ | |
Intégration à Logic Apps | ✔ | |
Événements déclencheurs | Minuteur Objets blob et files d’attente Stockage Azure Files d’attente et rubriques Azure Service Bus 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 Azure Cosmos DB Azure Event Hubs Système de fichiers |
Langues prises en charge | C# F# JavaScript Java Python PowerShell |
C#1 |
Gestionnaires de package | npm et NuGet | NuGet2 |
1 WebJobs (sans le SDK WebJobs) prend en charge des langages tels que C#, Java, JavaScript, Bash, .cmd, .bat, PowerShell, PHP, TypeScript et Python, entre autres. Un WebJob peut exécuter n’importe quel programme ou script pouvant s’exécuter dans le bac à sable App Service.
2 WebJobs (sans le SDK WebJobs) prend en charge NPM et NuGet.
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.
Voici deux scénarios pour lesquels WebJobs peut être le meilleur choix :
- Vous avez besoin de davantage de contrôle sur le code qui écoute les événements, l’objet
JobHost
. Azure Functions offre un nombre limité de méthodes de personnalisation du comportementJobHost
dans le fichierJobHost
. Parfois, vous devez effectuer les opérations qui ne peuvent pas être spécifiées par une chaîne dans un fichier JSON. Par exemple, seul le Kit de développement logiciel (SDK) WebJobs vous permet de configurer une stratégie de nouvelles tentatives personnalisée pour Stockage Azure. - Vous avez une application App Service pour laquelle vous souhaitez exécuter des extraits de code, et vous voulez les gérer ensemble dans le même environnement Azure DevOps.
Pour d’autres scénarios où vous souhaitez exécuter des extraits de code pour l’intégration de services Azure ou tiers, préférez Azure Functions à WebJobs avec le Kit de développement logiciel (SDK) WebJobs.
Vous n’êtes pas obligé de choisir un seul de ces services. Ils s'intègrent les uns aux autres et aux services externes.
Un flux Power Automate peut appeler un workflow Azure Logic Apps. Un workflow Azure Logic Apps peut appeler une fonction dans Azure Functions, et inversement. Par exemple, consultez Créer une fonction qui s’intègre avec Azure Logic Apps.
Entre Power Automate, Logic Apps et Functions, l’expérience d’intégration entre ces services continue à s’améliorer au fil du temps. Vous pouvez créer un composant dans un service et utiliser ce composant dans les autres services.
Vous pouvez obtenir des informations supplémentaires sur les services d’intégration par le biais des liens suivants :
- Leveraging Azure Functions & Azure App Service for integration scenarios (Tirer parti d’Azure Functions et Azure App Service pour les scénarios d’intégration), par Christopher Anderson
- Integrations Made Simple (Les intégrations simplifiées), par Charles Lamanna
- Webcast en direct sur Logic Apps
- Questions fréquentes (FAQ) concernant Power Automate
Commencez en créant votre premier flux, workflow d’application logique ou application de fonction. Sélectionnez l’un des liens suivants :