As we help companies move more and more workloads to Azure, something we constantly hear is the strong desire to use PaaS, but for one reason or another, VM's end up often being necessary. Customers like PaaS because the infrastructure management happens under-the-hood, allowing the focus to be on the apps and dev without much assistance from IT. Usually it's things like application architecture or database version dependencies that make VM's the best or only option. But in Azure, an updated SLA and new features like Managed Disks make running VM's a lot more like PaaS than ever before.
For instance, most IT departments are keen on the idea of migrating their SQL Server databases into the Azure SQL Database service. Not having to worry about servers, operating systems, or scaling saves valuable time. But when PaaS isn't an option, it's nice to have some PaaS-like options for running your VM's. With Azure, there are features that make it simple to run VM's at scale with much less management than traditional IaaS.
The first is Azure Managed Disks. We previously wrote about the benefits of Managed Disks when they were announced. Managed Disks remove the need to create at least two disks and manage a Storage Account just for a VM. This scenario was a pain because to scale admins needed to worry about adding new data disks and ensuring that their Storage Account had enough IOPS available to support the workload. Using Managed Disks and VM Scale Sets allows you to spin up (as well as true autoscale) as much as 1,000 VM's in a cluster and not worry about storage. This is something that I find to be simply amazing and incredibly useful.
The second feature really isn't a technical feature, rather it's a change (enhancement) to Microsoft's SLA. Typically, a VM is covered by a somewhat weak service provider SLA because the responsibility is on the customer to build redundancy into their VM based setup. This makes sense because the service provider can't control much beyond the hypervisor. But now with Azure VM's, you can provision a single-instance VM on premium storage and get a 99.9% uptime guarantee through Microsoft's SLA. If you decide to deploy your VM in a VM Scale Set (which is just a few extra clicks), you then qualify for a 99.95% uptime guarantee. Using the SQL Database example above, you could get 99.9% uptime on a SQL Server without expensive and complex HA clustering while only having to run a single VM!
When you combine Managed Disks and autoscaling with a very robust Microsoft SLA, you get a flexible VM platform that you can manage much like PaaS. There are still things you have to manage with VM's that don't exist in a PaaS scenario. Chiefly, with VM's you still have an OS you have to maintain with patches and updates. However, Azure's platform has features like Azure Security Center that make sure you're VM's are running updates, and Azure Automation which allows you to easily automate scripts that run on VM's to accomplish tasks. These things are all centrally managed in the portal or directly through Azure Resource Manager by way of Azure CLI, API, and Powershell.
It's never been easier to manage entire fleets of VM's with little day-to-day management. This new reality should be part of your cloud transformation strategy. Keep following us here at Waypoint and on twitter at @OpsCompass for the latest Azure news.