Choisir les services d’intégration et d’automatisation appropriés dans Azure

Cet article compare les services de cloud computing Microsoft suivants :

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 :

Pour un résumé et une comparaison des options de services d'automatisation dans Azure :

Comparer Microsoft Power Automate et Azure Logic Apps

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

Comparer Azure Functions et Azure Logic Apps

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.

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 la surveillance avec l’intégration Application Insights.

WebJobs et Kit de développement logiciel (SDK) WebJobs

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.

Tableau de comparaison

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.

Résumé

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 comportement JobHost dans le fichier JobHost. 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.

Power Automate, Logic Apps, Functions et WebJobs ensemble

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 :

Étapes suivantes

Commencez en créant votre premier flux, workflow d’application logique ou application de fonction. Sélectionnez l’un des liens suivants :