👨‍💻 Imagine this

You work at a medical research company and manage servers that power everything, including websites, databases, and data analysis tools. But… your servers are old and struggling to handle new, demanding applications.

You're considering an upgrade, but there are some challenges.

🚧 Problems with On-Premises Servers

💡 Solution: Move to the cloud, specifically, Microsoft Azure Virtual Machines (VMs).

☁️ Why Azure VMs?

🔍 What We'll Cover?

  1. 🏗️ Decisions before creating a VM: Choosing the proper setup.

  2. Options to create and manage a VM: Different ways to deploy and control VMs.

  3. 🔧 Extensions and services: Extra tools to make management easier.

✅Bottom line: Azure Virtual Machines give you the flexibility of traditional servers without the hassle of physical hardware, making them perfect for a growing, global company.

📝 The Ultimate Checklist for Creating an Azure Virtual Machine (VM)

☁️ Moving servers to Microsoft Azure is a big step toward making your IT infrastructure more scalable, secure, and future-ready.

Instead of buying and managing physical servers, Azure lets you run virtual computers in the cloud that act just like your on-premises machines but with far more flexibility.

Here's a detailed, easy-to-follow checklist to plan and create your first VM with confidence.

🔍 What is an Azure Resource?

In Azure, everything you create, such as servers, networks, disks, and IP addresses, is referred to as a resource. A Virtual Machine (VM) is composed of multiple resources that work together.

💡 Tip: If you let Azure create these for you, it names them automatically. Using consistent, clear naming will save time later!

✅ Detailed VM Creation Checklist

1️⃣ Plan Your Network First 🌐

Your network design is the foundation of your VM setup. Poor planning can lead to security risks and connectivity issues.

🔗 Map communication paths

🔓 Plan ports and firewall rules

🗺️ Choose network ranges carefully

Use private IP ranges

🗂️ Segment your network with subnets

Example

🛡️ Apply NSGs (firewall rules)

2️⃣ Pick a Clear and Consistent VM Name 🏷️

Your VM's name is more than a label:

📌 Naming convention example: [Environment][Region]-[Role]VM[Number] → deveus-webvm01

This means,

💡 Pro Tip

3️⃣ Choose the Right Region 🌍

Azure has data centers worldwide. Picking the correct region is crucial.

💡 Example: Hosting a web app for Asian users? Deploy in Southeast Asia for faster access.

4️⃣ Select the Right VM Size ⚖️

Azure provides pre-built size options that combine CPU, memory, and storage to match workloads.

VM TypeBest For
🖥️ General PurposeSmall/medium workloads, testing, dev environments
🚀 Compute OptimizedApp servers, batch processing, network appliances
🧠 Memory OptimizedLarge databases, analytics, in-memory caching
💽 Storage OptimizedHeavy disk I/O, big data, large databases
🎨 GPUGraphics rendering, AI training, ML workloads
High-Performance Compute (HPC)Supercomputing, simulations, scientific apps

💡 Scalability: You can resize VMs anytime (upgrade/downgrade), but resizing causes a reboot .

5️⃣ Plan Your Storage Strategy 💾

VM storage is separate from compute and billed independently.

🔹 Disk Types

Disk TypeBest Use CaseMax IOPS
🔥 Ultra DiskEnterprise-grade DBs, SAP HANA, transactions160K
⚡ Premium SSD v2Low-latency, high-performance apps80K
⚡ Premium SSDProduction workloads20K
💡 Standard SSDWeb servers, dev/test6K
💾 Standard HDDBackups, rarely accessed data2K

💡 Tip: Keep data disks separate from the OS disk for easy disaster recovery.

6️⃣ Choose the Right Operating System 🖥️

Azure offers

7️⃣ Understand Pricing 💰

Azure charges for compute (VM runtime) and storage separately.

🖥️ Compute Costs

Pay-as-you-go

📅 Reserved Instances (1–3 yrs)

💾 Storage Costs

💡 Cost-saving tip: Use Azure Hybrid Benefit to reuse your Windows or SQL Server licenses.

🛠️ Azure VM Resources & Billing Breakdown

ResourcePurposeCost Notes
🌐 Virtual Network (VNet)Network connectivityBilled separately
🔌 Network Interface (NIC)Connects VM to VNetFree (limits depend on VM size)
📡 Public/Private IP AddressExternal/internal communicationCharged per IP usage
🛡️ Network Security GroupFilters traffic (firewall)Free
💽 DisksStores OS and dataBilled by type & size
🪟 OS LicenseWindows/Linux licensingIncluded or discounted with Hybrid Benefit

🎯 Quick Recap

Before creating a VM

  1. 🌐 Plan your network carefully, address ranges, subnets, and firewall rules.

  2. 🏷️ Use clear naming conventions for easy management.

  3. 🌍 Select the right Azure region for cost, speed, and compliance.

  4. ⚖️ Match VM size to your workload, resize as you grow.

  5. 💾 Design a storage strategy to separate data from the OS.

  6. 🖥️ Pick the best OS image or custom setup.

  7. 💰 Understand pricing to avoid surprises.

✅ With this roadmap, you'll confidently deploy secure, scalable, and cost-effective VMs in Azure.

🛠️ Exercise: Create a Virtual Machine (VM) in Azure Portal

💡 Scenario: You've planned your network and identified VMs to move to the cloud. Now, let's create your first Azure Virtual Machine using the Azure Portal (the easiest way to start!).

🌐 Options for Creating & Managing VMs

Azure offers multiple ways to create and manage virtual machines.

For this exercise, we'll use the Azure Portal.

🖥️ Step-by-Step: Create an Azure VM

We'll set up a Linux (Ubuntu) VM that can run a simple web server.

🔑 1. Sign In

Log in to the Azure Portal.

📦 2. Start Creating a Resource

On the Azure homepage, under Azure Services, click Create a Resource.

Azure-

In the new pane, select Virtual Machine.

🔍 Tip: You can also search for "Virtual Machine" in the search bar.

⚙️ 3. Configure VM Basics

Fill out the Basics tab.

🔹 Setting🔹 Value to Enter
SubscriptionConcierge Subscription
Resource GroupChoose your resource group
VM Nametest-ubuntu-cus-vm
RegionSelect the region closest to you
AvailabilityNo infrastructure redundancy required
Security TypeStandard
ImageUbuntu Server 24.04 LTS (Gen2)
Architecturex64
Azure Spot DiscountLeave unchecked
SizeStandard D2s v3 (2 vCPUs, 8 GB RAM)

👤 4. Set Administrator Account

🔹 Setting🔹 Value to Enter
Authentication TypeSSH Public Key
UsernameYour desired username
SSH KeyGenerate new key pair

🌐 5. Configure Inbound Ports

This allows you to connect remotely via SSH.

✅ 6. Review & Create

  1. Click Review + Create.

  2. Azure will validate your settings.

  3. If there are errors, go back and fix them.

  4. Once validation passes, click Create.

🔐 7. Download SSH Key

📡 8. Wait for Deployment

When the VM is created, you'll see 'Deployment succeeded'.

Picture2

🌍 9. Access the VM

Click Go to Resource.

Copy the Public IP Address from the overview page.

Picture3

Use any SSH client to connect.

Ssh -i your-key.pem username@Public-IP.

🎉 Congratulations! You've successfully deployed a VM in Azure.

🧾 Key Takeaways

🖥️ Easy Guide: Ways to Create and Manage Azure Virtual Machines (VMs).

Azure offers multiple ways to create and manage Virtual Machines (VMs), depending on your needs. Whether you're new to Azure or running large-scale deployments, there's an option for you.

🌐 1. Azure Portal (Best for Beginners)

What it is: A web-based, user-friendly interface to create and manage all Azure resources.

When to use?

Key features

📌 Example: You can spin up a Ubuntu server VM in a few clicks, configure SSH access, and view everything (IP, CPU, memory) from the dashboard.

📝 2. Azure Resource Manager (ARM) Templates

What it is: A JSON file that defines your VM setup (size, OS, network, etc.)

When to use?

✅ Need to create multiple identical VMs

✅ Automating deployments

Why is it great?

🛠️ Example: Export a running VM as a template, tweak the JSON, and redeploy it anywhere with ease.

Picture4

ARM Templates

Picture5Picture10

Bicep

Picture6

Terraform

Picture7Picture8

💻 3. Azure CLI (Command-Line Interface)

What it is: A cross-platform command-line tool for Azure.

When to use?

Why is it great?

📌 Example Command

  
    az vm create \
    --resource-group TestResourceGroup \
    --name myVM \
    --image Ubuntu2204 \
    --admin-username azureuser \
    --generate-ssh-keys
  

4. Azure PowerShell

What it is: A command-line tool designed for automation in Azure, especially for Windows admins.

When to use?

Why is it great?

📌 Example Command

  
    New-AzVm `-ResourceGroupName "TestResourceGroup" `
    -Name "testVM" `
    -Location "East US" `
    -Image Debian11 `
    -OpenPorts 22
  

🏗️ 5. Terraform

What it is: A popular Infrastructure-as-Code (IaC) tool that works with multiple cloud providers.

When to use?

Why is it great?

🔗 6. Azure REST API

What it is: A programmatic way to create and manage VMs via HTTP calls.

When to use?

Why is it great?

👨‍💻 7. Azure Client SDK

What it is: SDKs for programming languages like C#, Java, Python, and Node.js to interact with Azure easily.

When to use?

📌 Example

  
    azure.VirtualMachines.Define(vmName)
    .WithRegion(Region.USEast)
    .WithExistingResourceGroup("TestRG")
    .WithLatestWindowsImage("MicrosoftWindowsServer", "WindowsServer", "2019-Datacenter")
    .WithAdminUsername("admin")
    .WithAdminPassword("StrongPass123")
    .Create();
  

🧩 8. Azure VM Extensions

What it is: Small applications/scripts to configure and manage VMs after deployment.

When to use?

📌 Example: Run a custom script to set up a web server right after creating a VM.

🤖 9. Azure Automation Services

What it is: Automation tools to simplify repetitive tasks.

Services Included

⏹️ 10. Auto-Shutdown (Cost Saver)

📌 Access this feature in VM > Operations > Auto-shutdown.

Picture11

🏁 Quick Recap Table

OptionSkill LevelBest ForAutomation Level
🌐 Azure PortalBeginnerSimple deploymentsLow
📝 ARM TemplatesIntermediateRepeatable deploymentsHigh
💻 Azure CLIIntermediateScripting & DevOpsHigh
⚡ PowerShellIntermediateWindows-heavy environmentsHigh
🏗️ TerraformAdvancedMulti-cloud IaCVery High
🔗 REST APIAdvancedFull programmatic controlVery High
👨‍💻 Client SDKAdvancedApp-driven automationVery High
🧩 VM ExtensionsAll LevelsPost-deployment automationMedium
🤖 Automation ServicesAll LevelsEnterprise-scale automationVery High
⏹️ Auto-ShutdownAll LevelsCost optimizationLow

🖥️ Azure Virtual Machines (VMs) – Easy Guide to High Availability

Imagine your company runs critical medical research software, and all the data is hosted on physical servers. Those servers are aging, scattered across the globe, and hard to maintain. Instead of buying new servers, you move to Azure Virtual Machines, powerful cloud-based computers you can create and control anytime, anywhere.

Azure makes your applications scalable, secure, and always available, without requiring you to manage hardware. Let's break down how Azure ensures your VMs and apps stay online.

🔑 Key Concept: What is Availability?

Availability = The percentage of time your app or service is up and running.

✔️ Auto-moving VMs to healthy servers if one fails.

🏢 Availability Zones – Your First Safety Net

Think of it like having multiple bank vaults in different cities—your valuables (data) are always safe.

📈 Virtual Machine Scale Sets (VMSS)

💡 Great for e-commerce sites, apps with unpredictable traffic, or global businesses.

🌐 Load Balancer – Smooth Traffic Flow

🗄️ Azure Storage Redundancy – Multiple Data Copies

🔹 Azure keeps multiple copies of your data in case of,

🔹 You choose the redundancy level.

🔄 Failover with Azure Site Recovery

🔹 Site Recovery replicates your VMs to a secondary location.

🔹 If your main site fails, users are automatically switched to the backup site.

🔹 Benefits

🛡️ Why It Matters?

📝 TL;DR

📌 In short: Azure makes sure your business never stops running even if a server crashes or an entire data center fails.

🔒 Back Up Your Virtual Machines with Azure Backup

Backing up your virtual machines (VMs) is like having insurance for your data. Imagine a bug wipes out company data, or your boss suddenly needs files from years ago for an audit without a proper backup plan, you'd be scrambling.

💡 Azure Backup makes this easy. It's a Backup-as-a-Service (BaaS) that protects your data whether it's on-premises or in the cloud.

🗂️ What Azure Backup Can Protect?

Azure Backup works for a wide variety of scenarios.

💻 Client Machines: Works for Windows 10 and Linux laptops/desktops.

Picture9

all backed up securely from your Azure VMs.

🚀 Advantages of Azure Backup

🔑 Feature🌟 Why It's Great
⚙️ Automatic Storage ManagementNo need to set up storage manually; pay only for what you use.
📈 Unlimited ScalingUses Azure's global infrastructure for high availability & performance.
🏠🌍 Multiple Storage OptionsChoose Locally Redundant (LRS) or Geo-Redundant Storage (GRS).
🔄 Unlimited Data TransferNo charges for inbound/outbound data transfers.
🔐 Data EncryptionData is encrypted during transfer and at rest for maximum security.
✅ Application-Consistent BackupEnsures you have all the necessary data for a full, working restore.
📅 Long-Term RetentionKeep backups for as long as needed; there is no time limit.

🛠️ How to Use Azure Backup?

Azure Backup uses downloadable components based on what you want to protect.

All backups are stored in a Recovery Services Vault, which utilizes Azure Storage Blobs for cost-effective, reliable, and scalable long-term storage.

📦 Backup Workflow (Simple View)

Key Takeaway: Azure Backup is a flexible, cost-effective, and secure solution for protecting your company's VMs and data ,whether they're in Azure or on-premises. It eliminates manual storage headaches, scales automatically, and ensures your data is safe, recoverable, and always available.

🆚 Traditional Backup vs. Azure Backup

💾 Feature🖥️ Traditional Backup☁️ Azure Backup (Modern Cloud Solution)
🏗️ InfrastructureRequires expensive physical servers and storage devices.Fully cloud-based, no extra hardware needed.
⚙️ Setup & ManagementManual setup, complex configuration.Automatic storage allocation & easy setup.
📦 Storage FlexibilityLimited, fixed storage capacity.Unlimited scaling with pay-as-you-use pricing.
🌍 Data RedundancyUsually stored at one physical location.Locally Redundant (LRS) or Geo-Redundant (GRS) for safety.
🔄 Data Transfer CostsOften charges for data transfer.No charges for inbound or outbound backup data.
🔐 Security & EncryptionRequires manual encryption setup.Built-in encryption during transfer and at rest.
⏳ Backup RetentionLimited retention periods.Unlimited retention with long-term archiving.
🛠️ Application SupportNeeds separate tools for SQL, SharePoint, etc.Application-aware backups for SQL, SharePoint, Exchange.
🚀 ScalingNeeds hardware upgrades to scale.Instantly scalable in the cloud.
🧾 Cost ModelBuy hardware upfront; pay for maintenance.Pay only for what you use; no upfront costs.

🔍 Quick Takeaway