This week Microsoft announced the public preview of the Azure Developer CLI (
azd) — yes this is yet another CLI, a new open-source tool that accelerates the time it takes to get started on Azure. This post will do a quick intro of this new CLI and show how to get started and list out the resources to follow up on to learn more.
Introducing the Azure Developer CLI
You might be asking what is the Azure Developer CLI? Does this replace the Azure CLI? So let’s dive in and take a look. Think of the Azure Developer CLI as an abstraction over the Azure CLI and provides developer-friendly commands that map to key stages of your workflow: code, build, deploy, monitor, and repeat. To create, provision, and deploy a new application in one step, it’s as easy as:
azd up --template todo-nodejs-mongo
The Azure Developer CLI comes with extensible templates that include everything you need to get an application up and running in Azure. These templates include best practices, application code and reusable infrastructure as code assets written in Bicep.
The new Azure Developer CLI builds upon the experience and foundations of the Azure CLI. You can use both tools together, as needed, to support your Azure workflow.
To learn more about the Azure Developer CLI, be sure to check out the Developer Hub!
Why the need for another CLI?
As a developer, you need to make many decisions when it comes to building, deploying, and securing your application. Some of those questions you might ask are:
- Which cloud services should I use with my code?
- Which libraries do I need to use?
- How should I set up my local development environment?
- How do I provision the necessary infrastructure for my application?
- How do I know that what I’m doing incorporates security best practices?
The Azure Developer CLI helps you answer these questions and many more. It provides you with a clear path for building your application in the cloud.
With the Azure Developer CLI, a typical developer workflow looks like this:
azd init: Create an application and initialize an environment using a sample template in your preferred language.
azd provision: Provision the necessary resources for your application on Azure.
azd deploy: Deploy your application to Azure.
azd monitor: Monitor your application’s behavior and performance and validate deployments.
azd pipeline config: Create and manage CI/CD (continuous integration and continuous delivery).
Better yet, you can also use
azd up to create, provision, and deploy a new application in one step! For a list of supported commands, see the Developer CLI reference docs. Alternatively, run
azd –h from your preferred terminal after installation. If you no longer want or need the resources you’ve created, you can run
Whether you’re working in the terminal, your editor or IDE (like Visual Studio Code or Visual Studio), or your GitHub Actions pipeline, Azure Developer CLI commands remain consistent regardless of the context.
Before you get started using
azd, ensure you have the following installed:
You will also need an Azure account with an active subscription. If you dont have one then you can create one for free.
With the pre-requisites installed, you can now install the standalone Azure Developer CLI via the following command in your preferred terminal.
powershell -ex AllSigned -c "Invoke-RestMethod 'https://aka.ms/install-azd.ps1' | Invoke-Expression"
curl -fsSL https://aka.ms/install-azd.sh | bash
The Azure Developer CLI uses idiomatic application templates that extend beyond “Hello World!” to include the scaffolding for monitoring and CI/CD for your application.
Each template includes application code, an
/infra directory containing all the infra-as-code files needed to provision the Azure resources, and an azure.yaml file that describes your application. These templates are extensible and customizable to your specific use case.
In a follow up post I’ll dig deeper into one of the provided templates where we will build an application and deploy it to Azure.