Earlier this week, Microsoft acknowledged that it has been working to bring Windows Server to ARM. But the way this announcement unfolded was rather confusing.
Once the dust from the initial wave of press releases cleared, it turned out that Microsoft officially announced that it has been working with Intel, AMD, and two ARM vendors (Qualcomm and Cavium) to support Project Olympus, Microsoft's next-generation cloud-hardware design it provided to the Open Compute Project. Microsoft also announced that it has been involved with multiple ARM suppliers, including Qualcomm and Cavium on getting Windows Server to run ARM for its own internal datacenter use only.
You can watch a recording of Microsoft's Open Compute Project Summit presentation here. (Thanks, @h0x0d.)
I had a chance to submit some questions about this week's announcements to Microsoft. The following answers were provided via a company spokesperson.
Q: Will Windows Server on ARM ever be available externally to partners and customers? If so, when?
A: The version of Windows Server to ARM64 is for internal use only, which allows the evaluation of Azure services on ARM servers. Microsoft doesn't have anything more to share regarding future roadmap plans.
Q: Is the reason Microsoft is using Windows Server (and not Azure or Azure Stack) on ARM servers in its datacenter because Azure and Azure Stack do not run on ARM? (Intel only)
A: Azure today runs on Windows Server, so this move enables the internal evaluation of ARM64 as a platform for the delivery of certain Azure services.
Q: What is Cavium's role in today's announcement?
A: Cavium developed a motherboard compatible with Project Olympus that Microsoft can deploy in its datacenters.
Q: Why is MS putting Windows Server on ARM? Is it because ARM is more power efficient than Intel processors? Because MS thinks it's good to have more than one chip player in the datacenter? Dissatisfaction with Intel's performance in datacenter computing? All of the above/none of the above?
A: A healthy ecosystem of multiple ARM server vendors ensures active development around technical capabilities such as cores and thread counts, caches, instructions, connectivity options, and accelerators. There is also an established developer and software ecosystem for ARM which also benefits from the high-end cell phone software stacks.
Q: Project Olympus, as Microsoft designed it, can offer users different server design choices. Intel Xeon (Skylake) with Intel FPGA or Intel Nervana; AMD Naples. You also note you've worked with Qualcomm and Cavium to "advance the ARM64 cloud servers compatible with Project Olympus." Does this mean Olympus servers also can use ARM processors on their motherboards?
A: The ARM64 designs created by Qualcomm and Cavium are compatible with Project Olympus.
Q: Your blog post says ARM servers are good for internal cloud applications such as search and indexing, storage, databases, big data, and machine learning workloads. Does this mean you would be somehow running only these workloads on ARM servers and other Azure workloads on Intel/AMD servers?
A: Microsoft is actively evaluating ARM servers to drive innovation for its internal cloud services in its datacenters, and don't have further information to share at this time.
Q: Microsoft Technical Fellow Jeffrey Snover's tweet about the announcement confused me. How was Microsoft's move to run Windows Server on ARM customer-centric if it's for Microsoft's own use only?
A: Innovation inside Microsoft datacenters ultimately benefits customers through greater performance and efficiency.
I think Microsoft's answer as to why it is working with ARM vendors is rather telling. It basically confirms the idea that this move is about pressuring the totally dominant supplier of server chips, Intel.
I'd also note that Microsoft's answer to my second question, where officials said that Azure runs on Windows Server had me a bit confused, since Microsoft officials have regularly pointed out (at least to me) that Windows Server and Azure aren't the same.
I'm assuming this "Azure runs on Windows Server" is just shorthand for the fact that the Windows Server core/OneCore underlies Azure. Because Windows Server a key building block of Azure, Windows Server being available on ARM means that that ARM-based hardware can, at least potentially, be used in datacenters -- including Azure datacenters -- in production one day.
Update: Microsoft officials wanted to chime in here. Another statement from the aforementioned spokesperson:
"Microsoft Azure runs on top of Hyper-V, the same hypervisor that customers get with every Windows Server OS purchase. This means that customers are always benefiting in their datacenter from the continuous investments we make to improve one of the world's largest distributed virtualized environments. The installation option of Windows Server we use to enable these deployments in Azure is the Server Core installation option."
Microsoft is bringing Windows 10 desktop to ARM processors: