Skip to content

Terraform modules of Azure Landing Zones on GCC platform

License

Notifications You must be signed in to change notification settings

weixian-zhang/IaC-for-GCC

Repository files navigation

IaC-for-GCC

This repo contains:

  • Terraform modules of Azure Landing Zone examples used on Goverment on Commercial Cloud platform
  • Integration Service Environment (ISE) exported workflows migration toolkit
    • Some facts about Logic App Standard to note
    • How migration toolkit works

ISE Exported Workflows Migration Toolkit

As ISE will be retiring on August 31th 2024, the Azure team has developed a workflow export tool to support migrating of ISE workflows to Logic App Standard workflows.
This export tool exports each workflow into a separate folder, following the project structure of Logic App Standard.

Workflows in Logic App is treated like Web Apps and Function Apps which allow you to develop and test Logic Apps in VSCode with Logic App Standard extension.

Some facts about Logic App Standard to note:

  • As Logic App is treated like an App, deployment Logic App through IaC like ARM or Terraform is not be possible.

  • 1 Logic App Standard can contains many workflows. The practice is to have 10-15 workflows per Logic App

  • Logic App Standard requires a mounted Azure Fileshare to store workflows. Each workflow is located in site/wwwroot/workflow-folder-name

  • ISE workflow's API Connections is known as "Service Provider Connections"

  • the secret value of each service connection for example Event Hub connection string, Storage connection string are read from Logic App's App Settings

  • Each Logic App Standard has an Azure Fileshare mounted, all workflows, connections.json and parameters.json are stored in fileshare


How migration toolkit works

This migration toolkit contains 2 artifacts:

  • Terraform module - Allows you to create multiple Logic App Standards, Storage accounts and filshares.
  • Cmdline app (Python zipapp) - Upload workflows
    • deploy-ise-workflows-v0.6.0.zip
    • config.yaml

image