Microsoft Azure Stack: The new tool for private clouds
- select the contributor at the end of the page -
"You can think about Azure Stack as the delivery of the Azure innovations that are deployable and manageable on premise," said Microsoft's Ryan O'Hare. In other words, you get the pieces that run Azure, and the selection of Azure PaaS and IaaS services in an implementation of the Azure portal which lets you manage and consume them, along with PowerShell support.
Sounds like what Microsoft was already delivering with the Windows Azure Pack, right? Azure CTO Mark Russinovich suggests thinking about it as the first version, "Azure Pack was a small selection of services delivered on the first generation Azure portal. Now we have a new portal that's designed to give you a holistic view of things rather than a laundry list where teasing out what's relevant is an exercise left to the user."
The new portal focuses less on the specific functions and more on the services they deliver. "That portal, plus other services, are being delivered as the Azure Stack," he added. And of course the services that you get are based on the current versions of those services in Azure.
Azure Pack lets you manage IaaS virtual machines and run high-density Azure websites on your infrastructure. Azure Stack goes further with more IaaS features and a subset of Azure's PaaS elements. You can use the PaaS tools to handle blob and table storage, run websites and databases, and, most importantly, build apps using the Service Fabric micro-service platform.
If your focus is on IaaS, you can run VMs with extensions, host a library of VM images and use Azure's virtual networking tools including its software load balancer. You're can also set up Azure storage, giving your VMs access to disk storage. The one recent service that Azure Stack doesn't yet support is Azure App Services; it has the website support that App Services uses for building Web apps but not the Logic Apps service you can use to hook together apps built from multiple cloud services. Though, it's safe to say that's certainly on Microsoft's radar.
That means Azure Stack provides more Azure-consistent features, with a key part being a consistent API surface for application development. You can use this to manage IaaS compute and a selection of PaaS services, including the new Service Fabric.
Azure Stack is also different from the way the Windows Azure Pack works, says O'Hare, "The Windows Azure Pack provides a cloud operating model on top of a Windows Server and System Center architecture. Today, it's not the full stack implementation of the Azure innovations; Azure Pack is a deep effort to replicate the cloud experience and as you move over to Azure you have a reimplementation of not just the experience but the underlying services, the management model and well as the data center infrastructure." With Azure Stack, both the code and the architecture of the service are shared with Azure.
This means you can use Azure for developing and testing, and then deploy to Azure Stack when you're ready to put your code into production--and you can do that from Visual Studio just by changing the cloud you're targeting. When you're running PowerShell commands, the same commands run against Azure and Azure Stack; you just change which cloud you're targeting and the rest of the script is the same.
Similarly, the extensions available in the Azure Gallery work on both the public Azure Cloud and your own Azure Stack. As Microsoft engineer (and creator of PowerShell) Jeffrey Snover says half-jokingly, "The definition of compatible is different; this is not compatible, it is consistent. It is the same cloud."
So, will you need new hardware to run Azure Stack? Most likely, yes.
Azure Stack runs on Windows Server 2016, so it will depend on which hardware server OEMs decide they're going to support Windows Server 2016 on. Most of the customers Microsoft has spoken to about Azure Stack are thinking about using it in a greenfield site, and working with standardized hardware to take advantage of cloud economies of scale. That means they can then decide what workloads to move to their private clouds, or what they want to build there from scratch. O'Hare notes, "Generally what we're seeing in successful private cloud projects is a start with new viewpoint."
Depending on what you want to do with it, you don't necessarily need a lot of hardware for Azure Stack. Customers might include developers who need a local implementation of Azure, or an enterprise that wants to use Azure Stack for a specific workload, or a service provider that wants to offer cloud. O'Hare promises, "You will see one box implementations with dev/test SLAs. There's a broad range of architecture guidance helping customers to choose the right size."
While Azure Stack will let you deliver a cloud service on your own hardware, don't count on getting all the advantages of commercial cloud. As Russinovich points out, "The advantage of Azure that you can't get is scale, that and the supply chain efficiency." Customer reasons for wanting Azure on premise aren't about saving the cost of a subscription or about having their own cloud for the same of it. Typically, it's because they need to keep data in a specific place for regulatory reasons. "They have data locale issues or particular governance problems and Azure Stack allows them to finesse that," O'Hare said.