Azure Logic Apps is a cloud-based platform for creating and running automated workflows that integrate your apps, data, services, and systems.

Logic Apps has broadly two versions. Logic Apps Consumption and Logic Apps Standard. Whilst Consumption is effectively a completely managed platform service run by Microsoft on a multi-tenant infrastructure, it has some limitations which may require you to use the single-tenant variant - Logic Apps Standard. You can find out more about each variant of Logic Apps here.

Under the hood Logic Apps Standard is a collection of different Azure resources, including an App Service Plan, Azure Function App and Storage Account.

This article walks you through configuring and deploying the Logic Apps Standard infrastructure, ready for you to deploy your workflows to, either via the Azure portal workflow builder or Azure DevOps.

Modelling the Infrastructure

  1. Draw your subscription container, ensure you enter the required Subscription ID property in the properties panel.

  2. Draw a Resource Group, configure it with a Name and Location.

  3. Draw an App Service Plan, configure it with a Name and SKU. the SKU must be set to WS1.

  4. Draw a Function App and place it inside the App Service Plan.

  5. Configure the Function App with the following configuration:

    1. General Properties

      1. Name: <choose a name for your resource>

      2. Kind: functionapp,workflowapp

      3. HTTPS ONLY: True

    2. Identity

      1. Identity: System Assigned

    3. Site Config

      1. App Settings: Create the following App Settings:

        1. Name: APP_KIND
          Value: workflowapp

        2. Name: AzureFunctionsJobHost__extensionBundle__version
          Value: [1.*, 2.0.0)

        3. Name: AzureFunctionsJobHost__extensionBundle__id
          Value: Microsoft.Azure.Functions.ExtensionBundle.Workflows

        4. Name: WEBSITE_NODE_DEFAULT_VERSION
          Value: ~12

        5. Name: FUNCTIONS_WORKER_RUNTIME
          Value: node

        6. Name: FUNCTIONS_EXTENSION_VERSION
          Value: ~3

        7. Name: WEBSITE_CONTENTSHARE
          Value: <any valid file share name>

    4. Storage Account

      1. Name: <choose a name for your storage account>

      2. SKU: Standard_LRS

      3. KIND: StorageV2

      4. Support HTTPS Traffic Only: True

    5. Region Virtual Network Integration

      1. Optionally configure your function app to connect to a subnet for secure communication.

  6. That's it, all configured. You can now save, publish and deploy your solution to Azure either using Direct deployments or the Azure DevOps.

Did this answer your question?