Comment automatiser le déploiement d’une Logic App standard ?

Les Logic Apps ont récemment fait peau neuve, comme nous vous l’avions annoncé dans un précédent article sur « Logic Apps Standard : les nouveautés ».
Elles reposent désormais sur le runtime des Azure Functions, et bénéficient donc de leurs fonctionnalités.
Pour résumer, voici les nouveautés les plus remarquables :
- Une meilleure intégration réseau via la possibilité d’utiliser des private endpoints.
NB : Votre VNet devra disposer d’un range en /27 - Une meilleure scalabilité, et notamment la possibilité d’utiliser des service plans spécifiques
- Une réelle séparation entre votre composant infra et votre code source
- Un monitoring possible via App Insights
Toutes ces nouveautés impliquent et permettent de modifier le déploiement de vos workflows.
Infra As Code
Pour déployer notre infrastructure, nous utiliserons Terraform.
Pour plus d’informations concernant Terraform, vous pouvez consulter l’article « Comment crafter une infrastructure avec Terraform ? »
Vous aurez besoin de :
CI/CD
Pour nos pipelines, j’ai choisi de les écrire en YAML afin de permettre leur utilisation sur différentes plateformes (Azure DevOps, GitHub…)
Vous constaterez qu’afin de déployer ma Logic App, je crée une archive zip, puis j’utilise la tâche de déploiement d’une « AzureFunctionApp@1 » .
Continuous Integration
Continuous Deployment
Workflow Logic App
Pour développer mon workflow, j’utilise Visual Studio Code avec l’extension : Azure Logic Apps (Standard) – Visual Studio Marketplace.
Créer un workflow en appuyant sur « F1 » puis « logic apps workflow » :
Valider :
Sélectionner « Stateful workflow » :
Puis saisir le nom de votre workflow :
Votre arborescence devrait ressembler à ceci :
Vous pouvez désormais configurer votre workflow via le designer :
(vous aurez besoin de vous connecter à une souscription Azure)
Une fois connecté, vous pourrez définir les étapes de votre workflow :
N’oubliez pas de cliquer sur « Save » pour sauvegarder l’état de votre workflow.
Votre fichier « workflow.json » devrait ressembler à ceci :
Résultat
Voici les ressources Azure déployées :
Voici la Logic Apps déployée :
Code source
Retrouvez ici le code source (en partie tronqué) utilisé dans l’article : Mohye77/LogicAppsStandard (github.com).
Vous souhaitez en savoir plus ou être accompagné par un expert Cellenza ? Contactez-nous !