Identifier les options des technologies

Effectué

Vous n’avez pas beaucoup de temps pour intégrer correctement les processus métier entre votre système de location de vélos existant et le système utilisé sur l’autre campus. Vous souhaitez tirer le meilleur parti de votre expertise Azure existante et avez lu que Azure propose plusieurs technologies différentes que vous pouvez utiliser pour résoudre des problèmes tels que celui-ci.

Dans cette unité, nous allons explorer les options disponibles des technologies Azure pour automatiser et intégrer vos processus métier.

Problèmes courants dans les entreprises

Dans le monde de l’entreprise, l’un des moyens de garantir un service et des produits de qualité aux utilisateurs consiste à concevoir et à implémenter des processus métier stricts. Ces processus peuvent impliquer plusieurs étapes, personnes et packages logiciels. Chaque processus peut s’exécuter dans une série d’activités simple que les acteurs effectuent l’une après l’autre, ou qu’ils peuvent chaîner ou utiliser en boucle. Chaque processus peut s’exécuter rapidement, ou prendre plusieurs jours ou semaines.

Une entreprise rencontre fréquemment des problèmes lorsqu’elle fusionne avec une deuxième entreprise ou s’intègre à une organisation partenaire. Comment les administrateurs peuvent-ils intégrer les différents processus utilisés dans les deux organisations, qui peuvent avoir été implémentés en utilisant des logiciels différents ?

Les processus métier modélisés dans les logiciels sont souvent appelés workflows. Azure comprend quatre technologies différentes que vous pouvez utiliser pour générer et implémenter des workflows qui intègrent plusieurs systèmes :

  • Azure Logic Apps
  • Microsoft Power Automate
  • WebJobs
  • Azure Functions

Ces quatre technologies présentent certaines similitudes. Par exemple :

  • Elles peuvent toutes accepter des entrées. Une entrée est un élément de données ou un fichier qui est fourni au workflow.
  • Elles peuvent toutes exécuter des actions. Une action est une opération simple que le workflow exécute, et qui peut souvent modifier des données ou provoquer l’exécution d’une autre action.
  • Elles peuvent toutes inclure des conditions. Une condition est un test, souvent effectué sur une entrée, qui peut décider de l’action suivante à exécuter.
  • Elles peuvent toutes produire des sorties. Une sortie est un élément de données ou un fichier qui est créé par le workflow.

De plus, les workflows créés avec ces technologies peuvent démarrer d’après une planification ou un événement externe peut les déclencher.

Technologies orientées conception

Quand des analystes métier se réunissent pour planifier un processus métier, ils peuvent dessiner un organigramme sur papier. Avec Azure Logic Apps et Microsoft Power Automate, vous pouvez adopter une approche similaire pour concevoir un workflow. Ils incluent les interfaces utilisateur où vous pouvez dessiner le flux de travail. Il s’agit de l’approche orientée conception.

Azure Logic Apps

Azure Logic Apps est un service dans Azure qui permet d’automatiser, orchestrer et intégrer les composants hétérogènes d’une application distribuée. En utilisant l’approche orientée conception dans Azure Logic Apps, vous pouvez concevoir des workflows complexes qui modélisent des processus métier complexes. La capture d’écran suivante montre le concepteur de workflow et le canevas de conception que vous utilisez pour définir votre workflow.

Capture d’écran du concepteur de workflow Azure Logic Apps dans le portail Azure.

Si vous préférez travailler dans du code, vous pouvez également créer ou modifier un workflow dans une notation JSON en utilisant la vue Code, comme illustré dans la capture d’écran suivante.

Capture d’écran de l’éditeur de code Azure Logic Apps dans le portail Azure.

Une des raisons pour lesquelles Azure Logic Apps est particulièrement efficace pour l’intégration est qu’il inclut plus de 1 000 connecteurs. Un connecteur est un composant d’application logique qui fournit une interface vers un service externe. Par exemple, le connecteur X vous permet d’envoyer et de récupérer des billets courts, tandis que le connecteur Office 365 Outlook vous permet de gérer vos e-mails, calendrier et contacts. Azure Logic Apps propose des centaines de connecteurs prédéfinis que vous pouvez utiliser pour créer vos applications. Si vous avez un système inhabituel ou unique que vous voulez appeler depuis Azure Logic Apps, vous pouvez créer votre propre connecteur si votre système expose une API REST.

Microsoft Power Automate

Microsoft Power Automate est un service qui permet de créer des workflows, même si vous n’avez aucune expérience en informatique ou en développement. Vous pouvez créer des workflows qui intègrent et orchestrent de nombreux composants différents en utilisant le site web ou l’application mobile Power Automate.

Vous pouvez créer quatre types de flux :

  • Automatisé : Démarre suite à un événement déclencheur. Par exemple, l’événement peut être l’arrivée d’un nouveau billet court ou d’un nouveau fichier en cours de chargement.
  • Bouton : Exécute une tâche répétitive avec un seul appui sur votre appareil mobile.
  • Planifié : s’exécute régulièrement. Par exemple, une fois par semaine, à une date spécifique ou au bout de 10 heures.
  • Processus métier : Modélise un processus métier, comme le processus de commande de pièces ou la procédure de réclamation. Le processus du flux peut avoir : des notifications envoyées aux personnes appropriées, avec leur approbation enregistrée, des dates du calendrier pour les étapes, et l’heure d’enregistrement des étapes du flux.

Microsoft Power Automate fournit une aire de conception facile à utiliser pour créer ces types de flux. Comme l’illustre la capture d’écran suivante, le concepteur de flux facilite la conception et la configuration de votre processus.

Capture d’écran du concepteur Microsoft Power Automate montrant un workflow composé d’un déclencheur de fichier, d’une action Office pour obtenir le profil d’un utilisateur et d’une action Outlook pour envoyer un e-mail.

Microsoft Power Automate s’appuie en fait sur Azure Logic Apps. Cela signifie que Power Automate prend en charge les mêmes connecteurs et actions qu’Azure Logic Apps. Vous pouvez également utiliser des connecteurs personnalisés dans Microsoft Power Automate.

Comparaison des technologies orientées conception

Comme vous pouvez le voir dans le tableau suivant, Microsoft Power Automate est plus approprié pour du personnel non technique à utiliser. Si vos concepteurs de workflows sont des professionnels de l’informatique, des développeurs ou des utilisateurs de DevOps, Azure Logic Apps est généralement mieux adapté.

Microsoft Power Automate Azure Logic Apps
Utilisateurs concernés Employés de bureau et analystes métier Développeurs et professionnels de l’informatique
Scénarios concernés Création de workflow libre-service Projets d’intégration avancée
Outils de conception Interface graphique utilisateur uniquement. Navigateur et application mobile Concepteur de workflow dans le navigateur, Visual Studio Code et Visual Studio. Modification de code possible.
Gestion du cycle de vie des applications Power Automate inclut des environnements de test et de production. Le code source Azure Logic Apps peut être inclus dans des référentiels Azure DevOps ou d’autres systèmes de gestion de code source comme GitHub.

Technologies orientées code

Les développeurs au sein de votre équipe préfèrent probablement écrire du code quand ils veulent orchestrer différentes applications métier et les intégrer en un seul workflow. C’est le cas quand vous devez contrôler davantage les performances de votre workflow ou écrire du code personnalisé dans le cadre du processus métier. Pour ces personnes, Azure inclut WebJobs et Functions.

WebJobs et SDK WebJobs

Azure App Service est un service d’hébergement cloud pour les applications web, les back-ends mobiles et les API RESTful. Ces applications doivent souvent effectuer une tâche en arrière-plan. Par exemple, dans votre système de location de vélos, quand un utilisateur charge une photo d’un vélo, vous risquez de devoir générer une photo miniature plus petite.

WebJobs fait partie d’Azure App Service, que vous pouvez utiliser pour exécuter automatiquement un programme ou un script. Il existe deux types de tâches web :

  • Continu : Démarre immédiatement quand le travail web est créé et s’exécute dans une boucle continue. Par exemple, vous pouvez utiliser une tâche web continue pour vérifier si un dossier partagé contient une nouvelle photo.
  • Déclenché : Démarre en fonction d’un événement de liaison, d’une planification ou quand vous le déclenchez manuellement (à la demande).

Pour déterminer les actions effectuées par votre travail web, vous pouvez écrire du code dans différents langages. Par exemple, vous pouvez créer un script de la tâche web en écrivant du code dans un script d’interpréteur de commandes (Windows, PowerShell, Bash). Vous pouvez aussi écrire un programme en PHP, Python, Java ou JavaScript.

Vous pouvez également programmer une tâche web à l’aide de .NET et d’un langage .NET tel que C# ou VB.NET. Dans ce cas, vous pouvez également utiliser le SDK WebJobs pour faciliter la tâche. Le SDK inclut un éventail de classes, telles que JobHostConfiguration et HostBuilder, qui réduisent la quantité de code requise pour interagir avec Azure App Service.

Le SDK WebJobs prend uniquement en charge C# et le gestionnaire de package NuGet.

Azure Functions

Une fonction Azure est un moyen simple d’exécuter de petites parties de code dans le cloud sans avoir à se soucier de l’infrastructure nécessaire pour héberger ce code. Vous pouvez écrire la fonction en C#, Java, JavaScript, PowerShell, Python ou l’un des langages listés dans l’article Langages pris en charge dans Azure Functions. Par ailleurs, avec l’option de plan consommation, vous payez uniquement pour la durée d’exécution du code. Azure met automatiquement votre fonction à l’échelle selon la demande des utilisateurs.

Quand vous créez une fonction Azure, vous pouvez commencer par écrire son code dans le portail. Si vous avez besoin d’une gestion du code source, vous pouvez aussi utiliser des référentiels GitHub ou Azure DevOps.

Pour créer une fonction Azure, choisissez parmi l’éventail de modèles. La liste suivante est un exemple de certains des modèles mis à votre disposition :

  • Déclencheur HTTP : Si vous souhaitez que le code s’exécute en réponse à une demande envoyée par le biais du protocole HTTP.
  • Déclencheur de minuteur : Si vous souhaitez que le code s’exécute d’après une planification.
  • Déclencheur de stockage d’objets blob : Si vous souhaitez que le code s’exécute quand un nouvel objet blob est ajouté à un compte de stockage Azure.
  • Déclencheur Cosmos DB : Si vous souhaitez que le code s’exécute en réponse à l’insertion ou à la mise à jour de documents dans une base de données NoSQL.

Azure Functions peut s’intégrer à de nombreux services différents, qu’ils viennent d’Azure ou de fournisseurs tiers. Ces services peuvent déclencher votre fonction, lui envoyer une entrée de données ou recevoir de celle-ci une sortie de données.

Comparaison des technologies orientées code

Dans la plupart des cas, la simplicité de l’administration et le modèle de codage plus souple que procure Azure Functions peuvent vous amener à les préférer à WebJobs. Toutefois, vous pouvez choisir WebJobs pour les raisons suivantes :

  • Vous souhaitez que le code fasse partie d’une application App Service existante et qu’il soit géré dans le cadre de cette application ; par exemple dans le même environnement Azure DevOps.
  • Vous avez besoin de contrôler étroitement l’objet qui écoute les événements déclenchant le code. Cet objet est la classe JobHost, dont vous pouvez modifier le comportement dans WebJobs avec plus de souplesse.
Azure WebJobs Azure Functions
Langues prises en charge C# si vous utilisez le SDK WebJobs C#, Java, JavaScript, PowerShell, etc.
Mise à l’échelle automatique Non Oui
Développement et test dans un navigateur Non Oui
Paiement à l’utilisation Non Oui
Intégration à Azure Logic Apps Non Oui
Gestionnaires de package NuGet si vous utilisez le SDK WebJobs NuGet et npm
Peut faire partie d’une application App Service Oui Oui (hébergé sous un plan App Service)
Fournit un étroit contrôle de JobHost Oui Non

Maintenant que vous savez quelles technologies orientées conception et code sont à votre disposition, comment allez-vous affiner votre choix ? Nous examinerons cette question dans l’unité suivante.