Skip to content

Commit e6249a7

Browse files
committed
freshen up arm and make it a quickstart
Signed-off-by: Hannah Hunter <[email protected]>
1 parent bbb05db commit e6249a7

File tree

3 files changed

+25
-51
lines changed

3 files changed

+25
-51
lines changed

articles/container-apps/TOC.yml

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -268,12 +268,10 @@
268268
displayName: Developing with Dapr overview
269269
- name: Get started
270270
items:
271-
- name: Quickstarts
272-
items:
273-
- name: Daploy using Azure CLI
274-
href: microservices-dapr.md
275-
- name: Deploy using ARM or Bicep
276-
href: microservices-dapr-azure-resource-manager.md
271+
- name: Daploy using Azure CLI
272+
href: microservices-dapr.md
273+
- name: Deploy using ARM or Bicep
274+
href: microservices-dapr-azure-resource-manager.md
277275
- name: Connect to Azure services via Dapr components
278276
href: dapr-component-connection.md
279277
- name: Enable Dapr

articles/container-apps/microservices-dapr-azure-resource-manager.md

Lines changed: 19 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -13,31 +13,17 @@ zone_pivot_groups: container-apps
1313

1414
# Tutorial: Deploy a Dapr application to Azure Container Apps with an Azure Resource Manager or Bicep template
1515

16-
[Dapr](https://dapr.io/) (Distributed Application Runtime) is a runtime that helps you build resilient stateless and stateful microservices. In this tutorial, a sample Dapr solution is deployed to Azure Container Apps via an Azure Resource Manager (ARM) or Bicep template.
17-
18-
You learn how to:
16+
[Dapr](./dapr-overview.md) (Distributed Application Runtime) helps developers build resilient, reliable microservices. In this quickstart, you learn how to enable Dapr sidecars to run alongside your microservices container apps using either Azure Resource Manager or Bicep templates. You'll:
1917

2018
> [!div class="checklist"]
2119
>
22-
> - Create an Azure Blob Storage for use as a Dapr state store
23-
> - Deploy a Container Apps environment to host container apps
24-
> - Deploy two dapr-enabled container apps: one that produces orders and one that consumes orders and stores them
25-
> - Assign a user-assigned identity to a container app and supply it with the appropriate role assignment to authenticate to the Dapr state store
26-
> - Verify the interaction between the two microservices.
27-
28-
With Azure Container Apps, you get a [fully managed version of the Dapr APIs](./dapr-overview.md) when building microservices. When you use Dapr in Azure Container Apps, you can enable sidecars to run next to your microservices that provide a rich set of capabilities.
29-
30-
In this tutorial, you deploy the solution from the Dapr [Hello World](https://github.com/dapr/quickstarts/tree/master/tutorials/hello-world) quickstart.
31-
32-
The application consists of:
33-
34-
- A client (Python) container app to generate messages.
35-
- A service (Node) container app to consume and persist those messages in a state store
36-
37-
The following architecture diagram illustrates the components that make up this tutorial:
20+
> - Deploy a template that launches everything you need to run microservices that produce and consume messages and store them in an Azure Blob Storage state store.
21+
> - Verify the interaction between the two microservices in the Azure portal.
3822
3923
:::image type="content" source="media/microservices-dapr/azure-container-apps-microservices-dapr.png" alt-text="Architecture diagram for Dapr Hello World microservices on Azure Container Apps":::
4024

25+
This quickstart mirrors the applications you deploy in the open-source Dapr [Hello World](https://github.com/dapr/quickstarts/tree/master/tutorials/hello-world) quickstart.
26+
4127
## Prerequisites
4228

4329
- Install [Azure CLI](/cli/azure/install-azure-cli)
@@ -74,17 +60,6 @@ git clone https://github.com/$GITHUB_USERNAME/Tutorial-Deploy-Dapr-Microservices
7460

7561
## Deploy
7662

77-
The template deploys:
78-
79-
- a Container Apps environment
80-
- a Log Analytics workspace associated with the Container Apps environment
81-
- an Application Insights resource for distributed tracing
82-
- a blob storage account and a default storage container
83-
- a Dapr component for the blob storage account
84-
- the node, Dapr-enabled container app with a user-assigned managed identity: [hello-k8s-node](https://hub.docker.com/r/dapriosamples/hello-k8s-node)
85-
- the python, Dapr-enabled container app: [hello-k8s-python](https://hub.docker.com/r/dapriosamples/hello-k8s-python)
86-
- a Microsoft Entra ID role assignment for the node app used by the Dapr component to establish a connection to blob storage
87-
8863
Navigate to the _acadapr-templates_ directory and run the following command:
8964

9065
::: zone pivot="container-apps-arm"
@@ -149,11 +124,15 @@ New-AzResourceGroupDeployment `
149124

150125
This command deploys:
151126

152-
- the Container Apps environment and associated Log Analytics workspace for hosting the hello world Dapr solution
153-
- an Application Insights instance for Dapr distributed tracing
154-
- the `nodeapp` app server running on `targetPort: 3000` with Dapr enabled and configured using: `"appId": "nodeapp"` and `"appPort": 3000`, and a user-assigned identity with access to the Azure Blob storage via a Storage Data Contributor role assignment
155-
- A Dapr component of `"type": "state.azure.blobstorage"` scoped for use by the `nodeapp` for storing state
156-
- the Dapr-enabled, headless `pythonapp` that invokes the `nodeapp` service using Dapr service invocation
127+
- The Container Apps environment and associated Log Analytics workspace for hosting the hello world Dapr solution.
128+
- An Application Insights instance for Dapr distributed tracing.
129+
- The `nodeapp` app server running on `targetPort: 3000` with Dapr enabled and configured using:
130+
- `"appId": "nodeapp"`
131+
- `"appPort": 3000`
132+
- A user-assigned identity with access to the Azure Blob storage via a Storage Data Contributor role assignment
133+
- A Dapr component of `"type": "state.azure.blobstorage"` scoped for use by the `nodeapp` for storing state.
134+
- The Dapr-enabled, headless `pythonapp` that invokes the `nodeapp` service using Dapr service invocation.
135+
- A Microsot Entra ID role assignment for the Node.js app used by the Dapr component to establish a connection to Blob storage.
157136

158137
## Verify the result
159138

@@ -165,7 +144,7 @@ You can confirm that the services are working correctly by viewing data in your
165144

166145
1. Go to the newly created storage account in your resource group.
167146

168-
1. Select **Containers** from the menu on the left side.
147+
1. Select **Data Storage** > **Containers** from the menu on the left side.
169148

170149
1. Select the created container.
171150

@@ -179,7 +158,7 @@ You can confirm that the services are working correctly by viewing data in your
179158

180159
### View Logs
181160

182-
Data logged via a container app are stored in the `ContainerAppConsoleLogs_CL` custom table in the Log Analytics workspace. You can view logs through the Azure portal or from the command line. Wait a few minutes for the analytics to arrive for the first time before you query the logged data.
161+
Logs from container apps are stored in the `ContainerAppConsoleLogs_CL` custom table in the Log Analytics workspace. You can view logs through the Azure portal or via the CLI. There may be a small delay initially for the table to appear in the workspace.
183162

184163
Use the following command to view logs in bash or PowerShell.
185164

@@ -223,7 +202,9 @@ nodeapp Got a new order! Order ID: 63 PrimaryResult 2021-10-22
223202

224203
## Clean up resources
225204

226-
Once you're done, run the following command to delete your resource group along with all the resources you created in this tutorial.
205+
Since `pythonapp` continuously makes calls to `nodeapp` with messages that get persisted into your configured state store, it is important to complete these cleanup steps to avoid ongoing billable operations.
206+
207+
If you'd like to delete the resources created as a part of this walkthrough, run the following command.
227208

228209
# [Bash](#tab/bash)
229210

@@ -240,11 +221,6 @@ Remove-AzResourceGroup -Name $RESOURCE_GROUP -Force
240221

241222
---
242223

243-
> [!NOTE]
244-
> Since `pythonapp` continuously makes calls to `nodeapp` with messages that get persisted into your configured state store, it is important to complete these cleanup steps to avoid ongoing billable operations.
245-
246-
---
247-
248224
> [!TIP]
249225
> Having issues? Let us know on GitHub by opening an issue in the [Azure Container Apps repo](https://github.com/microsoft/azure-container-apps).
250226

articles/container-apps/microservices-dapr.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@ ms.custom: devx-track-azurecli, devx-track-azurepowershell
1111
ms.devlang: azurecli
1212
---
1313

14-
# Tutorial: Deploy a Dapr application to Azure Container Apps using the Azure CLI
14+
# Quickstart: Deploy a Dapr application to Azure Container Apps using the Azure CLI
1515

16-
[Dapr](./dapr-overview.md) (Distributed Application Runtime) helps developers build resilient, reliable microservices. In this quickstart, you learn how to enable Dapr sidecars to run alongside your microservices container apps. You'll
16+
[Dapr](./dapr-overview.md) (Distributed Application Runtime) helps developers build resilient, reliable microservices. In this quickstart, you learn how to enable Dapr sidecars to run alongside your microservices container apps. You'll:
1717

1818
> [!div class="checklist"]
1919
> * Create a Container Apps environment and Azure Blog Storage state store for your container apps.

0 commit comments

Comments
 (0)