Skip to content

Commit 428c53a

Browse files
committed
apply Anthony's review comments. Add revision suffix info.
1 parent 191c3cd commit 428c53a

File tree

1 file changed

+44
-17
lines changed

1 file changed

+44
-17
lines changed

articles/container-apps/revisions.md

Lines changed: 44 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -17,26 +17,16 @@ Azure Container Apps implements container app versioning by creating revisions.
1717
- The first revision is automatically created when you deploy your container app.
1818
- New revisions are automatically created when you make a [*revision-scope*](#revision-scope-changes) change to your container app.
1919
- While revisions are immutable, they're affected by [*application-scope*](#application-scope-changes) changes, which apply to all revisions.
20+
- Up to 100 revisions are retained giving you a historical record of your container app updates.
21+
- You can run multiple revisions concurrently.
22+
- You can split external HTTP traffic between active revisions.
2023

2124
:::image type="content" source="media/revisions/azure-container-apps-revisions.png" alt-text="Azure Container Apps: Containers":::
2225

23-
## Revision modes
24-
25-
The revision mode controls whether only a single revision or multiple revisions of your container app can be simultaneously active. You can set your app's revision mode from your container app's **Revision management** page in the Azure portal, using Azure CLI commands, or in the ARM template.
26-
27-
### Single revision mode
28-
29-
By default, a container app is in *single revision mode*. In this mode, only one revision is active at a time. When a new revision is created in *single revision mode*, the latest revision replaces the active revision.
30-
31-
### Multiple revision mode
32-
33-
Set the revision mode to *multiple revision mode*, to run multiple revisions of your app simultaneously. While in *multiple revision mode*, new revisions are activated alongside current active revisions.
34-
35-
In *multiple revision mode*, traffic isn't automatically allocated to new revisions for apps with external HTTP ingress. Configure traffic splitting from your container app's **Revision management** page in the Azure portal, using Azure CLI commands, or in an ARM template.
3626

3727
## Use cases
3828

39-
Container Apps revisions help you manage the versioning of your container app by creating a new revision each time you make a *revision-scope* change to your app. You can control access to versions of your container app by activating and deactivating revisions and by configuring the external HTTP traffic routed to each active revision.
29+
Container Apps revisions help you manage the release of updates to your container app by creating a new revision each time you make a *revision-scope* change to your app. You can control which revisions are active, and when external HTTP ingress is enabled, the traffic that is routed to each active revision.
4030

4131
You can use revisions to:
4232

@@ -56,25 +46,39 @@ The scenario shown above presumes the container app is in the following state:
5646
- After the container was updated, a new revision was activated as _Revision 2_.
5747
- [Traffic splitting](revisions-manage.md#traffic-splitting) rules are configured so that _Revision 1_ receives 80% of the requests, and _Revision 2_ receives the remaining 20%.
5848

49+
## Revision suffix
50+
51+
You can customize the revision name by setting the revision suffix.
52+
53+
The format of a revision name is:
54+
55+
[container app name]--[revision suffix]
56+
57+
By default, Container Apps creates a unique revision name with a suffix consisting of a semi-random string of alphanumeric characters. You can customize the name by setting a unique custom revision suffix.
58+
59+
For example, for a container app named *album-api*, setting the revision suffix name to *1st-revision* would create a revision with the name *album-api--1st-revision*.
60+
61+
You can set the revision suffix in the [ARM template](azure-resource-manager-api-spec.md#propertiestemplate), through Azure CLI commands, or when creating a revision via the Azure portal.
62+
5963
## Change types
6064

6165
Changes to a container app fall under two categories: *revision-scope* or *application-scope* changes. *Revision-scope* changes trigger a new revision when you deploy your app, while *application-scope* changes don't.
6266

6367
### Revision-scope changes
6468

65-
A new revision is created when a container app is updated with *revision-scope* changes. *Revision-scope* changes modify the container app itself rather than only its runtime settings.
69+
A new revision is created when a container app is updated with *revision-scope* changes. The changes are limited to the revision in which they're deployed, and don't affect other revisions.
6670

6771
A *revision-scope* change is any change to the parameters in the [`properties.template`](azure-resource-manager-api-spec.md#propertiestemplate) section of the container app resource template.
6872

6973
These changes include modifications to:
7074

71-
- Revision name
75+
- [Revision suffix](#revision-suffix)
7276
- Container configuration and images
7377
- Scale rules for the container application
7478

7579
### Application-scope changes
7680

77-
*Application-scope* changes modify the settings in which the container app is run, not the container app itself. When you deploy a container app with *application-scope* changes:
81+
*Application-scope* changes are global to all container app revision. When you deploy a container app with *application-scope* changes:
7882

7983
- a new revision isn't created
8084
- the changes are applied to every revision
@@ -93,6 +97,21 @@ These parameters include:
9397
- Credentials for private container registries
9498
- Dapr settings
9599

100+
101+
## Revision modes
102+
103+
The revision mode controls whether only a single revision or multiple revisions of your container app can be simultaneously active. You can set your app's revision mode from your container app's **Revision management** page in the Azure portal, using Azure CLI commands, or in the ARM template.
104+
105+
### Single revision mode
106+
107+
By default, a container app is in *single revision mode*. In this mode, only one revision is active at a time. When a new revision is created in this mode, the latest revision replaces the active revision.
108+
109+
### Multiple revision mode
110+
111+
Set the revision mode to *multiple revision mode*, to run multiple revisions of your app simultaneously. While in this mode, new revisions are activated alongside current active revisions.
112+
113+
For an app implementing external HTTP ingress, you can control the percentage of traffic going to each active revision from your container app's **Revision management** page in the Azure portal, using Azure CLI commands, or in an ARM template. For more information, see [Traffic splitting](revisions-manage.md#traffic-splitting).
114+
96115
## Revision Labels
97116

98117
For container apps with external HTTP traffic, labels are a portable means to direct traffic to specific revisions. A label provides a unique URL that you can use to route traffic to the revision that the label is assigned. To switch traffic between revisions, you can move the label from one revision to another.
@@ -108,6 +127,14 @@ Labels are useful for testing new revisions. For example, when you want to give
108127

109128
Labels work independently of traffic splitting. Traffic splitting distributes traffic going to the container app's application URL to revisions based on the percentage of traffic. While traffic directed to a label's URL is routed to one specific revision.
110129

130+
A label name must:
131+
132+
- consist of lower case alphanumeric characters or dashes ('-')
133+
- start with an alphabetic character
134+
- end with an alphanumeric character
135+
- not have two consecutive dashes (--)
136+
- not be more than 64 characters
137+
111138
You can manage labels from your container app's **Revision management** page in the Azure portal.
112139

113140
:::image type="content" source="media/revisions/screen-shot-revision-mgmt-labels.png" alt-text="Screenshot of Container Apps revision management.":::

0 commit comments

Comments
 (0)