Recently Microsoft introduced the public preview of the Azure Developer CLI (azd) — a new, open-source tool that accelerates the time it takes to get started on Azure. It provides developer-friendly commands that map to essential stages in the developer workflow: code, build, deploy, monitor, and repeat.
The Azure Developer CLI is designed to set up the resources developers need to run their applications in Azure. According to the Microsoft documentation, the recommended workflow for the Azure Developer CLI is:
- Template selection
- Get and deploy workflow
- Change code, commit and automatically deploy to running apps
Source: https://docs.microsoft.com/en-us/azure/developer/azure-developer-cli/overview
Developers can use various commands such as azd init, azd provision, azd deploy, azd monitor, and azd pipeline config. Also, Savannah Ostrowski, a senior product manager, Cloud Native Developer Tools & Experience at Microsoft, wrote in a developer blog post:
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.
However, Dana Epp, a security engineer, and researcher at Vulscan Digital Security, warned in a tweet:
What's the worst thing for MORE shadow IT for cloud admins to fret about?
It's sexy. Powerful. And puts potential company resources at risk.
Friend's don't let friends 'right-click deploy'. And they shouldn't allow `azd up` without isolation.
Note that every template comes with source code, infrastructure code, pipeline files, and configuration needed to run the entire solution on Azure and local run and debug in VS Code and Visual Studio. Furthermore, guidance is available through the documentation landing page and getting started video.
A respondent in a Reddit thread on the Azure Developer CLI said:
Looks like another wrapper for something that was already solved. Deploying IaC and applications to PaaS is easy enough with CI/CD tasks. I guess the tool is nice if a developer needs to deploy a test cloud infrastructure and application from a local computer. Still going to test out in CI/CD because never know until used.
Currently, the Azure Developer CLI is in public preview and includes support for Container Apps, Functions, Static Web Apps, & App Services in Node, Python, and C#. AKS and Java are coming soon. Microsoft uses Bicep in current templates, while other IaC providers, like Terraform, are in the works.