Getting Started
Choose the right deployment path, line up the prerequisites, and follow the repo's recommended rollout order for Simple Chat.
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.
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.
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.
This is the path reflected across the main README and the current deployment documentation.
Azure CLI with PowerShell
Use this when you want more direct control over sequencing, recovery steps, and script-driven operations without moving to a fully manual deployment.
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.
Terraform
Use Terraform when it is already the standard in your environment and you are comfortable handling image publishing as part of the rollout.
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.
Prepare access
Confirm Azure subscription permissions, app registration creation rights, and access to container build resources before you begin.
Choose the deployer
Default to AZD unless your environment already depends on a different provisioning workflow or you need native Python deployment details.
Deploy infrastructure and app
Run the chosen workflow end to end so the app service, identity, storage, search, and runtime expectations stay in sync.
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.
What to line up before you run anything
Most failed first deployments come from missing access, not from the deployer itself.
Azure and identity permissions
You need subscription-level deployment rights plus the ability to create or coordinate an Entra application registration for the app.
Install the local toolchain
At minimum, line up Azure CLI, Azure Developer CLI, PowerShell 7, and Visual Studio Code before starting the primary flow.
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.
Use the follow-on guides when the default path is not enough
These documents sit alongside the main setup flow instead of replacing it.
Manual deployment
Use this for native Python App Service deployments or when you need the lower-level configuration path spelled out.
Special deployment scenarios
Review guidance for Azure Government, managed identities, enterprise networking, and other non-default rollout patterns.
Upgrade existing deployments
Once you are live, use the upgrade guide to decide between code-only, image-only, and infrastructure-aware updates.