Quand choisir Azure Functions pour exécuter votre logique métier

Effectué

Maintenant, examinons un autre processus de notre entreprise de location de vélos et déterminons la technologie qui répond le mieux à nos besoins. Nous passons en revue les aspects techniques du processus, le public cible et la façon dont notre processus doit évoluer.

Scénario

Vos techniciens utilisent actuellement une feuille de calcul pour enregistrer les actions qu’ils effectuent afin de réparer et entretenir chaque vélo. Des difficultés surgissent quand des pièces de rechange sont nécessaires, car le personnel n’a aucun moyen de savoir si un vélo est en attente de réparation ou de pièces de rechange. Ainsi, des vélos sont loués aux clients avec des plaquettes de frein usées, des pneus plats et d’autres défauts qui peuvent nuire à l’image de marque de l’entreprise de location.

Vous souhaitez mettre en place un système qui régit le processus de maintenance et de réparation, et qui permet à tout le monde de trouver des réponses aux questions suivantes.

  • Quelles tâches ont été effectuées sur un vélo ?
  • Quelles sont les tâches à effectuer sur un vélo pour pouvoir le relouer ?
  • Quels sont les vélos disponibles à la location ?
  • Quels sont les vélos non disponibles à la location ?
  • Pour chaque vélo qui n’est pas disponible :
    • Pourquoi nous ne pouvons pas le louer ?
    • Est-ce que nous attendons des pièces et si oui, lesquelles ?
    • Quand le vélo est-il susceptible d’être à nouveau disponible à la location ?

Vous allez intégrer ce système au processus de réservation et de location de vélos à partir de la dernière unité. Dans ce cas, lorsque le personnel en magasin recherche des vélos disponibles, il ne trouve que les vélos actuellement disponibles en location. Votre responsable vous a confié le développement de ce projet.

Processus métier

Vous voulez être sûr que les techniciens en vélos sur les deux campus respectent le workflow suivant quand ils effectuent la maintenance d’un vélo après une location :

Decision flow diagram detailing the logic for the Bike maintenance workflow.

Les détails sont les suivants :

  1. Un client restitue un vélo à n’importe quel emplacement. Le processus de maintenance du vélo démarre.
  2. Un technicien marque le vélo comme étant non disponible.
  3. Un technicien effectue une liste complète de contrôles, portant notamment sur les pneus, les freins, la chaîne et les feux.
  4. De nouvelles pièces sont-elles nécessaires ?
    1. De nouvelles pièces sont nécessaires, mais nous ne les avons pas en stock.
      1. Le technicien commande les nouvelles pièces.
      2. Les pièces arrivent.
    2. Les nouvelles pièces sont installées.
  5. Un technicien procède aux derniers changements.
  6. Un technicien marque le vélo comme disponible à la location.

Choisir une technologie

Pour implémenter le processus métier et l’intégrer à la base de données des emplacements de vélos, prenons en considération l’ensemble de technologies suivant.

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

Comme dans le scénario précédent, chacune de ces technologies peut servir à générer le workflow. Toutefois, il existe deux questions qui déterminent le meilleur choix.

Technologie orientée conception ou orientée code ?

Pour implémenter ce workflow, utiliser seulement Logic Apps ou Power Automate serait difficile. Même si nous n’avons pas beaucoup d’informations détaillées, il est clair que ce processus a besoin d’accéder à un système de gestion des stocks et de passer des commandes auprès d’entreprises de pièces de rechange tierces. Il s’agit d’une nouvelle logique métier, qui n’impose pas l’adoption d’une approche orientée conception. Nous pouvons encapsuler notre solution dans un connecteur personnalisé pour l’intégrer à d’autres workflows créés avec Logic Apps ou Power Automate. En tant que développeur, comme vous disposez d’une plus grande souplesse pour prendre en charge ce scénario au moyen d’une approche orientée code, nous allons procéder ainsi !

Azure Functions ou Azure App Service WebJobs ?

Nous devons choisir entre les deux technologies suivantes.

  • Azure Functions
  • Azure App Service WebJobs

Les facteurs suivants influent sur votre choix :

  • Coût : Avec WebJobs, vous payez pour la totalité de la machine virtuelle ou du plan App Service qui héberge la tâche. Une fonction Azure pouvant s’exécuter sur un plan Consommation, vous payez uniquement quand elle s’exécute. Dans la mesure où ce processus ne se déclenche que quand un vélo est restitué, nous pourrions économiser de l’argent en optant pour Azure Functions.
  • Intégrations : vous souhaitez intégrer le workflow de maintenance à l’application logique que vous générez pour le processus de réservation et de location de vélos dans l’unité précédente. Même s’il est possible d’appeler un travail web à partir d’une application logique, l’intégration entre Logic Apps et Functions est plus étroite. Par exemple, vous pouvez contrôler plus facilement votre appel à une fonction à partir du Concepteur visuel d’applications logiques.

Pour ces raisons, nous sélectionnons Azure Functions pour gérer votre processus métier de maintenance de vélos.