Azure IaaS: Deploying B-series VMs
10:18 am in ARM, Azure, Azure PowerShell, B-Series VMs, IaaS, PowerShell, Public Cloud by Wim Matthyssen
Last week Microsoft introduced the B-Series VM size in preview. These B-Series VMs can run workloads that burst in their performance, but do not need continuous full performance of the CPU. Servers that would be eligible for this new “burstable” VM size are servers with small databases, webservers, development servers, quality assurance (QA) and test servers. But also servers with other workloads that do not utilize the full located vCPUs are grate candidates to benefit and lower costs by using a B-Series VM.
Herby a list of the 6 B-Series VM sizes, which are currently available in Preview in the following Azure Regions (Europe-West, US-West 2, US-East, Asia Pacific-Southeast):
Instance Size | vCPU | vMemory: GiB | Tempory Storage / Local SSD: GiB | Max data disks | Max NICs | Credits banked / hour | Max Banked Credits |
Standard_B1s | 1 | 1 | 2 | 2 | 2 | 6 | 144 |
Standard_B2s | 2 | 4 | 8 | 4 | 3 | 24 | 576 |
Standard_B1ms | 1 | 2 | 4 | 2 | 2 | 12 | 288 |
Standard_B2ms | 2 | 8 | 16 | 4 | 3 | 36 | 864 |
Standard_B4ms | 4 | 16 | 32 | 8 | 4 | 54 | 1296 |
Standard_B8ms | 8 | 32 | 64 | 16 | 4 | 81 | 1944 |
You can also read more about this new VM size here and find all pricing info
Now I am going to show you how you can deploy a new B-Series VM trough Azure PowerShell.
First, you need to request quota to be able to deploy this B-Series VMs. To do so you should logon to the Azure portal and go to Help + support. To request an increase or to be able to deploy B-Series VMs, select New support request.
You need to create a Quota support case for Cores. So, on the NEW SUPPORT REQUEST page, select Issue type as “Quota” and Quota type as “Cores”. Also, select the Subscription and the correct Support plan. Click Next.
Select Severity “C – Minimal Impact”, Deployment model “Resource Manager” and the correct Location, which in my case is West Europe. Select as SKU Families that requires an increase “BS Series” and set the NEW LIMIT higher than before, for example 15 instead of 10. Click Next.
In the Contact Information blade, select your Preferred contact method, provide a Response time, select your preferred Language and fill in the Contact Information. Click Create to create the new support ticket.
In my case I received an email after the quota was been approved, which normally does not take that much time. So from here we can go further with the deployment.
If you open Azure PowerShell, and run following commands, you can now built a new B-Series VM. You can copy the commands or save them to as a PowerShell script (.ps1). Do not forget to adjust all variables were needed.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
## Log on with your Azure account Login-AzureRmAccount ## -------------------------------------------------------------------------------- # Variables $RGCompute = "RG_WM_Compute" $RGNetworking = "RG_WM_Networking" $RGStorage = "RG_WM_Storage" $StorAccName = "wmvhdos001" $VMName = "azu-bserie-01" $Location = "westeurope" $VNetName = "AZU-VNet-ARM" $SubnetName = "Web_tier" $IPAddressVM = "10.0.1.24" $osSKU = "2016-Datacenter" $VMSize = "Standard_B2s" #$VMSize = "Standard_B1s" #$VMSize = "Standard_B1ms" #$VMSize = "Standard_B2ms" #$VMSize = "Standard_B4ms" #$VMSize = "Standard_B8ms" ## -------------------------------------------------------------------------------- # Create the Public IP Address (PIP) $PIP = New-AzureRmPublicIpAddress -Name "${VMName}-pip" -ResourceGroupName $RGCompute -Location $Location -AllocationMethod Static ## -------------------------------------------------------------------------------- # Create the NIC # Get the VNET to which to connect the NIC $VNet = Get-AzureRmVirtualNetwork -Name $VNetName -ResourceGroupName $RGNetworking # Get the Subnet ID to which to connect the NIC $SubnetID = (Get-AzureRmVirtualNetworkSubnetConfig -Name $SubnetName -VirtualNetwork $VNET).Id $NIC = New-AzureRmNetworkInterface -Name "${VMName}-nic1" -ResourceGroupName $RGCompute -Location $Location -SubnetId $SubnetID -PrivateIpAddress $IPAddressVM -PublicIpAddressId $PIP.Id ## -------------------------------------------------------------------------------- # Specify local administrator account $Username = "local_admin" $Password = "Ilo23232343MPR1;" $Passwordsec = convertto-securestring $Password -asplaintext -force $Creds = New-Object System.Management.Automation.PSCredential($Username, $Passwordsec) ## -------------------------------------------------------------------------------- # Specify the image $Images = Get-AzureRmVMImage -Location $Location -PublisherName "MicrosoftWindowsServer" -Offer "WindowsServer" -Skus $osSKU | Sort-Object -Descending -Property PublishedDate ## -------------------------------------------------------------------------------- $VM = New-AzureRmVMConfig -Name $VMName -VMSize $VMSize $VM = Add-AzureRmVMNetworkInterface -VM $VM -Id $NIC.Id #Specify the OS Disk $StorAcct = Get-AzureRmStorageAccount -ResourceGroupName $RGStorage –StorageAccountName $StorAccName $OSDiskName = $VMName + '-c' $OSDiskUri = $StorAcct.PrimaryEndpoints.Blob.ToString() + "vhds/" + $OSDiskName + ".vhd" Set-AzureRmVMOperatingSystem -Windows -VM $VM -ProvisionVMAgent -EnableAutoUpdate -Credential $creds -ComputerName $VMName Set-AzureRmVMSourceImage -VM $VM -PublisherName $Images[0].PublisherName -Offer $Images[0].Offer -Skus $Images[0].Skus -Version $Images[0].Version Set-AzureRmVMOSDisk -VM $VM -Name $OSDiskName -VhdUri $OSDiskUri -Caching ReadWrite -CreateOption fromImage New-AzureRmVM -ResourceGroupName $RGCompute -Location $location -VM $VM –Verbose |
Hope this helps you getting started with this new B-Series VMs.
Wim Matthyssen (@wmatthyssen)
Recent Comments