Azure Web App Deployments Overview

Updated 5 months ago by Michael Cretzman

Currently, this feature is in Beta and behind a Feature Flag. Contact Harness Support to enable the feature. Feature Flags can only be removed for Harness Professional and Essentials editions. Once the feature is released to a general audience, it is available for Trial and Community Editions.

Azure Web Apps use deployment slots to host different versions of your app. You can then swap these deployment slots without causing any downtime for your users.

Harness deploys your Azure Web Apps using their existing deployment slots. Using Harness, you can incrementally increase traffic to your source slot, and then perform a standard slot swap.

For detailed instructions on deploying an Azure Web App using Harness, see the following how-tos. They are listed in the order they are commonly performed.

The following topic covers related deployment concepts:

Before You Begin

Before learning about Harness Azure Web App deployments, you should have an understanding of Harness Key Concepts.

Limitations

  • Currently, Harness only deploys Docker images for Azure Web Apps.
  • Harness Azure Web App deployments do not support proxy servers that require authentication. This is a known Azure limitation with Java environment properties and their SDK.

Azure Limitations

  • App Service on Linux isn't supported on Shared pricing tier.
  • You can't mix Windows and Linux apps in the same App Service plan.
  • Within the same resource group, you can't mix Windows and Linux apps in the same region.

See Limitations from Azure.

What Does Harness Need Before You Start?

To deploy an Azure Web App using Harness, you only need the following:

  • An existing Azure Web App using a Docker image: you can create one in minutes in Azure. Here is an example:
    1. Basics
    1. Docker
  • A Docker image: this is the same image you used when you created the Azure Web App.
  • Azure account connection information.
  • App Service Plan: the name of the Azure App Service configured for your existing Web App.
  • Two or more running deployment slots for production and staging: the slots created for your existing Azure Web App:

What Does Harness Deploy?

Harness deploys the Docker image you select for your Web App to a source deployment slot.

You can then increase traffic to the source slot. Once you have determined that the new image and slot is working, you can swap the source and target slots.

What Operating Systems are Supported?

Linux and Windows are both supported.

Use a different resource group for each OS. Linux App Service Plans should use a different resource group than Windows App Service Plans. This is a limitation of Azure.

See Limitations from Azure.

What Does a Harness Web App Deployment Involve?

The following list describes the major steps of a Harness Web App deployment:

Step

Name

Links

1

Install a Harness Delegate that can connect to your target Azure region.

Connect to Azure for Web App Deployments

2

Add the Docker image Harness will use for the Web App.

Add Your Docker Image for Azure Web App Deployment

3

Select the Subscription and Resource Group to use when Harness deploys a new Web App version.

Define Your Azure Web App Infrastructure

4

Create a Harness Workflow to perform deployment.

Create an Azure Web App Blue/Green Deployment

Create an Azure Web App Canary Deployment

Azure Web App In Harness Services Dashboard

The Harness Services dashboard shows the new version of the Azure Web App that you deployed regardless of what slot it is deployed in.


How did we do?