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
Copy file name to clipboardExpand all lines: articles/spring-apps/includes/deprecation-note.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,10 +3,10 @@ author: KarlErickson
3
3
ms.author: karler
4
4
ms.service: azure-spring-apps
5
5
ms.topic: include
6
-
ms.date: 09/30/2024
6
+
ms.date: 03/17/2025
7
7
---
8
8
9
9
> [!NOTE]
10
-
> The **Basic**, **Standard**, and **Enterprise** plans will be deprecated starting from mid-March, 2025, with a 3 year retirement period. We recommend transitioning to Azure Container Apps. For more information, see the [Azure Spring Apps retirement announcement](../basic-standard/retirement-announcement.md).
10
+
> The **Basic**, **Standard**, and **Enterprise** plans entered a retirement period on March 17, 2025. For more information, see the [Azure Spring Apps retirement announcement](../basic-standard/retirement-announcement.md).
11
11
>
12
-
> The **Standard consumption and dedicated** plan will be deprecated starting September 30, 2024, with a complete shutdown after six months. We recommend transitioning to Azure Container Apps. For more information, see [Migrate Azure Spring Apps Standard consumption and dedicated plan to Azure Container Apps](../consumption-dedicated/overview-migration.md).
12
+
> The **Standard consumption and dedicated** plan entered a retirement period on September 30, 2024, with a complete shutdown by the end of March 2025. For more information, see [Migrate Azure Spring Apps Standard consumption and dedicated plan to Azure Container Apps](../consumption-dedicated/overview-migration.md).
This article describes blue-green deployment with Azure Container Apps.
20
-
21
17
In Azure Container Apps, you can enable blue-green deployment by combining [container apps revisions](../../container-apps/revisions.md), [traffic weights](../../container-apps/traffic-splitting.md), and [revision labels](../../container-apps/revisions.md#labels).
22
18
23
19
## Create or update a container app with multiple active revisions enabled
@@ -26,11 +22,11 @@ To create a new container app with multiple active revisions enabled, use the fo
You can add labels to specific revisions as shown in the following example:
56
+
To add labels to a specific revision, use the following commands:
61
57
62
58
```azurecli
63
59
az containerapp revision label add \
64
-
--resource-group <RESOURCE_GROUP> \
65
-
--name <APP_NAME> \
60
+
--resource-group <resource-group> \
61
+
--name <app-name> \
66
62
--label blue \
67
-
--revision <APP_NAME>--<BLUE_SUFFIX>
63
+
--revision <blue-revision-name>
68
64
69
65
az containerapp revision label add \
70
-
--resource-group <RESOURCE_GROUP> \
71
-
--name <APP_NAME> \
66
+
--resource-group <resource-group> \
67
+
--name <app-name> \
72
68
--label green \
73
-
--revision <APP_NAME>--<GREEN_SUFFIX>
69
+
--revision <green-revision-name>
74
70
```
75
71
76
-
Initially, the revision with the *blue*`commitId` takes 100% of production traffic, while the newly deployed revision with the *green*`commitId` doesn't take any production traffic.
72
+
Here, `<blue-revision-name>` is `<app-name>--<blue-suffix>`, and `<green-revision-name>` is `<app-name>--<green-suffix>`. You can only assign a label to one revision at a time.
73
+
74
+
Initially, the revision with the blue `commitId` takes 100% of production traffic, while the newly deployed revision with the green `commitId` doesn't take any production traffic.
77
75
78
76
In Azure Spring Apps, you can deploy at most two revisions of one app: one set as Production and the other as Staging. However, Azure Container Apps supports deploying multiple revisions for a single app.
79
77
@@ -83,35 +81,35 @@ Each revision in Azure Container Apps has its own URL, enabling you to test and
83
81
84
82
```azurecli
85
83
export GREEN_DOMAIN=$(az containerapp revision show \
86
-
--resource-group <RESOURCE_GROUP> \
87
-
--name <APP_NAME> \
88
-
--revision <GREEN_REVISION_NAME> \
84
+
--resource-group <resource-group> \
85
+
--name <app-name> \
86
+
--revision <green-revision-name> \
89
87
--query "properties.fqdn" \
90
-
--output tsv \
91
-
| tr -d '\r\n')
88
+
--output tsv)
92
89
93
-
curl -s http://$GREEN_DOMAIN
90
+
curl -s https://$GREEN_DOMAIN
94
91
```
95
92
96
93
Use the following commands to test with the label-specific fully qualified domain name (FQDN):
97
94
98
95
```azurecli
96
+
export APP_NAME=<app-name>
97
+
99
98
# Get the containerapp environment default domain
100
-
export APP_DOMAIN=$(az containerapp env show \
101
-
--resource-group <RESOURCE_GROUP> \
102
-
--name <APP_ENVIRONMENT_NAME> \
99
+
export APP_ENVIRONMENT_DOMAIN=$(az containerapp env show \
Ensure that the total label weight doesn't exceed 100.
133
+
Ensure that the total label weight equals 100%.
136
134
137
135
Azure Container Apps not only enables you to switch traffic between blue-green deployments but also between multiple revisions. You can also redirect a specific amount of production traffic to the green deployment.
138
136
@@ -146,9 +144,8 @@ To enable traffic splitting when using Spring Cloud Gateway, you need to set the
@@ -78,6 +78,56 @@ The migration approach from Azure Spring Apps to Azure Container Apps involves t
78
78
79
79
1. Client and automation tools: To streamline daily development and operational tasks, take advantage of client tools and automation solutions. These tools include the Azure CLI, Azure DevOps, GitHub Actions, and extensions in client tools or IDEs. These tools can help automate deployments, monitor performance, and manage resources efficiently, reducing manual effort and enhancing operational agility. To learn about popular tools, see [Clients or automation tools for Azure Container Apps](./migrate-to-azure-container-apps-automation.md).
80
80
81
+
## Migration assistant tool
82
+
83
+
To speed up your migration and help you evaluate features on Azure Container Apps, we provide a new command in the Azure CLI. This command retrieves the configurations of existing Azure Spring Apps resources based on the resource ID of the service instance. It then translates these configurations into Bicep files for Azure Container App resources. This method enables you to quickly set up an Azure Container Apps managed environment and app resources while applying basic settings similar to those settings in your existing Azure Spring Apps resources. For more information, see [az spring export](/cli/azure/spring#az-spring-export).
84
+
85
+
To create Azure Container Apps resources that match the configurations of your existing Azure Spring Apps resources, use the following steps:
86
+
87
+
1. Install Azure CLI version 2.45.0 or higher and the latest version of the Azure Spring Apps extension by using the `az extension add --name spring` command.
88
+
89
+
1. Generate Bicep files to create the corresponding Azure Container Apps resources by using the following command:
90
+
91
+
```azurecli
92
+
az spring export \
93
+
--resource-group <resource-group-name> \
94
+
--target aca \
95
+
--subscription <subscription-id> \
96
+
--service <service-name> \
97
+
--output-folder <output-folder-name>
98
+
```
99
+
100
+
1. The previous command generates a **README.md** file with detailed instructions. Follow those instructions to update the required parameters in the Bicep files.
101
+
102
+
> [!NOTE]
103
+
> Azure Container Apps requires containerized image URLs. If you don't yet have a containerized image URL for your application, you can leave the quickstart image URL in the parameters unchanged, and deploy your own application later. For more information on obtaining container images, see [Overview of containerization](./migrate-to-azure-container-apps-build-overview.md)
104
+
105
+
1. If a resource group doesn't exist, create it by using the following command:
106
+
107
+
```azurecli
108
+
az group create \
109
+
--name <resource-group-name> \
110
+
--subscription <subscription-id> \
111
+
--location <location>
112
+
```
113
+
114
+
1. Deploy Azure Container Apps resources to the resource group by using the following command:
115
+
116
+
> [!NOTE]
117
+
> You might need to run the command multiple times and adjust the configuration based on the response message.
118
+
119
+
```azurecli
120
+
az deployment group create \
121
+
--resource-group <resource-group-name> \
122
+
--template-file main.bicep \
123
+
--parameters param.bicepparam \
124
+
--subscription <subscription-id>
125
+
```
126
+
127
+
1. Follow the instructions in the **README.md** file to update resources for advanced features. These features include uploading certificates, enabling a custom domain, adding role assignments to the system-assigned managed identity, and more.
128
+
129
+
1. If you need the Terraform configuration of those resources, export them using the export workflow of the Azure Terraform Resource Provider. For more information, see [Overview of the Azure Terraform Resource Provider](/azure/developer/terraform/azure-terraform-resource-provider/resource-provider-overview).
130
+
81
131
## Tutorial
82
132
83
133
We provide a tutorial to demonstrate the end-to-end experience of running the ACME Fitness Store application on Azure Container Apps. For more information, see [acme-fitness-store/azure-container-apps](https://github.com/Azure-Samples/acme-fitness-store/tree/Azure/azure-container-apps). This tutorial offers hands-on guidance, helping you quickly gain practical insights and confidence in deploying and managing containerized applications on the platform.
0 commit comments