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/basic-standard/how-to-appdynamics-java-agent-monitor.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -44,7 +44,7 @@ For the whole workflow, you need to:
44
44
* Activate the AppDynamics Java in-process agent in Azure Spring Apps to generate application metrics data.
45
45
* Connect the AppDynamics Agent to the AppDynamics Controller to collect and visualize the data in the controller.
46
46
47
-

47
+
:::image type="content" source="media/how-to-appdynamics-java-agent-monitor/appdynamics-activation.jpg" alt-text="Diagram showing a Spring Boot application in 'Azure Spring Apps' box with a two-directional arrow connecting it to an 'AppDynamics Agent' box, which also has an arrow pointing to an 'AppDynamics Controller' box" lightbox="media/how-to-appdynamics-java-agent-monitor/appdynamics-activation.jpg":::
48
48
49
49
### Activate an application with the AppDynamics Agent using the Azure CLI
To learn more about the query language that's used in Log Analytics, see [Azure Monitor log queries](/azure/data-explorer/kusto/query/). To query all your Log Analytics logs from a centralized client, check out [Azure Data Explorer](/azure/data-explorer/query-monitor-data).
Copy file name to clipboardExpand all lines: articles/spring-apps/enterprise/concepts-blue-green-deployment-strategies.md
+10-10Lines changed: 10 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -30,27 +30,27 @@ Suppose your application has two deployments: `deployment1` and `deployment2`. C
30
30
31
31
This makes `deployment2` the staging deployment. Thus, when the Continuous Delivery (CD) pipeline is ready to run, it deploys the next version of the app, version `v4`, onto the staging deployment `deployment2`.
32
32
33
-

33
+
:::image type="content" source="media/concepts-blue-green-deployment-strategies/alternating-deployments-1.png" alt-text="Two deployments: deployment1 receives production traffic" lightbox="media/concepts-blue-green-deployment-strategies/alternating-deployments-1.png":::
34
34
35
35
After `v4` has started up on `deployment2`, you can run automated and manual tests against it through a private test endpoint to ensure `v4` meets all expectations.
36
36
37
-

37
+
:::image type="content" source="media/concepts-blue-green-deployment-strategies/alternating-deployments-2.png" alt-text="V4 is now deployed on deployment2 and undergoes testing" lightbox="media/concepts-blue-green-deployment-strategies/alternating-deployments-2.png":::
38
38
39
39
When you have confidence in `v4`, you can set `deployment2` as the production deployment so that it receives all production traffic. `v3` will remain running on `deployment1` in case you discover a critical issue that requires rolling back.
40
40
41
-

41
+
:::image type="content" source="media/concepts-blue-green-deployment-strategies/alternating-deployments-3.png" alt-text="V4 on deployment2 now receives production traffic" lightbox="media/concepts-blue-green-deployment-strategies/alternating-deployments-3.png":::
42
42
43
43
Now, `deployment1` is the staging deployment. So the next run of the deployment pipeline deploys onto `deployment1`.
44
44
45
-

45
+
:::image type="content" source="media/concepts-blue-green-deployment-strategies/alternating-deployments-4.png" alt-text="V5 deployed on deployment1" lightbox="media/concepts-blue-green-deployment-strategies/alternating-deployments-4.png":::
46
46
47
47
You can now test `V5` on `deployment1`'s private test endpoint.
48
48
49
-

49
+
:::image type="content" source="media/concepts-blue-green-deployment-strategies/alternating-deployments-5.png" alt-text="V5 tested on deployment1" lightbox="media/concepts-blue-green-deployment-strategies/alternating-deployments-5.png":::
50
50
51
51
Finally, after `v5` meets all your expectations, you set `deployment1` as the production deployment once again, so that `v5` receives all production traffic.
52
52
53
-

53
+
:::image type="content" source="media/concepts-blue-green-deployment-strategies/alternating-deployments-6.png" alt-text="V5 receives traffic on deployment1" lightbox="media/concepts-blue-green-deployment-strategies/alternating-deployments-6.png":::
54
54
55
55
### Tradeoffs of the alternating deployments approach
56
56
@@ -64,7 +64,7 @@ The staging deployment always remains running, and thus consuming resources of t
64
64
65
65
Suppose in the above application, the release pipeline requires manual approval before each new version of the application can receive production traffic. This creates the risk that while one version (`v6`) awaits manual approval on the staging deployment, the deployment pipeline will run again and overwrite it with a newer version (`v7`). Then, when the approval for `v6` is granted, the pipeline that deployed `v6` will set the staging deployment as production. But now it will be the unapproved `v7`, not the approved `v6`, that is deployed on that deployment and receives traffic.
You may be able to prevent the race condition by ensuring that the deployment flow for one version can't begin until the deployment flow for all previous versions is complete or aborted. Another way to prevent the approval race condition is to use the Named Deployments approach described below.
70
70
@@ -74,15 +74,15 @@ In the named deployments approach, a new deployment is created for each new vers
74
74
75
75
In the illustration below, version `v5` is running on the deployment `deployment-v5`. The deployment name now contains the version because the deployment was created specifically for this version. There's no other deployment at the outset. Now, to deploy version `v6`, the deployment pipeline creates a new deployment `deployment-v6` and deploys app version `v6` there.
76
76
77
-

77
+
:::image type="content" source="media/concepts-blue-green-deployment-strategies/named-deployment-1.png" alt-text="Deploying new version on a named deployment" lightbox="media/concepts-blue-green-deployment-strategies/named-deployment-1.png":::
78
78
79
79
There's no risk of another version being deployed in parallel. First, Azure Spring Apps doesn't allow the creation of a third deployment while two deployments already exist. Second, even if it was possible to have more than two deployments, each deployment is identified by the version of the application it contains. Thus, the pipeline orchestrating the deployment of `v6` would only attempt to set `deployment-v6` as the production deployment.
80
80
81
-

81
+
:::image type="content" source="media/concepts-blue-green-deployment-strategies/named-deployment-2.png" alt-text="New version receives production traffic named deployment" lightbox="media/concepts-blue-green-deployment-strategies/named-deployment-2.png":::
82
82
83
83
After the deployment created for the new version receives production traffic, you'll need to remove the deployment containing the previous version to make room for future deployments. You may wish to postpone by some number of minutes or hours so you can roll back to the previous version if you discover a critical issue in the new version.
84
84
85
-

85
+
:::image type="content" source="media/concepts-blue-green-deployment-strategies/named-deployment-3.png" alt-text="After a fallback period, deleting the previous deployment" lightbox="media/concepts-blue-green-deployment-strategies/named-deployment-3.png":::
Copy file name to clipboardExpand all lines: articles/spring-apps/enterprise/github-actions-key-vault.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
@@ -56,11 +56,11 @@ The credential you created above can get only general information about the Key
56
56
57
57
Go to the **Key Vault** dashboard in Azure portal, select the **Access control** menu, then open the **Role assignments** tab. Select **Apps** for **Type** and `This resource` for **scope**. You should see the credential you created in previous step:
Copy the credential name, for example, `azure-cli-2020-01-19-04-39-02`. Open the **Access policies** menu, then select the **Add Access Policy** link. Select `Secret Management` for **Template**, then select **Principal**. Paste the credential name in **Principal**/**Select** input box:
Select the **Add** button in the **Add access policy** dialog, then select **Save**.
66
66
@@ -90,7 +90,7 @@ Again, results:
90
90
91
91
Copy the entire JSON string. Go back to **Key Vault** dashboard. Open the **Secrets** menu, then select the **Generate/Import** button. Input the secret name, such as `AZURE-CREDENTIALS-FOR-SPRING`. Paste the JSON credential string to the **Value** input box. You may notice the value input box is a one-line text field, rather than a multi-line text area. You can paste the complete JSON string there.
Copy file name to clipboardExpand all lines: articles/spring-apps/enterprise/troubleshoot.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -272,7 +272,7 @@ Creating an Azure Spring Apps Enterprise plan instance fails with error code "11
272
272
273
273
When you visit the SaaS offer [Azure Spring Apps Enterprise](https://aka.ms/ascmpoffer) in the Azure Marketplace, it may say "No plans are available for market '\<Location>'" as in the following image.
274
274
275
-

275
+
:::image type="content" source="./media/troubleshoot/no-enterprise-plans-available.png" alt-text="No plans available error image" lightbox="./media/troubleshoot/no-enterprise-plans-available.png":::
276
276
277
277
The Azure Spring Apps Enterprise plan needs customers to pay for a license to Tanzu components through an Azure Marketplace offer. To purchase in the Azure Marketplace, the billing account's country or region for your Azure subscription should be in the SaaS offer's supported geographic locations.
0 commit comments