Back when Microsoft first launched Azure’s virtual machines, there were only a handful of default server sizes you could use. The question you had to ask yourself then was a simple one: Is there a server that can support my workload? But now there’s an ever-growing list of different server sizes and server types, all targeted at different use cases. That’s changed the question. Now you must ask: Which one is the right one for me?

In the beginning of the public cloud, the key factor was economies of scale. The first two or three generations used the same hardware across entire datacenters, giving massive price advantages but at the same time limiting the capabilities of the servers used to host infrastructure and platform as a service. The rise of the , and its support by the main cloud vendors, changed things by giving those clouds common hardware standards that could support a wider range of functions without significantly adding costs.

Today’s cloud: A variety of real servers and virtual machines

The latest generation of OCP hardware is even more flexible. , the basis of its new generation of Azure datacenters, is a prime example, building on its x86 heritage to support adding extra processing via or . With GPU technology at the heart of many machine learning algorithms, and FPGAs providing accelerated networking as well as supporting dedicated machine learning for services like Bing, there’s now a lot more flexibility, both in CPU capabilities and in how those servers support cloud services.

Currently, Azure offers , focused across six different use cases. That’s a lot of VM options, with not all available in all regions. You need to think carefully about your workloads before you pick an option, because picking the wrong type could make your application more expensive to run. The 36 VM types in Azure are available with both Windows and Linux support, so you’ve got a choice of operating systems for your code, making it easier to or providing endpoints that fit into your development tool chain.

to help you choose the right VM for your application.

General-purpose Azure VMs

General-purpose VMs are your everyday server, much like you’d specify when buying an off-the-shelf box from HPE or Dell. They’re not specialized in any way and so work well as hosts for development workloads, as well as for servers handling the UI layer of a modern application. Because they can be low-cost, you can roll them out as needed—and throw them away just as easily.

, you should be looking to work with Azure’s hosted containers, especially now that there’s support for massive scalability with , and for Kubernetes-managed applications and services with .

give cloud services many more options than just using white-labeled x86 servers, while still giving them the cost advantages that come with scale.