Skip to content

Commit e3c42bc

Browse files
feat: added customizingAzdParameters.md and changes for DeploymentGuide
1 parent 851a163 commit e3c42bc

2 files changed

Lines changed: 113 additions & 11 deletions

File tree

docs/CustomizingAzdParameters.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
## [Optional]: Customizing resource names
2+
3+
By default this template will use the environment name as the prefix to prevent naming collisions within Azure. The parameters below show the default values. You only need to run the statements below if you need to change the values.
4+
5+
> To override any of the parameters, run `azd env set <PARAMETER_NAME> <VALUE>` before running `azd up`. On the first azd command, it will prompt you for the environment name. Be sure to choose 3-20 characters alphanumeric unique name.
6+
7+
## Parameters
8+
9+
| Name | Type | Default Value | Purpose |
10+
| ------------------------------- | ------ | ----------------- | --------------------------------------------------------------------------------------------------- |
11+
| `AZURE_ENV_NAME` | string | `dkm` | Used as a prefix for all resource names to ensure uniqueness across environments. |
12+
| `AZURE_LOCATION` | string | `<User selects during deployment>` | Location of the Azure resources. Controls where the infrastructure will be deployed. |
13+
| `AZURE_ENV_MODEL_DEPLOYMENT_TYPE` | string | `GlobalStandard` | Defines the deployment type for the AI model (e.g., Standard, GlobalStandard). |
14+
| `AZURE_ENV_MODEL_NAME` | string | `gpt-4.1` | Specifies the name of the GPT model to be deployed. |
15+
| `AZURE_ENV_MODEL_CAPACITY` | int | `150` | Sets the GPT model capacity. |
16+
| `AZURE_ENV_MODEL_VERSION` | string | `2024-08-06` | Version of the GPT model to be used for deployment. |
17+
| `AZURE_ENV_EMBEDDING_MODEL_NAME` | string | text-embedding-3-large | Sets the name of the embedding model to use. |
18+
| `AZURE_ENV_EMBEDDING_MODEL_VERSION` | string | text-embedding-3-large | *(empty)* |
19+
| `AZURE_ENV_EMBEDDING_MODEL_CAPACITY` | string | Configure capacity for embedding models (in thousands). | Set the capacity for embedding models (in thousands). |
20+
| `AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID` | string | Guide to get your [Existing Workspace ID](/docs/re-use-log-analytics.md) | Set this if you want to reuse an existing Log Analytics Workspace instead of creating a new one. |
21+
| `AZURE_ENV_VM_ADMIN_USERNAME` | string | `take(newGuid(), 20)` | The administrator username for the virtual machine. |
22+
| `AZURE_ENV_VM_ADMIN_PASSWORD` | string | `newGuid()` | The administrator password for the virtual machine. |
23+
| `AZURE_ENV_ENABLE_TELEMETRY` | bool | `true` | Enables telemetry for monitoring and diagnostics. |
24+
---
25+
26+
## How to Set a Parameter
27+
28+
To customize any of the above values, run the following command **before** `azd up`:
29+
30+
```bash
31+
azd env set <PARAMETER_NAME> <VALUE>
32+
```
33+
34+
Set the Log Analytics Workspace Id if you need to reuse the existing workspace which is already existing
35+
```shell
36+
azd env set AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID '/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.OperationalInsights/workspaces/<workspace-name>'
37+
```
38+
39+
**Example:**
40+
41+
```bash
42+
azd env set AZURE_LOCATION westus2
43+
```

docs/DeploymentGuide.md

Lines changed: 70 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,70 @@
4242
<br>
4343
<img src="./images/deployment/Subscription_ResourceProvider.png" alt="ResourceProvider" width="900">
4444

45-
## Deployment
45+
## Deployment Options & Steps
46+
47+
### Sandbox or WAF Aligned Deployment Options
48+
49+
The [`infra`](../infra) folder of the Multi Agent Solution Accelerator contains the [`main.bicep`](../infra/main.bicep) Bicep script, which defines all Azure infrastructure components for this solution.
50+
51+
By default, the `azd up` command uses the [`main.parameters.json`](../infra/main.parameters.json) 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.
52+
53+
For **production deployments**, the repository also provides [`main.waf.parameters.json`](../infra/main.waf.parameters.json), which applies a [Well-Architected Framework (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:
54+
55+
- Enhanced network security (e.g., Network protection with private endpoints)
56+
- Stricter access controls and managed identities
57+
- Logging, monitoring, and diagnostics enabled by default
58+
- Resource tagging and cost management recommendations
59+
60+
**How to choose your deployment configuration:**
61+
62+
* Use the default `main.parameters.json` file for a **sandbox/dev environment**
63+
* For a **WAF-aligned, production-ready deployment**, copy the contents of `main.waf.parameters.json` into `main.parameters.json` before running `azd up`
64+
65+
---
66+
67+
### VM Credentials Configuration
68+
69+
By default, the solution sets the VM administrator username and password from environment variables.
70+
If you do not configure these values, a randomly generated GUID will be used for both the username and password.
71+
72+
To set your own VM credentials before deployment, use:
73+
74+
```sh
75+
azd env set AZURE_ENV_VM_ADMIN_USERNAME <your-username>
76+
azd env set AZURE_ENV_VM_ADMIN_PASSWORD <your-password>
77+
```
78+
79+
> [!TIP]
80+
> 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.
81+
82+
83+
> [!IMPORTANT]
84+
> The WAF-aligned configuration is under active development. More Azure Well-Architected recommendations will be added in future updates.
85+
86+
## Deployment Steps
87+
88+
Consider the following settings during your deployment to modify specific settings:
89+
90+
<details>
91+
<summary><b>Configurable Deployment Settings</b></summary>
92+
93+
When you start the deployment, most parameters will have **default values**, but you can update the following settings [here](../docs/CustomizingAzdParameters.md):
94+
95+
| **Setting** | **Description** | **Default value** |
96+
| ------------------------------ | ------------------------------------------------------------------------------------ | ----------------- |
97+
| **Environment Name** | Used as a prefix for all resource names to ensure uniqueness across environments. | dkm |
98+
| **Azure Region** | Location of the Azure resources. Controls where the infrastructure will be deployed. | australiaeast |
99+
| **Model Deployment Type** | Defines the deployment type for the AI model (e.g., Standard, GlobalStandard). | GlobalStandard |
100+
| **GPT Model Name** | Specifies the name of the GPT model to be deployed. | gpt-4.1 |
101+
| **GPT Model Version** | Version of the GPT model to be used for deployment. | 2024-08-06 |
102+
| **GPT Model Capacity** | Sets the GPT model capacity. | 100K |
103+
| **Embedding Model** | Default: **text-embedding-ada-002**. | text-embedding-3-large |
104+
| **Embedding Model Capacity** | Set the capacity for **embedding models** (in thousands). | 200k |
105+
| **Enable Telemetry** | Enables telemetry for monitoring and diagnostics. | true |
106+
| **Existing Log Analytics Workspace** | To reuse an existing Log Analytics Workspace ID instead of creating a new one. | *(none)* |
107+
108+
</details>
46109

47110
### Deploying with AZD
48111

@@ -83,23 +146,19 @@ Once you've opened the project in [Codespaces](#github-codespaces), [Dev Contain
83146
-- This deployment will take *7-10 minutes* to provision the resources in your account and set up the solution with sample data.
84147
- If you encounter an error or timeout during deployment, changing the location may help, as there could be availability constraints for the resources.
85148
86-
6. Once the deployment has completed successfully, open the [Azure Portal](https://portal.azure.com/), go to the deployed resource group, find the App Service, and get the app URL from `Default domain`.
87-
88-
7. If you are done trying out the application, you can delete the resources by running `azd down`.
149+
6. If you are done trying out the application, you can delete the resources by running `azd down`.
89150
90151
### Post Deployment Script:
91152
92153
The post deployment process is very straightforward and simplified via a single [deployment script](../Deployment/resourcedeployment.ps1) that completes in approximately 20-30 minutes:
93154
94155
### Automated Deployment Steps:
95156
1. Deploy Azure resources.
96-
2. Get secret information from Azure resources.
97-
3. Update application configuration files with secrets.
98-
4. Set Application Configuration in Azure App Configuration.
99-
4. Compile application, build image, and push to Azure Container Registry.
100-
5. Configure Kubernetes cluster infrastructure.
101-
6. Update Kubernetes configuration files.
102-
7. Deploy certificates, ingress controller and then application images from Azure Container Registry.
157+
2. Configure Kubernetes Infrastructure.
158+
3. Update Kubernetes configuration files with the FQDN, Container Image Path and Email address for the certificate management.
159+
4. Configure AKS (deploy Cert Manager, Ingress Controller) and Deploy Images on the kubernetes cluster.
160+
5. Docker build and push container images to Azure Container Registry.
161+
6. Display the deployment result and following instructions.
103162
104163
Open PowerShell, change directory where you code cloned, then run the deploy script:
105164

0 commit comments

Comments
 (0)