Resource Deployment and Management

Compares Azure Portal, CLI, PowerShell, ARM templates, Bicep, and Azure Arc.

One of the first surprises when learning Azure is discovering how many different ways you can create a server — click a few buttons in a browser, type a single command in a terminal, or deploy hundreds of servers at once using a code file. Each approach has its own strengths, and knowing which to use and when is exactly what AZ-900 tests.

This post explains every Azure management tool — from Azure Portal to Azure Arc — using everyday analogies that anyone can understand, even without a technical background.

 

What Is Resource Management?

A "resource" in Azure means anything you can create there — virtual machines (servers), databases, networks, storage accounts, AI services, and more. Creating, configuring, modifying, and deleting these resources is called "resource management."

Think of it like ordering pizza. There are multiple ways to place an order at a local pizza restaurant: Walk in and order at the counter (Azure Portal — click the GUI) Call by phone (Azure CLI — type commands) Use the mobile app (Azure PowerShell — run scripts) Place a bulk catering contract (ARM Templates / Bicep — deploy at scale with code)

No matter which method you choose, the pizza is ultimately made in the restaurant kitchen. In Azure, that kitchen is called Azure Resource Manager (ARM).

 

Azure Portal — The Restaurant's Kiosk Touchscreen

Azure Portal (portal.azure.com) is a graphical management interface you access through any web browser. With just mouse clicks and form fields, you can create virtual machines, change settings, view costs, and monitor your resources with dashboards.

What Makes Azure Portal Great

Azure Portal is the most welcoming environment for anyone new to Azure. There are no commands to memorize — just follow the on-screen guidance.

Accessible from any device via browser (portal.azure.com) Point-and-click creation and management of all resources Real-time dashboard showing costs, performance metrics, and alerts at a glance Basic management available through the Azure Mobile App on your phone Customizable dashboards — pin your most-used information to a single view

Where Azure Portal Falls Short

Azure Portal is intuitive but struggles with repetitive tasks. If you need to create 50 virtual machines with identical settings, you would have to click through the wizard 50 times. For repetitive or large-scale work, CLI or IaC tools are far more efficient.

 

Azure Cloud Shell — A Terminal Built Right Into Your Browser

Azure Cloud Shell is a terminal environment embedded directly in the Azure Portal browser window. No software installation needed — open the browser, click the Cloud Shell icon, and you have a fully functional command line ready to use.

It is like having a direct intercom to the restaurant kitchen built into the kiosk screen.

Why Azure Cloud Shell Is Particularly Useful

Zero installation: works anywhere with a browser — your laptop, a tablet, a borrowed computer Choose between Bash (Linux-style commands) and PowerShell (Windows-style commands) Azure CLI and Azure PowerShell modules are both pre-installed and always up to date Development tools included: Python, Node.js, .NET and more Work files are automatically saved to Azure Files cloud storage — your files persist even after closing the session Safely manage Azure from any machine — no need to worry about credentials stored on a local device

 

Azure CLI — Ordering by Text Message

Azure CLI (Command-Line Interface) is a tool that lets you manage Azure by typing commands starting with "az" into any terminal window. Like ordering a pizza by text message — quick, repeatable, and easy to automate with scripts. It runs on Windows, macOS, and Linux.

Azure CLI Command Structure

Azure CLI commands follow a consistent pattern:

Examples: (create a VM) (list VMs) (stop a VM) (create a resource group)

Key Characteristics of Azure CLI

Cross-platform: runs on Windows, macOS, and Linux without changes Script automation: put commands in a shell script to automate repetitive work CI/CD integration: used in automated deployment pipelines (GitHub Actions, Azure DevOps) JSON output format makes it easy to chain with other tools and scripts

 

Azure PowerShell — The Windows Administrator's Tool

Azure PowerShell manages Azure using the Az PowerShell module with "Az" prefix commands. IT administrators already familiar with managing Windows Server or Active Directory will immediately feel at home — same PowerShell syntax, new Azure capabilities.

Azure PowerShell Command Structure

Azure PowerShell follows the naming pattern:

Examples: (create a VM) (list VMs) (stop a VM) (create a resource group)

Azure CLI vs Azure PowerShell Side-by-Side

| Comparison | Azure CLI | Azure PowerShell | |-----------|-----------|----------------| | Command style | Linux/Bash style | Windows PowerShell style | | Best for | Linux/Mac users, developers | Windows-focused IT administrators | | Feature parity | Nearly identical | Nearly identical | | How to choose | Whichever feels more natural | Whichever feels more natural |

Both tools are available in Azure Cloud Shell and offer essentially the same Azure capabilities. Choose whichever matches your background — either works perfectly for Azure management.

 

All Four Tools Compared

| Tool | Interface | Automation | Installation | Best Use Case | |------|-----------|------------|-------------|--------------| | Azure Portal | Graphical (GUI) | Difficult | Not needed | Learning Azure, one-off tasks, visual monitoring | | Azure Cloud Shell | Command line (browser) | Yes | Not needed | Quick commands from any browser | | Azure CLI | Command line | Yes | Required | Linux/Mac environments, cross-platform scripting | | Azure PowerShell | Command line | Yes | Required | Windows environments, Windows administrators |

 

Infrastructure as Code (IaC) — Architectural Blueprint and Construction Manual

Imagine building a 10-story office building. Without blueprints, every floor gets built differently based on whoever happens to be on site that day. But with a precise architectural blueprint, the same building can be constructed consistently in Seoul, Busan, or anywhere else.

Infrastructure as Code (IaC) applies this idea to cloud resources. Instead of manually clicking to create each virtual machine, database, and network every time, you define them all in a code file — and whenever you need that environment, you submit the file to Azure and it builds everything automatically and identically.

Core benefits of IaC: Repeatability: deploy the exact same environment to dev, test, and production Consistency: eliminates configuration drift caused by manual clicking mistakes Version control: track every infrastructure change in Git — see who changed what and when Rapid recovery: in a disaster, run the code once to restore the entire environment

 

Azure Resource Manager (ARM) — Central Order Hub and Coordinator

Azure Resource Manager (ARM) is the central hub that processes every management request in Azure. Whether you click in the Portal, type in Azure CLI, run Azure PowerShell, call a REST API directly, or deploy an ARM template — every single request passes through ARM. Without ARM, nothing in Azure can be created, modified, or deleted.

What ARM Actually Does

ARM does far more than simply relay requests:

Authentication and authorization: "Does the person making this request have permission to do it?" Dependency resolution: "To create this VM, a network and storage must exist first" Parallel processing: resources with no dependencies are created simultaneously State tracking: if a deployment fails midway, ARM knows exactly which resources were successfully created Activity logging: every operation is written to audit logs for compliance and troubleshooting

ARM's Resource Group Management

ARM manages resources in logical groups called resource groups. Put a web server, database, and cache server all into a "Website Project" resource group. When the project ends, deleting that one resource group cleans up all related resources at once — no hunting for individual resources scattered across Azure.

 

ARM Templates — The JSON Blueprint

An ARM template is a JSON (JavaScript Object Notation) file that declares your desired Azure infrastructure. "Create a virtual machine with this name, this size, this operating system, connected to this network" — all written as code in a file. Submit that file to Azure and the same environment is automatically created every time.

The Declarative Approach of ARM Templates

There are two programming philosophies: Imperative: "Step 1: create the resource group. Step 2: create the network. Step 3: create the VM." Declarative: "Here is the environment I need. Azure, figure out how to make it happen."

ARM templates are declarative. You describe the desired final state. Azure compares current state to desired state and performs only the necessary actions. Resources that already exist are left untouched; only missing pieces are added.

Back to blog list