Azure Stack is Microsoft’s enterprise cloud technology that allows organizations to run Microsoft Azure on their own premise. During the early adopter testing phase, I needed an Azure Stack host that I could take between my office (by day) and home (on weekends), or to take to client sites to demonstrate. So I created a portable version of Azure Stack by building a 14-core / 10-terabyte cloud in a briefcase!
For those who need a background on Azure Stack, please see a couple articles I wrote on Azure Stack describing the technology in more detail, as well as the business use cases of who is lining up to buy Azure Stack. My initial article back in February 2016 covers some early experiences, and then a October 2016 article that updated some more recent work on Azure Stack.
So back to this Portable Azure Stack cloud… My first testing of Azure Stack back in 2015 involved a typical 100-pound, 4U rack mounted server that I had in a rack in one of our datacenters. Many of the bare metal build cycles of working with Azure Stack involved hands-on at the server console since after all, Azure Stack is the foundation of a datacenter infrastructure (compute, storage, networking, VMs, fabric, etc). So I found many hours sitting with a coat on freezing in the datacenter working at the console of the server. Once Azure Stack was running, I was able to remote into the server and do all other management functions from anywhere.
However when you’re demonstrating Azure Stack and talking about how Azure Stack can be placed in an enterprise’s own datacenter, that it is effectively Microsoft’s scalable Azure cloud that you host on your own, when you remote into an Azure Stack environment, it’s not very exciting to see. You get an Azure console screen that looks 100% like Azure’s public cloud console screen, so the effect of talking about this on-premise Azure just didn’t have any visual impact.
I wanted to bring Azure Stack into the conference room of our clients (that are Hosters, Finance orgs, Healthcare orgs, high-security military and government orgs) and show them Azure in their own facilities. But lugging around that 100-pound 4U rack server wasn’t too feasible, and so Azure Stack Portable was born.
I tried to find a laptop that was big enough to run Azure Stack, however to get a “real” Azure Stack host with more than 12-cores, more than 128gb of RAM, and at least 5 physical hard drives proved impossible. And while I tried to do nested virtualization and tweak dynamic memory to make the thing work on less, while I was able to get the thing to boot, the performance to run dozens of tenants, SQL apps, Web apps, a variety of virtual machine systems, cheating the cloud of resources only killed performance.
So I pursued building an Azure Stack configuration out of components (motherboard, DIMM memory, power supply, etc) and instead of putting it in a large tower or desktop case, I measured all of the components and got the whole thing to fit in a briefcase!
Here's a picture of the Azure Stack server all folded up, next to my 13" MacBook for size comparisons...
This Azure Stack Portable has:
- an Intel 14-Core Processor
- 256gb RAM
- 1 SSD TB Boot Drive
- 8 SSD TB Data Drives
- a 14” USB-powered LCD Display
- 90-watt Power Supply
I’m able to run all of the various Azure Stack scenarios on this system with lightening fast performance that includes having 20-30 tenant VMs running at the same time, running KeyVault security, a couple VPN Gateways for test tenants to access their Azure Stack resources, Azure SQL, Azure AppService, the works!
Internal view with the LCD display mounted on one side of the briefcase, Intel NUC WiFi router to the left, Motherboard in the middle (big silver thing is the passive heat sink on top of the massive processor), power supply to the right, hard drives are mounted toward the front of the case (you can see a cage to the left front that houses 4 of the drives, the other drives are under the black "ledge" I put in there), and on top of that ledge thing is a 2-way video/keyboard switch box (for the NUC / Azure Stack) and I place the keyboard and mouse on top of the ledge when I pack the thing up to go...
Everything folds up into an 11-pound briefcase with a single wall plug. In my configuration, I also put in an Intel NUC (a small 1”x3”x3” brick computer) that has a WiFi adapter and Ethernet adapter on it. This was needed because Azure Stack assumes its IP range remains the same every time I turn it off and on, however when I connect to various WiFi connections as I move the Azure Stack Portable around, I’d get a different host server IP address and Internet gateway address. So this WiFi router solves the problem by establishing internet connectivity anywhere, but keeps the same 11.1.1.x IP address range for my Azure Stack’s external connection.
For the configuration, I bought all the parts from newegg.com and amazon.com and pieced the system together:
- SuperMicro MBD-X10SRI-F Server Motherboard LGA 2011 R3 (NewEgg # N82E16813182928, US$275)
- Intel Xeon E5-2660 V4 2.0 GHz LGA 2011 105W BX80660E52660V4 Server Processor (NewEgg # N82E16819117634, US$1500)
- SuperMicro SNK-P0048PS 2U Passive CPU Heatsink for LGA2011 (NewEgg # 9SIA1UH3H72684, US$23)
- And then I have 256gb of RAM (8 x 32gb DDR4 DIMMs), 1 boot drive (Samsung 850 EVO 1TB 2.5” SSD SATA 3 MZ-75E1T0B/AM) plus 8 data drives (same 1TB SSD drives) @ US$300ea
- GEChic 1303H 13.3" Portable Display (HDMI, VGA, USB-Powered) (Amazon.com @ US$300)
- Plus power supply (with SATA cable splitters for power), keyboard, mouse, case, fans
This motherboard has been good with plenty of SATA connectors for hard drives, built-in VGA video, built-in speaker, so everything that the basics are needed. The motherboard supports a 20-core Intel processor and up to 512GB of RAM, but if you’ve ever priced out the cost of those components right now, it would have tripled my budget (which by the way, this whole setup as configured cost ~US$4,000)
Its been really nice to take my Azure Stack home on weekends to do rebuilds or test bare metal stuff, and bring into the office and take to client sites to demo Azure Stack... Thing boots up and stabilizes in about 8 minutes, so as long as I can get into a conference room and power the thing on, get WiFi off the router, I'll have the thing running within 8-10 minutes. Pretty slick!
A bit of a geek moment for those who enjoy fiddling with bare metal hardware as well as have a foot in the scalable enterprise cloud world of today! Hope you enjoy this article, cheers!