Deployment Guide

Getting Started

Choose the right deployment path, line up the prerequisites, and follow the repo's recommended rollout order for Simple Chat.

Recommended path: azd up Container-first deployers Native Python fallback available

If you want the most current, least ambiguous deployment path, start with Azure Developer CLI and run azd up. The rest of the deployment options exist to match different operating models, not because they are all equally preferred.

Choose your path

Deployment options in recommended order

All of these paths are supported, but they differ in how much automation, flexibility, and operational context they give you.

Most used first
Recommended

Azure Developer CLI

Use this when you want the smoothest repo-supported experience. It provisions infrastructure, packages the app, and deploys it through the same workflow.

Why it matters

This is the path reflected across the main README and the current deployment documentation.

IaC

Bicep

Use Bicep when you want to inspect or customize the infrastructure modules directly. It is the same IaC layer that the AZD path builds on.

Alternative

Terraform

Use Terraform when it is already the standard in your environment and you are comfortable handling image publishing as part of the rollout.

Recommended flow

What a clean first deployment looks like

These four steps keep you aligned with the repo's expectations and reduce the chance of backtracking later.

Step by step
Step 1

Prepare access

Confirm Azure subscription permissions, app registration creation rights, and access to container build resources before you begin.

Step 2

Choose the deployer

Default to AZD unless your environment already depends on a different provisioning workflow or you need native Python deployment details.

Step 3

Deploy infrastructure and app

Run the chosen workflow end to end so the app service, identity, storage, search, and runtime expectations stay in sync.

Step 4

Plan the upgrade path

Once the first environment is live, switch to the dedicated upgrade guidance for updates instead of replaying the initial setup flow.

Prerequisites

What to line up before you run anything

Most failed first deployments come from missing access, not from the deployer itself.

Read once
Access

Azure and identity permissions

You need subscription-level deployment rights plus the ability to create or coordinate an Entra application registration for the app.

Tooling

Install the local toolchain

At minimum, line up Azure CLI, Azure Developer CLI, PowerShell 7, and Visual Studio Code before starting the primary flow.

Platform model

Know whether you need exceptions

If you need sovereign cloud support, private networking, managed identity-specific configuration, or native Python hosting, review the related docs before deploying.

Next steps

Use the follow-on guides when the default path is not enough

These documents sit alongside the main setup flow instead of replacing it.

Related guides
Detailed setup

Manual deployment

Use this for native Python App Service deployments or when you need the lower-level configuration path spelled out.

Scenarios

Special deployment scenarios

Review guidance for Azure Government, managed identities, enterprise networking, and other non-default rollout patterns.

Operations

Upgrade existing deployments

Once you are live, use the upgrade guide to decide between code-only, image-only, and infrastructure-aware updates.