Skip to content

Add support for "Deploy to Azure" #62

@utkarshayachit

Description

@utkarshayachit

We want to add a "Deploy To Azure" button to the azbatch-starter Github repo.

Background

First, let's understand how one would do this for a typical/simple project. As documented here, the way to support this is provide an ARM template in GitHub repo or storage account. Since bicep is not supported, for any bicep project one would generate an ARM template using az bicep build and then use that ARM template for this. Any parameters one exposed in the bicep file as param will be exposed in the ARM template as well and subsequently will be shown in the deploy UI shown on Azure portal.

Next, let's see why this model doesn't work for azbatch-starter. Typically, bicep codebase is built up for a specific deployment: you have a specific set of resources you're intending to deploy with that code and then you expose params that allow any deployer to control aspects of the deployment. For example, if you have bicep code to deploy an app-service, you'll expose params like app-service name etc. to the user to modify when making a new deployment. azbatch-starter, in contrast, is an accelerator. You can customize to create different deployments by modifying JSON configuration files. Thus, you can setup a deployment that creates arbitrary many storage accounts, batch accounts with multiple pools, with different subnets, nsg etc etc. "Secured Batch for FSI" is simply one such "deployment configuration" that we can setup using azbatch-starter.

When exposing params from azbatch-starter, we intentionally kept them minimal and instead opted for JSON configuration files for providing different deployment configurations. This makes sense since otherwise we'd end up incredibly unintuitive params where deployers have be specify complex objects for params. At the same time, however, for a specific deployment configuration, it seems reasonable to enable the deployment configuration developer to expose user-tweakable params.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions