Introduction

Completed

Developers often face many challenging tasks and decisions when building apps for the cloud. Creating a properly architected and configured environment can be a time-consuming and difficult process. Developers must account for many different concerns in these environments, such as creating resources, applying configurations, setting up monitoring and logging, building CI/CD pipelines, and other tasks. The Azure Developer CLI (azd) reduces and streamlines these responsibilities to help the developer on their journey from a local development environment to an application successfully deployed on Azure.

Prerequisites

  • Before completing this module, you should have a basic conceptual understanding of what the Azure Developer CLI is and how it works. For a high-level introduction to the tool, complete the Introduction to Azure Developer CLI module first.

  • You also need an Azure subscription to provision and deploy resources. You can sign up for an Azure account that includes some free credits for the first 30 days to get started.

Note

The Azure Developer CLI provisions resources in Azure that might incur costs. If you choose to use your own subscription, make sure to dispose of the resources when you're finished to avoid unwanted charges. This module's final unit explains the best ways to perform resource clean up when you're done working with azd.

Example scenario

Suppose you work at a company that operates a ticket management and customer communication platform. Your customers use a mobile app or website to submit questions, report issues, or message customer service representatives. The platform requires a variety of Azure services to provide a reliable and scalable architecture:

  • Two App Services and an App Service Plan to host the front-end web app and back-end API
  • A Key Vault instance to store secure app secrets
  • A Cosmos DB database to permanently store app data
  • Azure Monitor resources such as Application Insights dashboards
  • A Service Bus to manage scalable messaging
  • CI/CD pipelines to ensure changes can be reliably deployed through an automated, repeatable process

Rather than starting from the ground up, you'd like to leverage an existing and extensible architecture template that can provision and deploy most of the resources for you. The development team can then focus on building the app and making smaller adjustments the architecture. You'd also like the solution to be reusable and distributable, meaning the same architecture could be consistently recreated at a later date in additional environments for additional teams.

The Azure Developer CLI can help you with these goals by using intuitive workflow commands and a powerful template system. The sample app template you'll work with in this module includes many of the previously listed services through the following architecture:

An architectural diagram for a messaging app.

What is the main goal?

By the end of this session, you'll understand how to provision and deploy an Azure Developer CLI template, run commands to access additional azd features such as monitoring, and see how to redeploy updates to the infrastructure and application code.