You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This architecture will be deployed with the 'sandbox' setting of our deployment process. Optionally you can deploy [Well-Architected Framework (WAF) aligned](https://learn.microsoft.com/en-us/azure/well-architected/) architecture, described in [WAF-Aligned Solution Architecture](./docs/ArchitectureWAF.md), with the WAF-Aligned deployment option described in [Deployment Guide](./docs/DeploymentGuide.md).
@@ -51,16 +54,16 @@ If you'd like to customize the solution accelerator, here are some common areas
51
54
<summary>Click to learn more about the key features this solution enables</summary>
52
55
53
56
-**Code language modernization** <br/>
54
-
Modernizing outdated code ensures compatibility with current technologies, reduces reliance on legacy expertise, and keeps businesses competitive.
57
+
Modernizing outdated code ensures compatibility with current technologies, reduces reliance on legacy expertise, and keeps businesses competitive.
55
58
56
59
-**Summary and review of new code** <br/>
57
-
Generating summaries and translating code files keeps humans in the loop, enhances their understanding, and facilitates timely interventions, ensuring the files are ready to export.
60
+
Generating summaries and translating code files keeps humans in the loop, enhances their understanding, and facilitates timely interventions, ensuring the files are ready to export.
58
61
59
62
-**Business logic analysis** <br/>
60
-
Leveraging AI to decipher business logic from legacy code helps minimizes the risk of human error.
63
+
Leveraging AI to decipher business logic from legacy code helps minimizes the risk of human error.
61
64
62
65
-**Efficient code transformation** <br/>
63
-
Streamlining the process of analyzing, converting, and iterative error testing reduces time and effort required to modernize the systems.
66
+
Streamlining the process of analyzing, converting, and iterative error testing reduces time and effort required to modernize the systems.
64
67
65
68
</details>
66
69
@@ -77,7 +80,7 @@ Follow the quick deploy steps on the deployment guide to deploy this solution to
77
80
78
81
|[](https://codespaces.new/microsoft/Modernize-your-Code-Solution-Accelerator)|[](https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/microsoft/Modernize-your-Code-Solution-Accelerator)|
This architecture implements [Azure Well-Architected Framework (WAF)](https://learn.microsoft.com/en-us/azure/well-architected/) principles for enterprise-grade deployments, deployed with the WAF-Aligned deployment option:
-**Parameter File:**`infra/main.waf-aligned.bicepparam` - Controls all WAF features
46
+
-**Network-first Design:** All components deployed within private network boundaries
47
+
-**Enterprise-ready:** Production-grade security and monitoring enabled
48
+
49
+
## Application Information Flow
50
+
51
+
The application information flow remains the same for both 'sandbox' and 'waf-aligned' configuration.
52
+
53
+
The solution is composed of several services:
54
+
55
+
- The web app front end and the backend app logic are containerized and run from Azure Container service instances.
56
+
- When a request for conversion is created in the web app admin console, the user specifies what files should be converted and the target SQL dialect for conversion.
57
+
- These files are then uploaded to blob storage and initial data about the request is stored in Cosmos DB.
58
+
- The conversion takes place using appropriate LLM models using multiple agents, with each agent having a dedicated purpose in the conversion process. As files are converted, they are placed into blob storage, with metadata collected into Cosmos detailing the conversion process and the current state of the batch.
59
+
- Cosmos also stores the logs from the individual agents so the results can be fully reviewed before any of the converted files are put into production.
Copy file name to clipboardExpand all lines: docs/DeploymentGuide.md
+39-13Lines changed: 39 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,16 +18,15 @@ Here are some example regions where the services are available: East US, East US
18
18
19
19
|[](https://codespaces.new/microsoft/Modernize-your-Code-Solution-Accelerator)|[](https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/microsoft/Modernize-your-Code-Solution-Accelerator)|
20
20
|---|---|
21
-
21
+
22
22
### **Configurable Deployment Settings**
23
23
24
24
When you start the deployment, most parameters will have **default values**, but you can update the following settings by following the steps [here](../docs/CustomizingAzdParameters.md):
25
25
26
26
|**Setting**|**Description**|**Default value**|
27
27
|------------|----------------| ------------|
28
-
|**Azure Region**| The region where resources will be created. | East US|
29
-
|**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. | None |
30
-
|**AI Location**| Location for all AI services resources. This location can be different from the resource group location | None |
28
+
|**Azure Region**| The region where resources will be created. | None |
29
+
|**SolutionName**| Text/String used for part of all resources created by this template. | None |
31
30
|**Capacity**| Configure capacity for **gpt-4o**. | 5k |
32
31
33
32
This accelerator can be configured to use authentication.
@@ -42,7 +41,29 @@ By default, the **GPT model capacity** in deployment is set to **5k tokens**.
42
41
43
42
To adjust quota settings, follow these [steps](../docs/AzureGPTQuotaSettings.md)
44
43
45
-
### Deployment Options
44
+
### Deployment Options & Steps
45
+
### Sandbox or WAF Aligned Deployment Options
46
+
47
+
The [`infra`](../infra) folder contains the [`main.bicep`](../infra/main.bicep) Bicep script, which defines all Azure infrastructure components for this solution.
48
+
49
+
By default, the `azd up` command uses the [`main.bicepparam`](../infra/main.bicepparam) file to deploy the solution. This file is pre-configured for a **sandbox environment** — ideal for development and proof-of-concept scenarios, with minimal security and cost controls for rapid iteration.
50
+
51
+
For **production deployments**, the repository also provides [`main.waf-aligned.bicepparam`](../infra/main.waf-aligned.bicepparam), which applies a [WAF-aligned](https://learn.microsoft.com/en-us/azure/well-architected/) configuration. This option enables additional Azure best practices for reliability, security, cost optimization, operational excellence, and performance efficiency, such as:
52
+
53
+
- Enhanced network security (e.g., Network protection with private endpoints)
54
+
- Stricter access controls and managed identities
55
+
- Logging, monitoring, and diagnostics enabled by default
56
+
- Resource tagging and cost management recommendations
57
+
58
+
**How to choose your deployment configuration:**
59
+
60
+
- Use the default [`main.bicepparam`](../infra/main.bicepparam) for a sandbox/dev environment.
61
+
- For a WAF-aligned, production-ready deployment, copy the contents of [`main.waf-aligned.bicepparam`](../infra/main.waf-aligned.bicepparam) into `main.bicepparam` before running `azd up`.
62
+
63
+
> [!TIP]
64
+
> 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.
65
+
66
+
46
67
Pick from the options below to see step-by-step instructions for: GitHub Codespaces, VS Code Dev Containers, Local Environments, and Bicep deployments.
47
68
48
69
<details>
@@ -114,23 +135,28 @@ To change the azd parameters from the default values, follow the steps [here](..
114
135
115
136
1. Login to Azure:
116
137
117
-
```shell
118
-
azd auth login
119
-
```
138
+
```shell
139
+
azd auth login
140
+
```
141
+
142
+
#### Note: To authenticate with Azure Developer CLI (`azd`) to a specific tenant, use the previous command with your **Tenant ID**:
143
+
144
+
```sh
145
+
azd auth login --tenant-id <tenant-id>
146
+
```
120
147
121
-
#### Note: To authenticate with Azure Developer CLI (`azd`) to a specific tenant, use the previous command with your **Tenant ID**:
148
+
2. Provide an `azd` environment name (like "cmsaapp")
122
149
123
-
```sh
124
-
azd auth login --tenant-id <tenant-id>
150
+
```sh
151
+
azd env new <cmsaapp>
125
152
```
126
153
127
-
2. Provision and deploy all the resources:
154
+
3. Provision and deploy all the resources:
128
155
129
156
```shell
130
157
azd up
131
158
```
132
159
133
-
3. Provide an `azd` environment name (like "cmsaapp")
134
160
4. Select a subscription from your Azure account, and select a location which has quota for all the resources.
135
161
* This deployment will take *6-9 minutes* to provision the resources in your account and set up the solution with sample data.
136
162
* If you get an error or timeout with deployment, changing the location can help, as there may be availability constraints for the resources.
0 commit comments