To deploy this solution accelerator, ensure you have access to an Azure subscription with the necessary permissions to create resource groups and resources. Follow the steps in Azure Account Set Up
Check the Azure Products by Region page and select a region where the following services are available:
- Azure AI Foundry
- Azure OpenAI Service
- GPT Model Capacity
⚠️ Region-Specific Deployment Constraints:
This application is currently supported only in the following Azure regions. Please ensure you select one of these regions during deployment to avoid failures:
- Australia East
- East US
- East US 2
- France Central
- Japan East
- Norway East
- South India
- Sweden Central
- UK South
- West US
- West US 3
➡️ To ensure sufficient quota is available in your subscription, please follow Quota check instructions guide before you deploy the solution.
The infra folder contains the main.bicep Bicep script, which defines all Azure infrastructure components for this solution.
When running azd up, you’ll now be prompted to choose between a WAF-aligned configuration and a sandbox configuration using a simple selection:
-
A sandbox environment — ideal for development and proof-of-concept scenarios, with minimal security and cost controls for rapid iteration.
-
A production deployments environment, which applies a Well-Architected Framework (WAF) aligned configuration. This option enables additional Azure best practices for reliability, security, cost optimization, operational excellence, and performance efficiency, such as:
- Enhanced network security (e.g., Network protection with private endpoints)
- Stricter access controls and managed identities
- Logging, monitoring, and diagnostics enabled by default
- Resource tagging and cost management recommendations
How to choose your deployment configuration:
When prompted during azd up:
- Select
trueto deploy a WAF-aligned, production-ready environment - Select
falseto deploy a lightweight sandbox/dev environment
Tip
Always review and adjust parameter values (such as region, capacity, security settings and log analytics workspace configuration) to match your organization’s requirements before deploying. For production, ensure you have sufficient quota and follow the principle of least privilege for all identities and role assignments.
Pick from the options below to see step-by-step instructions for: GitHub Codespaces, VS Code Dev Containers, Local Environments, and Bicep deployments.
Deploy in GitHub Codespaces
You can run this solution using GitHub Codespaces. The button will open a web-based VS Code instance in your browser:
-
Open the solution accelerator (this may take several minutes):
-
Accept the default values on the create Codespaces page
-
Open a terminal window if it is not already open
-
Continue with the deploying steps
Deploy in VS Code
You can run this solution in VS Code Dev Containers, which will open the project in your local VS Code using the Dev Containers extension:
-
Start Docker Desktop (install it if not already installed)
-
Open the project:
-
In the VS Code window that opens, once the project files show up (this may take several minutes), open a terminal window.
-
Continue with the deploying steps
Deploy in your local environment
If you're not using one of the above options for opening the project, then you'll need to:
-
Make sure the following tools are installed:
-
Download the project code:
azd init -t microsoft/Modernize-your-Code-Solution-Accelerator/
-
Open the project folder in your terminal or editor.
-
Continue with the deploying steps.
Consider the following settings during your deployment to modify specific settings:
Configurable Deployment Settings
When you start the deployment, most parameters will have default values, but you can update the following settings by following the steps here:
| Setting | Description | Default value |
|---|---|---|
| Azure Region | The region where resources will be created. | East US |
| Resource Prefix | Prefix for all resources created by this template. This prefix will be used to create unique names for all resources. The prefix must be unique within the resource group. | azdtemp |
| AI Location | Location for all AI services resources. This location can be different from the resource group location. | japaneast |
| Capacity | Configure capacity for gpt-4o. | 200 |
| Model Deployment Type | Change the Model Deployment Type (allowed values: Standard, GlobalStandard). | GlobalStandard |
| Model Name | Set the Model Name (allowed values: gpt-4o). | gpt-4o |
| Model Version | Set the Azure model version (allowed values: 2024-08-06). | 2024-08-06 |
| Image Tag | Set the Image tag (allowed values: latest, dev, hotfix). | latest |
| Existing Log analytics workspace | To reuse the existing Log analytics workspace Id. | <Existing Workspace Id> |
This accelerator can be configured to use authentication.
- To use authentication the installer must have the rights to create and register an application identity in their Azure environment. After installation is complete, follow the directions in the App Authentication document to enable authentication.
- Note: If you enable authentication, all processing history and current processing will be performed for your specific user. Without authentication, all batch history from the tool will be visible to all users.
Quota Recommendations
By default, the GPT model capacity in deployment is set to 5k tokens.
We recommend increasing the capacity to 200k tokens for optimal performance.
To adjust quota settings, follow these steps
Reusing an Existing Log Analytics Workspace
Guide to get your Existing Workspace ID
Once you've opened the project in Codespaces or in Dev Containers or locally, you can deploy it to Azure following the following steps.
To change the azd parameters from the default values, follow the steps here.
-
Login to Azure:
azd auth login
Note: To authenticate with Azure Developer CLI (
azd) to a specific tenant, use the previous command with your Tenant ID:azd auth login --tenant-id <tenant-id>
-
Provide an
azdenvironment name (like "cmsaapp")azd env new <cmsaapp>
-
Provision and deploy all the resources:
azd up
-
Select a subscription from your Azure account, and select a location which has quota for all the resources.
- This deployment will take 6-9 minutes to provision the resources in your account and set up the solution with sample data.
- If you get an error or timeout with deployment, changing the location can help, as there may be availability constraints for the resources.
-
Once the deployment has completed successfully, open the Azure Portal, go to the deployed resource group, find the container app with "frontend" in the name, and get the app URL from
Application URI. -
You can now delete the resources by running
azd down, when you have finished trying out the application.
-
Deleting Resources After a Failed Deployment
Follow steps in Delete Resource Group If your deployment fails and you need to clean up the resources.
-
Add App Authentication
If you chose to enable authentication for the deployment, follow the steps in App Authentication
To help you get started, sample Informix queries have been included in the data/informix/functions and data/informix/simple directories. You can choose to upload these files to test the application.
