This post is a summary of the improvements to the Azure virtual machine and related services and features announced at the Microsoft Ignite 2017 conference.
B-Series Virtual Machines
A couple of things were announced just before Ignite but were talked about here at the conference. The B-Series virtual machine runs on Intel Xeon processors but is a much lower cost option than a D_v2-, DV_3, F- or A_v2-Series machine. This is because Microsoft achieves higher levels of virtual machine:host densities by limiting processor performance. You earn credits by staying below this threshold and can burn those credits during the current billing period to remove the performance cap. This type of virtual machine will be great for cost-optimizing “burstable” workloads.
Also shared just before Ignite started, availability zones allow customers to spread a machine-based service across multiple data centers within a single region so that they don’t share common power and network points of failure. With this comes increased high availability with the offered SLA promising 99.99 percent uptime for the service. Note that this is still not a DR solution; you will need to replicate machines to another region using Azure Site Recovery for a DR design.
Microsoft lists virtual machine costs on a per-hour basis but we are actually charged for every minute that the virtual machine is running. Microsoft is adding (back) a reserved instance option, which was previously available (and removed) from the Enterprise Agreement channel.
Reserved Instances allow you to buy a virtual machine for a year. This guarantees Microsoft some business and, in return, Microsoft will offer significant discounts on the cost of the virtual machine. Reserved Instances will be staged out to the various channels or offers of Azure with CSP being one of the last, early next year.
NC_v2-Series Virtual Machine
A successor to the NC-Series virtual machine will launch in the next few weeks. The NC_v2 uses NVIDIA P100 GPUs and are intended to offer higher levels of computing power for work such as simulations.
Virtual Machine Scale Set Improvements
Scale sets allow you to deploy new virtual machines automatically based on demand and remove them as demand subsides. I like to refer to this as the “Ticketmaster solution” – compute on demand to deal with spikes in demand. Therefore, you do not end up with customers getting angry because they are needlessly waiting.
Scale sets are getting:
- IPv6 support from the Azure load balancer
- Availability zone automation
With managed disks, my preferred option for virtual machine storage, you do not have to put disks into storage accounts and you have much less work to do with more features. Some new features coming include:
- Incremental disk snapshots
- Larger disk sizes – that was accidentally leaked on the managed disk pricing page about a month ago!
- Cross-subscription/region sharing – much needed!
- A private repository
Governance and Control
Mid-large companies must control who/what/when/how things happen. Azure has a lot of functionality for RBAC, auditing and alerting, but Microsoft has more to offer:
- A new Azure Policy Center, which has improved quite a bit since the first preview and a lot more functionality than the old ARM policy solution.
- Management groups offer a way to target policies at groups of resources.
- Managed apps are generally available.
- Update and configuration management to patch Linux and Windows virtual machines, track changes in the guest OS/application/settings, and stop configuration drift.
PowerShell is the command line and scripting tool that is most familiar to Windows admins. Today, you can download the Azure PowerShell modules on your PC and work from there or starting this week, you can use the Cloud Shell in the Azure Portal. Cloud Shell offers a few things we do not get on the PC, such as:
- Reduced latency
- A guarantee to always be using the latest versions of the modules
- A rich browsable Azure environment
Azure Automation allows us to execute runbooks based on demand, external triggers (webhooks), or schedules. These runbooks have been written in PowerShell but a very large percentage of Azure workloads are outside of the native Microsoft ecosystem. To accommodate that growing customer base, Automation will now support runbooks that are written in Python.
Planned Virtual Machine Maintenance
Up to about 2 years ago, we used to get an email that said something like:
We noticed that you have some virtual machines not in an availability set. We will be deploying updates to the Azure hosts, starting on Thursday X and finishing on Sunday Y. During this time, those virtual machines will be offline for several minutes when the hosts are rebooted.
Then Microsoft introduced In-Place Migration, also known as the warm reboot feature, that never made it past Technical Preview 1 in Windows Server 2016. Now a virtual machine is paused as the host OS reboots without the hardware reboot, resulting in a 15-30 second reboot. To be honest, my customers stopped noticing/complaining about patching causing reboots.
Microsoft wants to give customers more control over that process. Planned maintenance will inform you that your machine’s host will reboot at a certain date/time. You can pre-empt that at a time of your choosing to do a process that will re-deploy (reboot) the virtual machine to a host that has already been patched/rebooted ahead of schedule. This means that you take control of the timing of the brief outage.
Cloudyn — Azure Cost Management
The recent acquisition of Cloudyn has resulted in Microsoft including a service called Azure Cost Management in every Azure subscription type. With this tool, you can understand your Azure costs, detect anomalies/spikes, assign charges to cost centers, and plan spending.
This large-scale compute offering will have a number of improvements:
- The B-Series machine has been added to the set of supported series.
- Reserved Instances will be added.
- All sizes in a region will have low and high-priority options.
A new pre-emptive option will allow lower cost compute based on spare Azure capacity. However, if Azure needs that capacity, the resources are taken back from you.
We had a sneak peek of something that is in the experimental stage of development for Linux virtual machines. Today, we can either:
- Log into virtual machines using SSH or Remote Desktop
- View a screenshot of the console in Diagnostics
This is not very useful if remoting to the machine has failed or we want to see the machine (re)boot. Microsoft is working on a serial console option for Linux virtual machines, where they get “serial” interactive access to the console and can be connected even as the machine boots or restarts. It sounds like that Windows Server will require some work. Conversations are happening between Azure and Windows Server to try to find a solution.
There Is Much More!
Watch out for more posts on Petri.com discussing things such as virtual networking improvements in Azure.