First Look: Microsoft Azure Stack
Here's what to expect when you install the first technical preview.
- By Paul Ferrill
The Microsoft Azure cloud has grown from its early Windows-centric focus into a multi-faceted infrastructure supporting a wide range of services. In addition to providing a complete cloud platform and services such as machine learning, the Azure cloud infrastructure provides raw scalable storage and compute services that allow the provisioning of Windows and Linux-based virtual machines (VMs). The appeal of the Azure public cloud infrastructure services is its responsive Web-based management portal with an interface incorporating wizard-based services creation, which simplifies the UX while a complete PowerShell Azure add-in implements automation.
Bringing that capability to any private organization is the idea behind Azure Stack, which Microsoft announced nearly a year ago, as a key new add-on to its forthcoming Windows Server 2016 OS. While Microsoft has offered a similarly named tool for Windows Server 2012 called Windows Azure Pack, it only offers a subset of what the new Azure Stack will provide when released, presumably later this year.
Azure Stack literally packages the same infrastructure and management capabilities Microsoft uses for its Azure public cloud and makes it available to run within a customer's datacenter or by a third-party hosting or colocation provider. Microsoft recently released the first technical preview of the Azure Stack offering as a proof of concept (POC) for companies to install and kick the tires.
Why Azure On-Premises?
Answering the why question is often a way to ascertain not only the purpose of the product, but the reason you should care. For Microsoft, the why is all about enabling customers to take advantage of the huge investment they've made in managing a very large cloud environment. At the end of the day, it's also about conversion, meaning the more customers Microsoft brings into the Azure fold, the more money the company makes.
Some customers might wonder why they'd want to run the same platform in their corporate datacenter that Microsoft uses for Azure, but it makes perfect sense. Developing for one common environment would make it simpler to move to the cloud and hopefully identify any potential issues before making the jump. It also provides a platform for developing complex applications and the ability to run them in-house while using the same management framework and self-service approach as Azure.
With this first technical preview, Microsoft has made the effort to make the entry level hardware requirements as minimal as possible to enable more participation. That being said, you'll need a server with two sockets, 12 physical cores and 96GB of memory, plus four available physical disks. Microsoft recommends 16 physical cores and 128GB of memory. While this POC release is designed to run on a single machine, it's easy to see how different roles could be split across physical machines in a cluster. On the OS side, testers will need Windows Server 2016 Datacenter Edition TP4.
Looking at the POC architecture diagram (Figure 1) it's easy to see why you need a machine with these specs in order to adequately test the product. A total of nine VMs make up the core services of Azure Stack split along functional areas. All management uses a client VM to connect to a local instance of the Azure portal. The UI looks essentially the same as what you see when you connect to the cloud version of the Azure portal.
I used a Dell R930 server with four Intel Xeon E7-8890 v3 processors (18 cores each for a total of 144 logical processors), 512GB of memory, eight 400GB Intel NVMe drives and two 350GB 10K SAS drives for booting. In Azure Stack TP1 the installation pre-check scripts don't allow for NVMe drives. Fortunately, Larry Zhang, a senior program manager at Microsoft, documented the changes necessary to add NVMe drives to the supported list, though he warned that NVMe technically isn't supported in Azure Stack TP1. In fact, because it isn't actually supported, he has since removed the post but you can find my copy here. With these changes made, I proceeded on to the next glitch.
The next challenge I encountered was related to my lab network. Microsoft states in the Azure Stack setup guide that several subnets are used, including 192.168.200.0/24, 192.168.100.0/24 and 192.168.133.0/24. My lab was configured for 192.168.0.0/16, which caused a conflict. With this corrected, by reconfiguring the DHCP server for my test network, I was able to successfully complete the Azure Stack installation process.
One last configuration item from my installation needs to be noted: Azure Stack is sensitive to time on the different VMs. By default, the VMs start up with the time zone set to U.S. Pacific time. If your host machine is set to a different time zone you might have timing conflicts when provisioning VMs. This issue presented itself when I tried to deploy the first few VMs and they failed. A quick search on the Microsoft Azure Stack forum uncovered others with the same issue and the fix.
Kicking the Tires
With the Azure Stack POC up and running, I followed the Azure Stack POC Getting Started documentation to configure the system for running VMs using Azure Stack dashboard (see Figure 2), which is presented to an administrator.
The two basic elements that must be created first are a Plan and an Offer. According to the documentation, Plans are groupings of one or more services created in order to offer compute, network and storage resources to tenants. Offers consist of one or more plans that providers present to tenants as subscription options. Once a tenant subscribes to an Offer it will be possible to provision a VM.
The first step of the New Plan wizard is started by clicking on the New item from the main dashboard. With a Plan created you must create an Offer that includes the newly created Plan. Once this step is complete, a tenant will be able to provision a VM after subscribing to the Plan. The POC documentation recommends taking all the defaults as you create a Plan and configure the associated resources.
To test the process, I logged out of the administrator account and logged back in as a tenant. It's worth mentioning at this point that you must create tenant accounts from the cloud-based Azure portal in your Azure Active Directory domain. Logged in as a tenant, you must first subscribe to a Plan, and then you'll be able to provision a VM, via the Create VM wizard with the basic information completed.
With this complete, Azure Stack proceeds to provision the VM and allocate the appropriate network and storage resources. It also offers a management page for the running TestVM2.
A Step Forward
This first technical preview of Azure Stack represents a huge step forward in bringing the power and functionality of the Azure cloud to your own datacenter. Azure Stack makes it possible to take advantage of the investment Microsoft has made for the public cloud to include the automated provisioning of compute, network and storage resources in your private environment. It also makes a lot of sense for implementing hybrid on-premises implementations for consistency and continuity. Best of all, you can take it out for a spin and see for yourself.
About the Author
Paul Ferrill, a Microsoft Cloud and Datacenter Management MVP, has a BS and MS in Electrical Engineering and has been writing in the computer trade press for over 25 years. He's also written three books including the most recent Microsoft Press title "Exam Ref 70-413 Designing and Implementing a Server Infrastructure (MCSE)" which he coauthored with his son.