• United States
Contributing Writer

Windows Server in the cloud: Can you, should you, and with which provider?

Oct 23, 201710 mins
NetworkingWindows Server

What’s the best bet for migrating Windows Server to the cloud: AWS, Google Cloud, Microsoft Azure?

The cloud revolution began in the Linux and Unix world, and for a long time the cloud wasn’t a welcoming environment for workloads that run on Windows Server.

Even today, not all cloud platforms are set up to handle the breadth of what can run on Windows Server. So what is the best public cloud service host for Windows Server? Should you choose Amazon Web Services, Google Cloud, Microsoft Azure or possibly another provider? Should you even run Windows Server in the cloud?

To help you answer those questions, I will take a look at the pros and cons of running Windows Server on each of these services, assess the rough costs for each choice, and suggest why you might want to choose one over the other — and why you might want to avoid some of them.

Amazon Web Services EC2

Having basically kicked off the modern incarnation of cloud computing, Amazon Web Services (AWS) remains dominant today. AWS and its Elastic Compute Cloud (EC2) service power so many popular internet sites, whether as a data store, a video streaming service, host or content delivery network partner, that you could say the internet today is plumbed with Amazon services. Naturally, the many shops that already have their Linux and service workloads on EC2 are going to think of it when they consider putting Windows Server in the cloud.

For the most part, EC2 will accommodate them. In fact, Amazon seems to be willing to run Windows Server in certain workloads that Microsoft itself, via its Azure hosting service, will not support. Exchange is one example.

Microsoft will not support running Exchange Server on Azure virtual machines. This could be because Microsoft knows Azure is unable to measure up in certain ways to the ideal Exchange performance profile, or (more likely) Microsoft wants your cloud Exchange deployment to be done with Office 365 and Exchange Online rather than by just turning up a bunch of virtual machines in Azure and duplicating your existing data center.

Amazon seems to think there is no performance problem with its cloud storage engine, and it fully supports running an Exchange Server deployment in production right on AWS EC2. It even boasts about a whitepaper and fully configured solutions available from partners right in the EC2 marketplace. Amazon’s confidence could derive from its status as the granddaddy of cloud computing: Its storage infrastructure is simply more mature, or perhaps it has better-performing hardware options readily available in all of its regions.

To run Windows Server on EC2, you have two options. You can launch EC2 dedicated instances — you essentially deploy a copy of your existing workload on EC2 as if you were importing a virtual machine, license intact, to the service. The second option is to launch EC2 instances of Windows Server as needed. In that case, you would need some sort of provisioning to continuously set up the environment the way your workload dictates.

Depending on the hardware you include in the instance, general-purpose EC2 instances range from $0.0082 per hour all the way up to $6.471 per hour. To optimize for storage or compute performance, you’ll pay two to three times as much. This includes the cost of the license. Dedicated instances entirely depend on your region and require you to bring your own license.

Google Compute Engine

Google is by most measuresNo. 3 among the major cloud providers, although it certainly has big dreams, and a ton of money to make those dreams come true. Some of that money is clearly going toward discounting — Google claims that its “customer-friendly pricing is on average 60% less for many compute workloads compared to other cloud providers.” I might quibble with 60%, but Google definitely charges less.

Google is rather famously a Linux shop, and Compute Engine, the infrastructure-as-a-service component of Google Cloud Platform, didn’t support Windows at all until July 2015, when it began offering support for Windows Server 2008 R2. It now supports running later versions, as well as Exchange and SharePoint Server. Overall, it seems as if Google is playing catch-up in the cloud. Things could change, if its ambition matches its bankroll, but for now Compute Engine is much more attractive for Linux workloads than for Windows.

The fact that it is bargain-basement cheap for a lot of scenarios and supports license mobility could start to make a difference in the standings, but I cannot imagine many instances where traditional Windows Server workloads belong in Compute Engine.

Google Cloud has Windows Server public images that start at 2 cents per hour (a price that includes just the license cost and not the cost of the compute hardware), up to 16 cents per hour for four core machines on a standard machine type. One thing Google does pretty well is metered billing to the minute, as opposed to paying by the full hour.

For shops that have the tightest of budgets and that don’t really care about anything but running VMs in the cloud, Google could be a wise choice.

Microsoft Azure

Obviously, Microsoft would have you believe that running Windows Server — any flavor, all the way back to Windows Server 2008 R2 — on Microsoft Azure is basically the best of all worlds. The hypervisor used in Azure is the same Hyper-V that is bundled within Windows Server; Azure itself runs on Windows Server for almost all functions; and in general, no one knows how to engineer a cloud service to run Windows Server better than Microsoft. Or so the theory goes, and from my experience, it’s true.

And the all-Microsoft nature of running Windows Server in Azure does result in some interesting features:

  • It is simple to flip VMs into Azure and back again. Since VHDX files for hard drives are interchangeable between the services, all you need is a decent enough transmission speed between your location and the Azure data center closest to you to move VMs back and forth. This interplay is, as far as I can tell, unique to Microsoft Azure and one of the core reasons to choose Azure over another public cloud for those workloads where portability is important. You can import into AWS, but not directly — you must go through a conversion process.
  • Microsoft will give you credit for the Windows Server licenses for which you have already paid. Most other cloud providers must include the cost of the runtime license for the operating system in their compute rates, but customers who have purchased Software Assurance with their Windows Server licenses can get access to cheaper compute rates on Azure that only take into account the cost of the hardware resources. The price nets out the cost of the license, which is nice for shops with significant investments in Windows Server.
  • If you want to permanently move workloads into Microsoft Azure, then you can move your Windows Server Standard or Datacenter licenses with Software Assurance permanently to Azure via the Azure Hybrid Use Benefit. The pricing you get and what you save depends on what kind of Azure agreement you have, but a rough rule of thumb is to price out a VM equipped identically to your Windows workload but that runs Linux, which of course does not have a licensing cost component.
  • Did you know that there is a Windows Server version that runs on ARM processors? There is, and it’s for Azure only. But if you are geeky enough to want your instances to run on those processors, it doesn’t seem that you can choose that to happen at will. As Mary Branscombe recently reported in CIO, “Microsoft has ported only enough of Windows Server and those associated software components to run the workloads for which ARM is a good fit. While [Microsoft Distinguished Engineer Leendert van Doorn] showed that code at the Open Compute Platform Summit earlier this month and confirmed that several Microsoft cloud services will use ARM servers, van Doorn also made it clear that this ARM version of Windows Server is for internal use only.”
  • I have found that, setting aside the hybrid use benefit Azure allows, running Windows Server on Amazon is slightly cheaper than on Microsoft Azure. Google Cloud has been cheaper still, but they have referred to their current pricing in ambiguous ways, leading one to conclude that it is introductory and will rise. Prices of course differ based on volume, configuration, discounts and more, but these are general observations.

Other cloud providers

Do you want to avoid the Big Three, in the hope that you will get better, more customized support from a smaller shop? That might be possible, but let me offer a huge caveat: I do not see a path to business viability for the smaller cloud players in the next five to ten years.

Each of the Big Three cloud providers is spending billions upon billions tricking out new data centers with the latest hardware and networking technology, and they all have the deep pockets required to build out a cloud platform at a global scale.

It’s just not realistic to expect a smaller provider such as Rackspace to match Microsoft’s and Amazon’s hardware spend dollar for dollar. Nor can the smaller players match the volume (and attendant discounted pricing) that the Big Three offer OEMs.

To boil it down into one point: Right now, Microsoft is limited only by the amount of power it can get delivered into its sprawling data centers, and not by its ability to fill it with hardware. Electricity is the hang-up.

Because the Big Three are so well-funded and committed to the cloud approach, this entire market is going to be a race to the bottom: The major competitors will be able to price out any newcomers or existing smaller players in the market, and as the Big Three’s services improve and become more capable, the smaller players are going to find it increasingly difficult to carve out any sort of competitive advantage — and eventually it will simply be infeasible.

So I would avoid making long-term plans to run Windows Server workloads on smaller cloud providers. Sure, take advantage of them while they are around, but don’t build a business model around them. Their days are numbered.

Your choice depends on your needs

The cloud wars are making it cheap to run Windows Server on someone else’s hardware, with no upfront investment. That’s great news for everyone other than the smaller cloud providers that are likely to get squeezed out.

Other than avoiding those smaller players in the long term, which of the cloud providers is your best bet for hosting your Windows Server workloads? It really comes down to what is most important to your organization. Google Compute Engine is the cheapest right now, but AWS has the cloud expertise, and Microsoft, naturally, can’t be topped in Windows Server know-how.