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 azd down
.
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.
Getting Started
Pre-requisites
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.
Installation
With the pre-requisites installed, you can now install the standalone Azure Developer CLI via the following command in your preferred terminal.
Windows
powershell -ex AllSigned -c "Invoke-RestMethod 'https://aka.ms/install-azd.ps1' | Invoke-Expression"
macOS/Linux
curl -fsSL https://aka.ms/install-azd.sh | bash
Application templates for C#, Python, and JavaScript/TypeScript
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.
For the first preview, they’ve authored an initial set of template applications written in Python, JavaScript/TypeScript, and C# and for hosts such as Azure App Service, Azure Container Apps, and Azure Static Web Apps + Function Apps. For more templates, check out the growing list of templates. If you’re interested in authoring your own template or creating a template from an existing application, see the Developer Hub.
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.
Enjoy!
Like this:
Like Loading...