At last it’s here: After a prolonged gestation with three public previews, Microsoft has announced the release of Azure Stack. You can download the free Azure Stack Development Kit now. Complete hardware and software solutions will ship in the next couple of months, when Microsoft completes certification.
Bringing the public cloud to on-premises data centers was always going to be a big task, and Microsoft won’t be delivering the entirety of Azure in this initial release. In fact, don’t expect to ever see all of Azure in Azure Stack, as there are plenty of Azure features that rely on the scale of cloud. That said, there is more than enough to start with, with support for core Azure IaaS and PaaS features. Other optional elements include Azure’s App Service and its serverless Functions.
You’ll have to wait a while for some of the more anticipated features: Azure Container Service and Microsoft’s second-generation PaaS, Azure Service Fabric. Although leaving PaaS features like these for later updates makes sense for Microsoft’s roadmap, it’s a pity they didn’t make it to the initial release, as it perpetuates the myth that hybrid cloud solutions are for IaaS. Still, by leveraging a modern container-based devops model and a continuous integration pipeline, it’s easy to treat IaaS as a custom PaaS, especially with Azure Stack’s support for Chef, Docker, and Mesos.
Cloud-consistent devops on premises
Azure Stack is “cloud consistent,” meaning that code that runs on an on-premises instance will also run on Azure, using the same Azure Resource Management descriptions as your on-premises apps, and allowing you to deploy in Azure just by changing your devops endpoint. It’s an approach that should help deliver effective hybrid cloud applications, moving your code to where your data is (keeping sensitive data on-premises for regulatory compliance, and using cloud resources to add performance and scale where appropriate).
Setting up an Azure Stack will require plenty of machine room space. To get the most from Azure Stack, in most cases you’re looking at a stamp of at least four racks of equipment, which are going to need to run a significant amount of your workload. Initial development can be done using a single-server system that builds on Azure Stack’s proof-of-concept preview releases. The Azure Stack Development Kit is a free download that’s licensed for development purposes only (so you can’t use it to go live with limited services), with the same portal, services, and tooling as the full release.
Applications built on the ASDK will scale and run on a full multiserver implementation, as well as on Azure itself. The ASDK needs a hefty server with plenty of cores, memory, and storage. As it also requires current hardware, you won’t be able to repurpose redundant or obsolete equipment. Considering the options, it’s probably best to use equivalent hardware to a single Azure Stack compute node from one of the certified system vendors, as it will reduce the risk of any incompatibilities as well as give an idea of how an application will perform.
So what’s it going to cost?
The business model around Azure Stack is an interesting one, using subscription pricing much like Azure. You can pay per hour or per month, with a Base VM charge of $0.008/vCPU/hour or $6/vCPU/month). Like Azure, on top of a Base VM host, you can use your existing Windows Server or Linux licenses. If you don’t have any licenses, then a Windows Server VM comes in at $0.046/vCPU/hour or $34/vCPU/month. There’s similar pricing for storage and for the Azure App Services, all based around vCPU usage. As expected, it’s cheaper than Azure’s pricing for similar features, but here you’re paying for the hardware yourself, and that’s not going to come cheap.
Getting used to a subscription fee for your on-premises usage is going to be the biggest change to using Azure Stack. One of the advantages of cloud services has been a shift from capital to operational expenditure, and Azure Stack is bringing that same model in house. It’s a big question as to whether that’s going to be acceptable to most CIOs and CFOs. However, with much of Azure Stack covered by existing Enterprise and Cloud Service agreements, there shouldn’t be too much of a financial shock.
Building clouds on certified hardware
Hewlett Packard Enterprise will be one of the first to deliver an Azure Stack implementation, along with Dell and Lenovo. HPE’s ProLiant for Microsoft Azure Stack isn’t cheap: You’re looking at an investment of at least $300,000 for a base configuration. That’s not surprising when you break down the contents of a rack, which is based on the ProLiant DL380 Gen9 servers. Each rack has four to 12 DL380 Azure Stack nodes, with a single DL360 handling hardware management. Three switches handle rack and server interconnects, while integrated power distribution units can be configured to suit your compute and storage requirements.
With up to 12 compute and storage nodes per rack, and up to 88TB of storage per node, there is plenty of flexibility in HPE’s Azure Stack offering, which is surprising for something that’s built around a very limited set of hardware options. That’s good, as it gives you the option of upgrading elements of a rack going forward, allowing it to expand with your requirements. It will be interesting to see what configurations become most popular.
Alternative options will initially come from both Dell EMC and Lenovo, with Cisco and Huawei to follow. Lenovo’s options include a half-rack-height 25U unit, as well as a more familiar 42U rack. Like HPE, Lenovo is using familiar servers as the basis of its compute and storage nodes. It’s an approach that should keep costs to a minimum, as there already are economies of scale in place, especially as Azure Stack vendors will need to stockpile enough components to cover the entire support lifecycle of a rack. A smaller Azure Stack implementation should fit in well with some of Microsoft’s suggested deployment scenarios, especially where you’re putting a replica of your cloud services in a space- and bandwidth-constrained environment, such as a cruise ship or a mine.
Having a consistent hardware basis, even if from different vendors, makes a lot of sense for a platform like Azure Stack. Microsoft has committed to frequent updates to Azure Stack, which are unlikely to match the cadence of the public cloud, but will be significantly faster than you’re used to with Windows Server and its application stack.
One thing remains clear: Running Azure Stack, like the Azure Pack before it, won’t be anything like running Windows Server. With certified hardware, you can ignore your machines and focus on your applications and the Azure Stack portal. You’ll need to treat Azure Stack like a cloud to get the most from it—a cloud that’s in your data center.