DEV Community

Cristian Sifuentes
Cristian Sifuentes

Posted on

Demystifying Azure IaaS: Building Cloud Infrastructure from the Ground Up

Demystifying Azure IaaS

Demystifying Azure IaaS: Building Cloud Infrastructure from the Ground Up

In today’s digital-first world, organizations are rapidly migrating from on-premise systems to scalable cloud infrastructure. Azure's Infrastructure as a Service (IaaS) model provides virtualized compute, networking, and storage on-demand—empowering teams to innovate faster without worrying about hardware maintenance.

In this post, we’ll break down what Azure IaaS offers, the core components involved, and guide you through a real-world use case deploying a complete virtualized infrastructure using Azure CLI.


What is Azure IaaS?

Azure IaaS provides cloud-based infrastructure resources such as:

  • Virtual Machines (VMs): Run apps, OS, containers
  • Virtual Networks (VNets): Secure, private communication between resources
  • Storage Accounts: Persist disks, files, and blobs
  • Public IPs, NSGs, Load Balancers: Full control over networking stack

Benefits of Azure IaaS

Feature Description
Virtualized Resources Use compute, storage, and network without physical hardware
Elastic Scalability Scale up or down instantly based on demand
Pay-as-You-Go Only pay for what you consume
Simplified Management Azure handles hardware, patching, and scaling
Global Availability Deploy VMs in 60+ regions with multi-zone redundancy
Security Integrated RBAC, encryption, network isolation
Integration Seamless with Azure PaaS, SaaS, Monitoring & DevOps

Real Use Case: Deploying a Production-Ready Linux Web Server

Your DevOps team needs a Ubuntu VM accessible via public IP, with:

  • Persistent OS disk + diagnostic storage
  • VNet and subnet for isolation
  • Network Security Group (NSG) for SSH/HTTP
  • Resource Group cleanup capability

Step-by-Step Deployment with Azure CLI

Step 1: Create a Resource Group

az group create --name IaaSGroup --location eastus
Enter fullscreen mode Exit fullscreen mode

Step 2: Create a Virtual Network and Subnet

az network vnet create --resource-group IaaSGroup --name IaaSVNet   --address-prefix 10.1.0.0/16 --subnet-name WebSubnet --subnet-prefix 10.1.1.0/24
Enter fullscreen mode Exit fullscreen mode

Step 3: Create a Network Security Group and Rule for SSH + HTTP

az network nsg create --resource-group IaaSGroup --name WebNSG
az network nsg rule create --resource-group IaaSGroup --nsg-name WebNSG --name AllowSSH   --protocol tcp --priority 1000 --destination-port-range 22 --access allow --direction inbound
az network nsg rule create --resource-group IaaSGroup --nsg-name WebNSG --name AllowHTTP   --protocol tcp --priority 1001 --destination-port-range 80 --access allow --direction inbound
Enter fullscreen mode Exit fullscreen mode

Step 4: Create a Public IP Address

az network public-ip create --resource-group IaaSGroup --name WebPublicIP
Enter fullscreen mode Exit fullscreen mode

Step 5: Create a Network Interface

az network nic create --resource-group IaaSGroup --name WebNIC   --vnet-name IaaSVNet --subnet WebSubnet --network-security-group WebNSG --public-ip-address WebPublicIP
Enter fullscreen mode Exit fullscreen mode

Step 6: Create a Linux Virtual Machine (Ubuntu 22.04)

az vm create --resource-group IaaSGroup --name WebVM --nics WebNIC   --image Ubuntu2204 --admin-username azureadmin --admin-password StrongP@ssw0rd123
Enter fullscreen mode Exit fullscreen mode

Step 7: Open VM in Browser

az vm open-port --port 80 --resource-group IaaSGroup --name WebVM
Enter fullscreen mode Exit fullscreen mode

Optional: Add a Storage Account for File Storage

az storage account create --name webfilesstorage --resource-group IaaSGroup --location eastus --sku Standard_LRS
Enter fullscreen mode Exit fullscreen mode

Clean Up Resources

az group delete --name IaaSGroup --yes --no-wait
Enter fullscreen mode Exit fullscreen mode

Final Thoughts

Azure IaaS is ideal for:

  • Custom environments with full control
  • Legacy app migration
  • High availability VM deployments
  • Dev/Test sandboxes
  • VPN & Bastion jump boxes

Combine Azure IaaS with monitoring (Azure Monitor), automation (Azure CLI, Bicep), and DevOps pipelines to unlock modern, resilient cloud operations.


✍️ Written by: Cristian Sifuentes – Full-stack dev crafting scalable apps with [NET - Azure], [Angular - React], Git, SQL & extensions. Clean code, dark themes, atomic commits

Top comments (0)