Professor Dr. Kazemi

CLO800 Lab 05

Cloud Computing options with Virtual Machines — Interactive Lab Manual · Fall 2026

Task 1: Deploy zone-resilient Azure virtual machines by using the Azure portal 10 pts

In this task, you will deploy two Azure virtual machines into different availability zones by using the Azure portal. Availability zones offer the highest level of uptime SLA for virtual machines at 99.99%. To achieve this SLA, you must deploy at least two virtual machines across different availability zones.

  1. Note: This will deploy two virtual machines in the selected region, one in each zone. You achieve the 99.99% uptime SLA because you have at least two VMs distributed across at least two zones. In the scenario where you might only need one VM, it is a best practice to still deploy the VM to another zone.

  2. SettingValue
    Subscriptionthe name of your Azure subscription
    Resource group<yourName>-clo800-F67-rg
    Virtual machine names<yourName>-clo800-F67-vm1 and <yourName>-clo800-F67-vm2 (After selecting both availability zones, select Edit names under the VM name field.)
    RegionEast US
    Availability optionsAvailability zone
    Availability zoneZone 1, 2 (read the note about using virtual machine scale sets)
    Security typeStandard
    ImageWindows Server 2019 Datacenter - x64 Gen2
    Azure Spot instanceunchecked
    SizeStandard D2s v3
    Usernamelocaladmin
    PasswordProvide a secure password
    Public inbound portsNone
    Would you like to use an existing Windows Server license?Unchecked
  3. SettingValue
    OS disk typeStandard HDD
    Delete with VMchecked (default)
    Enable Ultra Disk compatibilityUnchecked
  4. SettingValue
    Delete public IP and NIC when VM is deletedChecked
    Load balancing optionsNone
  5. SettingValue
    Patch orchestration optionsAzure orchestrated
  6. SettingValue
    Boot diagnosticsDisable
  7. Note: Notice as the virtual machine deploys the NIC, disk, and public IP address (if configured) are independently created and managed resources.

  8. Screenshot must show your Odl_user account, the completed deployment of <yourName>-clo800-F67-vm1 and <yourName>-clo800-F67-vm2 in Zones 1 and 2
Tip: Availability zones offer the highest level of uptime SLA for virtual machines at 99.99% — keep both VMs until you finish all tasks.

Task 2: Manage compute and storage scaling for virtual machines 20 pts

In this task, you will scale a virtual machine by adjusting its size to a different SKU. Azure provides flexibility in VM size selection so that you can adjust a VM for periods of time if it needs more (or less) compute and memory allocated. This concept is extended to disks, where you can modify the performance of the disk, or increase the allocated capacity.

  1. Note: Choose another size if Standard DS1_v2 is not available. Resizing is also known as vertical scaling, up or down.

  2. SettingValue
    Disk namevm1-disk1
    Storage typeStandard HDD
    Size (GiB)32
  3. Note: Detaching removes the disk from the VM but keeps it in storage for later use.

  4. Note: The Overview blade also provides performance and usage information for the disk.

  5. Screenshot must show your Odl_user account, vm1 resized to Standard DS1_v2 and the vm1-disk1 data disk attached as Standard SSD (32 GiB)
Note: You have now created a virtual machine, scaled the SKU and the data disk size. In the next task we use Virtual Machine Scale Sets to automate the scaling process.

Task 3: Create and configure Azure Virtual Machine Scale Sets 20 pts

In this task, you will deploy an Azure virtual machine scale set across availability zones. VM Scale Sets reduce the administrative overhead of automation by enabling you to configure metrics or conditions that allow the scale set to horizontally scale, scale in or scale out.

  1. SettingValue
    Subscriptionthe name of your Azure subscription
    Resource group<yourName>-clo800-F67-rg
    Virtual machine scale set namevmss1
    Region(US) East US
    Availability zoneZones 1, 2, 3
    Orchestration modeUniform
    Security typeStandard
    ImageWindows Server 2019 Datacenter - x64 Gen2
    Run with Azure Spot discountUnchecked
    SizeStandard D2s_v3
    Usernamelocaladmin
    PasswordProvide a secure password
    Already have a Windows Server license?Unchecked
  2. SettingValue
    Name<yourName>-vmss-vnet
    Address range10.82.0.0/20 (change what is there)
    Subnet namesubnet0
    Subnet range10.82.0.0/24
  3. SettingValue
    Name<yourName>-vmss1-nsg
  4. SettingValue
    SourceAny
    Source port ranges*
    DestinationAny
    ServiceHTTP
    ActionAllow
    Priority1020
    Nameallow-http
  5. SettingValue
    Load balancing optionsAzure load balancer
    Select a load balancerCreate a load balancer
  6. SettingValue
    Load balancer name<yourName>-vmss-lb

    Note: Pause for a minute and review what you done. At this point, you have configured the virtual machine scale set with disks and networking. In the network configuration you have created a network security group and allowed HTTP. You have also created a load balancer with a public IP address.

  7. SettingValue
    Boot diagnosticsDisable
  8. Screenshot must show your Odl_user account, the completed vmss1 virtual machine scale set deployment
Tip: the scale set deploys instances across Zones 1, 2 and 3 — that is horizontal scale out, ready for Task 4.

Task 4: Scale Azure Virtual Machine Scale Sets 30 pts

In this task, you scale the virtual machine scale set using a custom scale rule.

Scale out rule

  1. SettingValue
    Metric sourceCurrent resource (<yourName>-vmss1)
    Metric namespaceVirtual Machine Host
    Metric namePercentage CPU (review your other choices)
    OperatorGreater than
    Metric threshold to trigger scale action10
    Duration (minutes)1
    Time grain statisticAverage
    OperationIncrease count by (review other choices)
    Cool down (minutes)1
    Instance count1

Scale in rule

  1. SettingValue
    OperatorLess than
    Threshold10
    Operationdecrease count by
    Instance count1

Set the instance limits

  1. SettingValue
    Minimum2
    Maximum6
    Default2
  2. $rgName = '<yourName>-clo800-F67-rg'
    $lbpipName = '<yourName>-vmss-lb-publicip'
    $pip = (Get-AzPublicIpAddress -ResourceGroupName $rgName -Name $lbpipName).IpAddress
    while ($true) { Invoke-WebRequest -Uri "http://$pip" }
  3. Screenshot must show your Odl_user account, the vmss1 Instances page with the scaled-out virtual machine instances
Tip: the HTTP requests drive average CPU above 10% so the scale out rule adds instances — watch the instance count grow on the Instances page.

Task 5: Summary Questions & Review 20 pts

Minimum 2-3 sentences each — original thinking, your own words!

Your submission preview

Screenshots you attach above and your Task 5 answers appear here. This is exactly what prints/exported as your PDF.

Submit compile & export