Skip to content

Commit cf8b197

Browse files
Refactor deployment instructions and remove unused parameters from JSON files
1 parent 7673758 commit cf8b197

File tree

5 files changed

+96
-34
lines changed

5 files changed

+96
-34
lines changed

README.md

Lines changed: 3 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -95,35 +95,10 @@ The next steps are optional for additional learning. Not required to deploy the
9595

9696
### Deploying with AZD
9797

98-
Once you've opened the project [locally](#local-environment), you can deploy it to Azure by following these steps:
99-
100-
1. Login to Azure:
101-
102-
```shell
103-
azd auth login
104-
```
105-
106-
#### To authenticate with Azure Developer CLI (`azd`), use the following command with your **Tenant ID**:
107-
108-
```sh
109-
azd auth login --tenant-id <tenant-id>
110-
```
111-
112-
2. Provision and deploy all the resources:
113-
114-
```shell
115-
azd up
116-
```
117-
118-
3. Provide an `azd` environment name (e.g., "ckmapp").
119-
4. Select a subscription from your Azure account and choose a location that has quota for all the resources.
120-
-- This deployment will take *15-20 minutes* to provision the resources in your account and set up the solution with sample data.
121-
- If you encounter an error or timeout during deployment, changing the location may help, as there could be availability constraints for the resources.
122-
123-
5. 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`.
124-
125-
6. If you are done trying out the application, you can delete the resources by running `azd down`.
98+
Follow the quick deploy steps on the deployment guide to deploy this solution to your own Azure subscription.
12699

100+
[Click here to launch the deployment guide](./docs/DeploymentGuide.md)
101+
<br/><br/>
127102

128103

129104
<br/>

docs/CustomizingAzdParameters.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
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+
6+
> 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 charaters alphanumeric unique name.
7+
8+
## Parameters
9+
10+
| Name | Type | Default Value | Purpose |
11+
| -----------------------------| ------- | ------------------- | ---------------------------------------------------------------------------------------------------- |
12+
| `AZURE_ENV_NAME` | string | `azdtemp` | Used as a prefix for all resource names to ensure uniqueness across environments. |
13+
| `AZURE_LOCATION` | string | `<User selects during deployment>` | Sets the Azure region for resource deployment. |
14+
| `AZURE_OPENAI_MODEL_DEPLOYMENT_TYPE` | string | `Standard` | Change the Model Deployment Type (allowed values: Standard, GlobalStandard). |
15+
| `AZURE_OPENAI_DEPLOYMENT_MODEL` | string | `gpt-35-turbo` | Set the GPT model name (allowed values: `gpt-35-turbo`, `gpt-4`, `gpt-4o`). |
16+
| `AZURE_OPENAI_API_VERSION` | string | `0125` | Set the Azure OpenAI model version. |
17+
| `AZURE_OPENAI_DEPLOYMENT_MODEL_CAPACITY` | integer | `30` | Set the model capacity for GPT deployment. Choose based on your Azure quota and usage needs. |
18+
| `AZURE_OPENAI_EMBEDDING_MODEL` | string | `text-embedding-ada-002` | Set the model name used for embeddings. |
19+
| `AZURE_OPENAI_EMBEDDING_MODEL_VERSION` | string | `2` | Set the version for the embedding model. |
20+
| `AZURE_OPENAI_EMBEDDING_MODEL_CAPACITY` | integer | `45` | Set the capacity for embedding model deployment. |
21+
| `AZURE_ENV_IMAGETAG` | string | `latest` | Set the container image tag (allowed values: `latest`, `dev`, `hotfix`). |
22+
| `AZURE_ENV_ENABLE_TELEMETRY` | boolean | `true` | Enable or disable telemetry collection for the deployment. |
23+
| `AZURE_ENV_VM_ADMIN_USERNAME` | string | `<Set when enablePrivateNetworking=true>` | Admin username for the jumpbox VM when private networking is enabled. |
24+
| `AZURE_ENV_VM_ADMIN_PASSWORD` | string | `<Set when enablePrivateNetworking=true>` | Admin password for the jumpbox VM when private networking is enabled. |
25+
26+
27+
## How to Set a Parameter
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+
35+
**Example:**
36+
37+
```bash
38+
azd env set AZURE_LOCATION westus2
39+
```

docs/DeploymentGuide.md

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# Deployment Guide
2+
3+
## **Pre-requisites**
4+
5+
To deploy this solution accelerator, ensure you have access to an [Azure subscription](https://azure.microsoft.com/free/) with the necessary permissions to create **resource groups, resources, and assign roles at the resource group level***. Follow the steps in [Azure Account Set Up](AzureAccountSetUp.md)
6+
7+
Check the [Azure Products by Region](https://azure.microsoft.com/en-us/explore/global-infrastructure/products-by-region/table) page and select a **region** where the following services are available:
8+
9+
- [Azure OpenAI](https://learn.microsoft.com/en-us/azure/ai-services/openai/)
10+
- [Azure AI Search](https://learn.microsoft.com/en-us/azure/search/)
11+
- [Azure App Service](https://learn.microsoft.com/en-us/azure/app-service/)
12+
13+
14+
Depending on your subscription quota and capacity, you can [adjust quota settings](QuotaCheck.md) to better meet your specific needs. You can also [adjust the deployment parameters](CustomizingAzdParameters.md) for additional optimization.
15+
­
16+
## Deployment Options
17+
18+
### Sandbox or WAF Aligned Deployment Options
19+
20+
The [`infra`](../infra) folder of the Build-your-own-copilot-Solution-Accelerator contains the [`main.bicep`](../infra/main.bicep) Bicep script, which defines all Azure infrastructure components for this solution.
21+
22+
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.
23+
24+
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:
25+
26+
- Enhanced network security (e.g., Network protection with private endpoints)
27+
- Stricter access controls and managed identities
28+
- Logging, monitoring, and diagnostics enabled by default
29+
- Resource tagging and cost management recommendations
30+
31+
**How to choose your deployment configuration:**
32+
33+
* Use the default `main.parameters.json` file for a **sandbox/dev environment**
34+
* For a **WAF-aligned, production-ready deployment**, copy the contents of `main.waf.parameters.json` into `main.parameters.json` before running `azd up`
35+
36+
---
37+
38+
### VM Credentials Configuration
39+
40+
By default, the solution sets the VM administrator username and password from environment variables.
41+
42+
To set your own VM credentials before deployment, use:
43+
44+
```sh
45+
azd env set AZURE_ENV_VM_ADMIN_USERNAME <your-username>
46+
azd env set AZURE_ENV_VM_ADMIN_PASSWORD <your-password>
47+
```
48+
49+
> [!TIP]
50+
> 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.
51+
52+
53+
> [!IMPORTANT]
54+
> The WAF-aligned configuration is under active development. More Azure Well-Architected recommendations will be added in future updates.

infra/main.parameters.json

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,6 @@
88
"location": {
99
"value": "${AZURE_LOCATION}"
1010
},
11-
"azureAiServiceLocation": {
12-
"value": "${AZURE_ENV_OPENAI_LOCATION}"
13-
},
1411
"gptModelDeploymentType": {
1512
"value": "${AZURE_OPENAI_MODEL_DEPLOYMENT_TYPE}"
1613
},

infra/main.waf.parameters.json

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,6 @@
88
"location": {
99
"value": "${AZURE_LOCATION}"
1010
},
11-
"azureAiServiceLocation": {
12-
"value": "${AZURE_ENV_OPENAI_LOCATION}"
13-
},
1411
"gptModelDeploymentType": {
1512
"value": "${AZURE_OPENAI_MODEL_DEPLOYMENT_TYPE}"
1613
},

0 commit comments

Comments
 (0)