When we create a new virtual machine within the Azure environment, we can use the Azure Marketplace. Services and software are available in the Azure Marketplace, which you can deploy within an environment. For virtual machines, Windows operating systems, Open source variants and also 3rd party appliances are available.
Create my first Windows virtual machine
From the Azure portal, we can view the Azure Marketplace.
The Azure Marketplace from the Azure portal
Search within the Azure Marketplace
For example, search for “Windows”
In this example, I’m going to create my first Windows virtual machine. What do I need to know/have?
- A valid Azure subscription (PayG, NCE/CSP, EA, etc…)
- What operating system do you need?
Overview of all the different image types of Windows Server in the Azure Marketplace.
Suppose we are going to build a new server based on Windows Server 2022, then we can easily select the right variant in the Azure Marketplace. But what are the differences? Small disk, Azure Edition Hotpatch, Core edition…how do I make the right choice?
A quantity of storage is linked per variant. By default, a virtual machine gets 127 GiB of OS disk. In a number of cases that is too much, for example when you choose the Core edition of Windows. A small(er) OS disk is sufficient. You then choose the option [smalldisk].
The different variants in the Azure Marketplace can also be seen with, for example, Powershell.
Login-AzAccount Select-AzSubscription -Subscription “###############” #——————————————— #Set Azure Location $Location = “West Europe” $PublisherName = “MicrosoftWindowsServer” Get-AzVMImageOffer -Location $Location -PublisherName $PublisherName
Connect to the Azure subscription. Then specify the region in which you want to build the virtual machine, for example, Western Europe.
Now the OfferName and PublisherName values are important. All Marketplace images have an Offer, Publisher, SKU, and version. First we will make an overview of all Offers within the Publisher MicrosoftWindowsServer.
Overview of all Offers of publisher WindowsServer.
Here we choose the Offer WindowsServer and make an overview of all SKUs within this Offer.
#——————————————— #Set Azure Location $Location = “West Europe” $PublisherName = “MicrosoftWindowsServer” $OfferName = “WindowsServer” Get-AzVMImageSku -Location $Location -PublisherName $PublisherName -Offer $OfferName | Select Skus
Overview of all image SKUs of offer MicrosoftWindowsServer
Here we choose 2022-datacenter-azure-edition-hotpatch. As a final step, we can make an overview of all versions within this SKU.
can make an overview of all versions within this SKU.
If you want to deploy the latest version available, then use the variable latest instead of the version number.
All image details at a glance.
Before we can rollout an image from the Azure Marketplace, the Terms must first be accepted.
Get-AzMarketplaceterms -Publisher $PublisherName -Product $OfferName -Name $skuName
The Terms have not yet been accepted for the image in question.
Set-AzMarketplaceTerms -Publisher $PublisherName -Product $OfferName -Name $skuName -Accept
The Terms have been accepted and the image can be rolled out.
The Terraform code for deploying the appropriate image in Azure.
Because we use the Azure Hotpatching image, the patch mode must be indicated in the code.
Since we’re going to use Azure Hot Patching, we need to add another line to the Terraform code (line 64).
The first virtual machine with associated resources was successfully deployed.
The various resources rolled out with Infrastructure as Code.
The new server is running in Azure.
OS disk of server mss-azhp-22-01.
Now let’s rollout the same virtual machine, but with a different image SKU. Namely 2022-datacenter-azure-edition-hotpatch-smalldisk. The virtual machine is named mss-azhp-22-02.
Changed the SKU image to smalldisk.
Overview of the Plan, Offer, and Publisher per server in Azure.
The difference in OS disk size can be clearly seen here.
- 2022-datacenter-azure-edition-hotpatch – 127 GiB
- 2022-datacenter-azure-edition-hotpatch-smalldisk – 30 GiB
The number of IOPS (Read/Write operations) is also different
- 2022-datacenter-azure-edition-hotpatch – 500 IOPS
- 2022-datacenter-azure-edition-hotpatch-smalldisk – 120 IOPS
The throughput on the OS disk is different
- 2022-datacenter-azure-edition-hotpatch – 100 MBps
- 2022-datacenter-azure-edition-hotpatch-smalldisk – 25 MBps
The cost on the OS disk is different
- 2022-datacenter-azure-edition-hotpatch – P10 (128 GiB)
- 2022-datacenter-azure-edition-hotpatch-smalldisk – P4 (32 GiB)
- The burst IOPS and throughput are the same!
Deploying a virtual machine in Azure can be done in multiple ways. Ofcourse via the Azure portal, where you can select most of the configuration yourselves. The fastest and most flexible way is through Infrastructure as Code (in this example, Terraform), but it can also be Bicep, Azure Resource Manager, or Powershell. You then have more influence on naming convention of the Azure resources and you can quickly and consistently rollout your virtual machines.
The choice of image SKU is of great importance when designing the workload and associated virtual machines. Determine a number of crucial variables in advance, such as:
- what OS am i going to use
- which version
- with graphical user interface (GUI) or not (Core edition)
- required IOPS
- required storage capacity
- disk throughput
- what are the monthly costs of the Azure resources
If all variables are clear, then rolling out the necessary virtual machines is the last step. Spending a bit of time in preparation is therefore very important. Thansk for supporting my blog and feel free to reach out to me on my socials!