Choisir les services d’intégration et d’automatisation appropriés dans AzureChoose the right integration and automation services in Azure

Cet article compare les services de cloud computing Microsoft suivants :This article compares the following Microsoft cloud services:

Tous ces services peuvent résoudre des problèmes d’intégration et automatiser des processus métier.All of these services can solve integration problems and automate business processes. Ils peuvent tous définir des entrées, des actions, des conditions et des sorties.They can all define input, actions, conditions, and output. Vous pouvez exécuter chacun d’eux selon une planification ou à l’aide d’un déclencheur.You can run each of them on a schedule or trigger. Les services présentent des avantages qui leur sont propres. Cet article explique les différences entre eux.Each service has unique advantages, and this article explains the differences.

Si vous recherchez une comparaison plus générale entre Azure Functions et d’autres options de calcul Azure, consultez Critères de sélection d’un service de calcul Azure et Choix d’une option de calcul Azure pour les microservices.If you're looking for a more general comparison between Azure Functions and other Azure compute options, see Criteria for choosing an Azure compute service and Choosing an Azure compute option for microservices.

Comparer Microsoft Power Automate et Azure Logic AppsCompare Microsoft Power Automate and Azure Logic Apps

Power Automate et Logic Apps sont des services d’intégration orientés concepteur pouvant créer des workflows.Power Automate and Logic Apps are both designer-first integration services that can create workflows. Ils s’intègrent à différentes applications SaaS et d’entreprise.Both services integrate with various SaaS and enterprise applications.

Power Automate repose sur Logic Apps.Power Automate is built on top of Logic Apps. Ils partagent le même concepteur de workflows et les mêmes connecteurs.They share the same workflow designer and the same connectors.

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.Power Automate empowers any office worker to perform simple integrations (for example, an approval process on a SharePoint Document Library) without going through developers or IT. 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.Logic Apps can also enable advanced integrations (for example, B2B processes) where enterprise-level Azure DevOps and security practices are required. Il est courant qu’un flux de travail métier se complexifie au fil du temps.It's typical for a business workflow to grow in complexity over time. Par conséquent, vous pouvez commencer par un flux et le convertir ensuite en application logique selon vos besoins.Accordingly, you can start with a flow at first, and then convert it to a logic app as needed.

Le tableau suivant vous aide à déterminer lequel des services Power Automate et Logic Apps répond le mieux à vos besoins d’intégration :The following table helps you determine whether Power Automate or Logic Apps is best for a particular integration:

Power AutomatePower Automate Logic AppsLogic Apps
UtilisateursUsers Employés de bureau, utilisateurs de l’entreprise, administrateurs SharePointOffice workers, business users, SharePoint administrators Intégrateurs et développeurs professionnels, professionnels de l’informatiquePro integrators and developers, IT pros
ScénariosScenarios Libre-serviceSelf-service Intégrations avancéesAdvanced integrations
Outil de conceptionDesign tool Dans le navigateur et application mobile, interface utilisateur uniquementIn-browser and mobile app, UI only Dans le navigateur et Visual Studio, mode Code disponibleIn-browser and Visual Studio, Code view available
Application Lifecycle Management (ALM)Application lifecycle management (ALM) Concevoir et tester dans des environnements hors production, et passer en production lorsque vous êtes prêtDesign and test in non-production environments, promote to production when ready Azure DevOps : contrôle de code source, tests, support, automatisation et gestion simplifiée dans Azure Resource ManagerAzure DevOps: source control, testing, support, automation, and manageability in Azure Resource Manager
Expérience administrateurAdmin experience 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’administrationManage Power Automate environments and data loss prevention (DLP) policies, track licensing: Admin center Gérer les groupes de ressources, les connexions, les accès et la journalisation : Azure portalManage resource groups, connections, access management, and logging: Azure portal
SécuritéSecurity Journaux d’audit de sécurité et conformité Office 365, DLP, chiffrement au repos pour les données sensiblesOffice 365 Security and Compliance audit logs, DLP, encryption at rest for sensitive data Assurance sécurité d’Azure : Sécurité Azure, Azure Security Center, journaux d’auditSecurity assurance of Azure: Azure security, Azure Security Center, audit logs

Comparer Azure Functions et Azure Logic AppsCompare Azure Functions and Azure Logic Apps

Functions et Logic Apps sont des services Azure qui proposent des charges de travail sans serveur.Functions and Logic Apps are Azure services that enable serverless workloads. Azure Functions est un service de calcul serverless. Azure Logic Apps fournit des workflows serverless.Azure Functions is a serverless compute service, whereas Azure Logic Apps provides serverless workflows. Les deux services peuvent créer des orchestrations complexes.Both can create complex orchestrations. 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.An orchestration is a collection of functions or steps, called actions in Logic Apps, that are executed to accomplish a complex task. 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.For example, to process a batch of orders, you might execute many instances of a function in parallel, wait for all instances to finish, and then execute a function that computes a result on the aggregate.

Pour Azure Functions, vous développez des orchestrations en écrivant du code et en utilisant l’extension Durable Functions.For Azure Functions, you develop orchestrations by writing code and using the Durable Functions extension. Pour Logic Apps, vous créez des orchestrations en utilisant une interface graphique utilisateur ou en modifiant des fichiers config.For Logic Apps, you create orchestrations by using a GUI or editing configuration files.

Vous pouvez mélanger et associer les services lorsque vous créez une orchestration, en appelant des fonctions à partir d’applications logiques et inversement.You can mix and match services when you build an orchestration, calling functions from logic apps and calling logic apps from functions. 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.Choose how to build each orchestration based on the services' capabilities or your personal preference. Le tableau suivant liste certaines des principales différences entre ces services :The following table lists some of the key differences between these:

Fonctions durablesDurable Functions Logic AppsLogic Apps
DéveloppementDevelopment Orienté code (impératif)Code-first (imperative) Orienté concepteur (déclaratif)Designer-first (declarative)
ConnectivitéConnectivity Environ une douzaine de types de liaison intégrés, écriture de code pour les liaisons personnaliséesAbout a dozen built-in binding types, write code for custom bindings Grande collection de connecteurs, Enterprise Integration Pack pour les scénarios B2B, intégration de connecteurs personnalisésLarge collection of connectors, Enterprise Integration Pack for B2B scenarios, build custom connectors
ActionsActions Chaque activité est une fonction Azure ; écriture de code pour les fonctions de l’activitéEach activity is an Azure function; write code for activity functions Grande collection d’actions prédéfiniesLarge collection of ready-made actions
SurveillanceMonitoring Azure Application InsightsAzure Application Insights Portail Azure, journaux d’activité Azure MonitorAzure portal, Azure Monitor logs
GestionManagement API REST, Visual StudioREST API, Visual Studio Portail Azure, API REST, PowerShell, Visual StudioAzure portal, REST API, PowerShell, Visual Studio
Contexte d’exécutionExecution context Exécution possible en local ou dans le cloudCan run locally or in the cloud Exécution uniquement dans le cloudRuns only in the cloud

Comparer Functions et WebJobsCompare Functions and 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.Like Azure Functions, Azure App Service WebJobs with the WebJobs SDK is a code-first integration service that is designed for developers. 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.Both are built on Azure App Service and support features such as source control integration, authentication, and monitoring with Application Insights integration.

WebJobs et Kit de développement logiciel (SDK) WebJobsWebJobs and the WebJobs SDK

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.You can use the WebJobs feature of App Service to run a script or code in the context of an App Service web app. 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.The WebJobs SDK is a framework designed for WebJobs that simplifies the code you write to respond to events in Azure services. Par exemple, vous pouvez répondre à la création d’un objet blob d’image dans Stockage Azure en créant une image miniature.For example, you might respond to the creation of an image blob in Azure Storage by creating a thumbnail image. 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.The WebJobs SDK runs as a .NET console application, which you can deploy to a 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.WebJobs and the WebJobs SDK work best together, but you can use WebJobs without the WebJobs SDK and vice versa. Un WebJob peut exécuter n’importe quel programme ou script s’exécutant dans le bac à sable App Service.A WebJob can run any program or script that runs in the App Service sandbox. 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.A WebJobs SDK console application can run anywhere console applications run, such as on-premises servers.

Tableau de comparaisonComparison table

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.Azure Functions is built on the WebJobs SDK, so it shares many of the same event triggers and connections to other Azure services. Voici quelques facteurs à prendre en compte quand vous devez choisir entre Azure Functions et WebJobs avec le SDK WebJobs :Here are some factors to consider when you're choosing between Azure Functions and WebJobs with the WebJobs SDK:

FonctionsFunctions WebJobs avec le Kit de développement logiciel (SDK) WebJobsWebJobs with WebJobs SDK
Modèle d’application serverless avec mise à l’échelle automatiqueServerless app model with automatic scaling
Développement et test dans un navigateurDevelop and test in browser
Paiement à l’utilisationPay-per-use pricing
Intégration à Logic AppsIntegration with Logic Apps
Événements déclencheursTrigger events MinuteurTimer
Objets blob et files d’attente Stockage AzureAzure Storage queues and blobs
Files d’attente et rubriques Azure Service BusAzure Service Bus queues and topics
Azure Cosmos DBAzure Cosmos DB
Azure Event HubsAzure Event Hubs
HTTP/WebHook (GitHub, Slack)HTTP/WebHook (GitHub, Slack)
Azure Event GridAzure Event Grid
MinuteurTimer
Objets blob et files d’attente Stockage AzureAzure Storage queues and blobs
Files d’attente et rubriques Azure Service BusAzure Service Bus queues and topics
Azure Cosmos DBAzure Cosmos DB
Azure Event HubsAzure Event Hubs
Système de fichiersFile system
Langues prises en chargeSupported languages C#C#
F#F#
JavaScriptJavaScript
JavaJava
PythonPython
PowerShellPowerShell
C#1C#1
Gestionnaires de packagePackage managers NPM et NuGetNPM and NuGet NuGet2NuGet2

1 WebJobs (sans le SDK WebJobs) prend en charge C#, Java, JavaScript, Bash, .cmd, .bat, PowerShell, PHP, TypeScript et Python, entre autres.1 WebJobs (without the WebJobs SDK) supports C#, Java, JavaScript, Bash, .cmd, .bat, PowerShell, PHP, TypeScript, Python, and more. Cette liste n’est pas exhaustive.This is not a comprehensive list. Un WebJob peut exécuter n’importe quel programme ou script pouvant s’exécuter dans le bac à sable App Service.A WebJob can run any program or script that can run in the App Service sandbox.

2 WebJobs (sans le SDK WebJobs) prend en charge NPM et NuGet.2 WebJobs (without the WebJobs SDK) supports NPM and NuGet.

RésuméSummary

Azure Functions apporte aux développeurs un gain de productivité supérieur par rapport à Azure App Service WebJobs.Azure Functions offers more developer productivity than Azure App Service WebJobs does. 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.It also offers more options for programming languages, development environments, Azure service integration, and pricing. Pour la plupart des scénarios, Azure Functions est le meilleur choix.For most scenarios, it's the best choice.

Voici deux scénarios pour lesquels WebJobs peut être le meilleur choix :Here are two scenarios for which WebJobs may be the best choice:

  • Vous avez besoin de davantage de contrôle sur le code qui écoute les événements, l’objet JobHost.You need more control over the code that listens for events, the JobHost object. Azure Functions offre un nombre limité de méthodes de personnalisation du comportement JobHost dans le fichier host.json.Functions offers a limited number of ways to customize JobHost behavior in the host.json file. Parfois, vous devez effectuer les opérations qui ne peuvent pas être spécifiées par une chaîne dans un fichier JSON.Sometimes you need to do things that can't be specified by a string in a JSON file. 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.For example, only the WebJobs SDK lets you configure a custom retry policy for Azure Storage.
  • 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.You have an App Service app for which you want to run code snippets, and you want to manage them together in the same Azure DevOps environment.

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.For other scenarios where you want to run code snippets for integrating Azure or third-party services, choose Azure Functions over WebJobs with the WebJobs SDK.

Power Automate, Logic Apps, Functions et WebJobs ensemblePower Automate, Logic Apps, Functions, and WebJobs together

Vous n’êtes pas obligé de choisir un seul de ces services.You don't have to choose just one of these services. Vous pouvez intégrer plusieurs services entre eux mais aussi des services externes.They integrate with each other as well as they do with external services.

Un flux peut appeler une application logique.A flow can call a logic app. Une application logique peut appeler une fonction, et une fonction peut appeler une application logique.A logic app can call a function, and a function can call a logic app. Consultez par exemple Créer une fonction qui s’intègre avec Azure Logic Apps.See, for example, Create a function that integrates with Azure Logic Apps.

L’intégration entre Power Automate, Logic Apps et Functions continue de s’améliorer au fil du temps.The integration between Power Automate, Logic Apps, and Functions continues to improve over time. Vous pouvez créer quelque chose dans un service et l’utiliser dans les autres services.You can build something in one service and use it in the other services.

Vous pouvez obtenir des informations supplémentaires sur les services d’intégration par le biais des liens suivants :You can get more information on integration services by using the following links:

Étapes suivantesNext steps

Commencez en créant votre premier flux, application logique ou application de fonction.Get started by creating your first flow, logic app, or function app. Sélectionnez l’un des liens suivants :Select any of the following links: