You dont have javascript enabled! Please enable it!

Running Microsoft Azure Stack Development Kit at Home #AzureStackHub #AzureStackDevKit

5 Min. Read

Azure Stack Hub is an extension of Azure, thereby enabling a truly consistent hybrid cloud platform. Consistency removes hybrid cloud complexity, which helps you maximize your investments across cloud and on-premises environments. Consistency enables you to build and deploy applications using the exact same approach – same APIs, same DevOps tools, same portal which leading to increased developer productivity in your organization.

In this article, I will share with you how to run Azure Stack Development Kit at home with few resources.

Introduction

In July 2017, Microsoft announced that in coordination with hardware OEMs (Dell EMC, Hewlett-Packard Enterprise, Cisco, and Lenovo) you can now order Azure Stack Integrated Systems hardware, with the first systems beginning to ship starting September 27th, 2017. These systems come ready to run and offer consistent, end-to-end customer support no matter who you call. They will initially be available in 46 countries covering key markets across the world.

This is an exciting time for everyone, now that we can finally see it all coming together where we’ll finally be able to run Azure services natively in an on-premises data center or absolutely anywhere else. Azure Stack is going to change the world.

Azure Stack Development Kit

The Azure Stack Development Kit (ASDK) is a free version of Microsoft Azure Stack (known previously as POC), which can be installed and run on hardware with fewer resources than what you would use for Azure Stack Hub Integrated Systems. The features and capabilities of Azure Stack Hub Integrated Systems and the Azure Stack Development Kit are identical without any real difference. The only difference between the two is the support for running Production workloads and using much larger, resourceful hardware. The aim of the Azure Stack Development Kit is for trial purposes, which is available for web download today. You can use it to build and validate your applications to run on Integrated Systems deployments.

As of writing this article, the current Microsoft Azure Stack Development Kit build is 20171020.1 which was released on 31/10/2017.

Hardware

The Azure Stack Development Kit (ASDK) has lower resource requirements than Azure Stack Integrated Systems. This allows you to run it on small, lower resourceful hardware in a lower cost environment to be used for Development, Testing, and Learning purposes. Another benefit of running the Azure Stack Development Kit is that you can run it on your own custom hardware, without the requirement to purchase a special Azure Stack system from third-party OEMs. However, Azure Stack Development Kit does still require some pretty beefy hardware in comparison to your desktop, laptop, or smartphone you’re reading this article from.

Here are the official hardware requirements announced by Microsoft for Azure Stack Development Kit:

ComponentMinimumRecommended
OS Disk drives1 OS disk with minimum of 200 GB available for system partition (SSD or HDD)1 OS disk with minimum of 200 GB available for system partition (SSD or HDD)
Data Disk drives4 disks. Each disk provides a minimum of 140 GB of capacity (SSD or HDD). All available disks will be used.4 disks. Each disk provides a minimum of 250 GB of capacity (SSD or HDD). All available disks will be used.
Compute: CPUDual-Socket: 12 Physical Cores (total)Dual-Socket: 16 Physical Cores (total)
Compute: Memory96 GB RAM128 GB RAM (This is the minimum to support PaaS resource providers.)
Compute: BIOSHyper-V Enabled (with SLAT support)Hyper-V Enabled (with SLAT support)
Network: NICWindows Server 2012 R2 Certification required for NIC; no specialized features requiredWindows Server 2012 R2 Certification required for NIC; no specialized features required
HW logo certificationCertified for Windows Server 2012 R2, 2016, or 2019Certified for Windows Server 2012 R2, 2016, or 2019

The above-listed specifications are the minimum and the recommended requirements. In all likelihood, you’ll need to have more resources than these to really be able to test and add many of the marketplace items from Azure with the development kit. If you’d like to view the full list of Azure Stack Development Kit hardware and deployment prerequisites, you can view the full specifications on the official documentation page from Microsoft.

Bill of Materials Azure Stack Dev Kit

As you could see from the list above that most of the desktops and laptops in the market today couldn’t meet the minimum requirement. I want to run Azure Stack at home with the following in mind:

  • Less space
  • Less cooling
  • Minimal power consumption
  • Minimum noise
  • Full flash
  • Small and lightweight

Some workstations have up to 64GB of RAM. For laptops, the number of disks is another issue. ASDK requires 4 disks + 1 disk for OS, however, 3 disks configuration with 1 disk for OS may work but are not tested by Microsoft. So, I had to look at a bigger workstation or server for this purpose without hacks in the code. Despite the fact that you could run ASDK in public Azure as well, but the cost of the nested Dv3 and Ev3 VMs is very high, and the Internet connection could be another issue for me. I get inspired by Larry Zhang’s article and I thought that this piece of hardware could solve my challenge.

SuperMicro SYS-E300-8D can meet the majority of Azure Stack Development Kit hardware requirements. It’s a very small and 1U mini server.

Running Microsoft Azure Stack Development Kit at Home #AzureStackHub #AzureStackDevKit 1

The SYS-E300-D supports up to 128GB RAM, but the CPU is the bottleneck as it supports a maximum 4-Core. I managed to replace the motherboard with a higher CPU version X10SDV-7TP8F, which includes a 16-Core / 32 Threats Intel(R) Xeon(R) D-1587. The next challenge is the number of disks, how to put 4 data disks into a very small chassis.

Luckily, I managed also to leverage the 1U 2 PCIe mini slots in the X10SDV-7TP8F and 1 M.2 slot embedded on the motherboard. Thus, we need two PCIe to M.2 SSD modules. I added two Amfeltec SQUID PCIe Carrier Board (1U PCI Express Gen 3 Carrier Board for M.2 SSD module). With 3 X M.2 NVMe SSD drives in the mini server, we could install Azure Stack. But Microsoft recommends 4 disks and not 3. Actually, the deployment script only validates where or not you have 3 or more data disks.

Running Microsoft Azure Stack Development Kit at Home #AzureStackHub #AzureStackDevKit 2

I used 3 Samsung SSD 950 PRO NVMe M.2 512GB. The 950 PRO also features Dynamic Thermal Throttling Protection technology, which controls the temperature of the device to reduce overheating and maintain a high level of sustained performance.

Running Microsoft Azure Stack Development Kit at Home #AzureStackHub #AzureStackDevKit 3

As for the OS Disk, I tried to leverage my exiting 1TB mSATA (Full Size) Samsung SSD 850 EVO for the system drive, but unfortunately, Azure Stack Dev Kit installation was failing at Step 60.61.101. I worked with Azure Stack Team on troubleshooting this issue for one month. Kudos to the Team. After checking with SuperMicro, I found out that the mSATA should be Mini (Half Size) versus the traditional mSATA (Full Size). So, I ordered 256GB mSATA Mini (Half Size) SATAIII SSD for the system drive, and I am good to go.

Running Microsoft Azure Stack Development Kit at Home #AzureStackHub #AzureStackDevKit 4

The motherboard X10SDV-7TP8F also supports SATA-DOM. Microsoft announced recently support for SATA-DOM boot drives for the operating system in Windows Server 2016. You could even order two SATA-DOM drives and configure them as RAID1. However, the maximum size for SATA-DOM drives as of this writing is 128 GB which does NOT meet the minimum requirements for Azure Stack 200 GB. In all cases, I ordered 1 SATA-DOM drive (SSD-DM128-SMCMVN1) for additional storage.

Running Microsoft Azure Stack Development Kit at Home #AzureStackHub #AzureStackDevKit 5

So, here is the final bill of materials that I bought:

Part NumberProductPrice USD
CSE-E300Supermicro CSE-E300 Flex-ATX/Mini-ITX Compact Desktop 1U Chassis$3,762
MB-SMDX10SDV-7TP8FSupermicro X10SDV-7TP8F Mini-ITX Motherboard; Intel Xeon D-1587
16C/32T; 128GB ECC RDIMM; 2 10G SFP+ and 6 GbE;12V DC-IN/ATX
Power
-
MM-SM393A4K40BB1-CRC4 X Samsung Memory M393A4K40BB1-CRC 32GB DDR4 2433 Registered Bare-
FAN-0065L4Supermicro 40x40x28mm 13000 RPM 4 Pin PWM (additional Fan)-
MB-AOMTPM9665V-SSupermicro AOM-TPM-9665V-S TPM 2.0 Module w/ Provisioning-
RC-A086-312 X Amfeltec SQUID PCIe Carrier Board for 1 M.2 SSD module$184
SSD-DM128-SMCMVN11 X Supermicro 128GB SATADOM$145
PS-SPI120WACL6SPI 120W 12V@10.0A AC Adapter, ROHS, Level 6 0.00T - 150C Power Cable, NEMA5-15P/IEC320-C13, 150cm/3C,RoHS,75-
mSATA Mini (MO-300B Variation B)1 X 256GB mSATA Mini (Half Size) SATAIII SSD$179
MZ-V5P512BW3 X Samsung 950 PRO Series - 512GB PCIe NVMe - M.2 Internal SSD$1,797
Shipping & HandlingShipping & Handling Charges (INSURED)$87
CustomsTax$70
TOTAL$6,224

I know the price is quite expensive. I am by no means recommending that you should buy the same hardware that I have, you should buy the hardware that suits your requirements and is also within your budget. Please add to the comments if you have any relevant experience with different products that you prefer.

The little monster now perfectly matches the recommended hardware requirements for Azure Stack Development Kit:

ComponentMicrosoft RecommendationSuperMicro Custom Config
OS Disk drives1 OS disk with minimum of 200 GB available for system partition (SSD or HDD)1 OS Disk: miniSATA 256GB SSD
Data Disk drives4 disks. Each disk provides a minimum of 250 GB of capacity (SSD or HDD). All available disks will be used.3 X 512 GB NVMe SSD
Compute: CPUDual-Socket: 16 Physical Cores (total)Single-Socket: 16 Physical Cores (total)
Compute: Memory128 GB RAM (This is the minimum to support PaaS resource providers.)128 GB RAM
Compute: BIOSHyper-V Enabled (with SLAT support)Hyper-V Enabled (with SLAT support)
Network: NICWindows Server 2012 R2 Certification required for NIC; no specialized features Windows Server 2012 R2 Certification required for NIC; no specialized features
HW logo certificationCertified for Windows Server 2012 R2Certified for Windows Server 2012 R2

Here is how it looks like eventually.

Running Microsoft Azure Stack Development Kit at Home #AzureStackHub #AzureStackDevKit 6

Running Azure Stack Dev Kit at Home

Now before we start the deployment, let’s run the Azure Stack prerequisites checker and validate the system.

Running Microsoft Azure Stack Development Kit at Home #AzureStackHub #AzureStackDevKit 7

You can disregard the failure message regarding CPU count and physical disks in the pre-checks.

As you can see, all NVMe drives can be pooled to create the shared storage. As we all know that Azure Stack is built on top of Storage Spaces Direct (S2D) cluster.

Then I kick off the deployment script.

Running Microsoft Azure Stack Development Kit at Home #AzureStackHub #AzureStackDevKit 8

After 4 hours and 20 minutes, the deployment of Azure Stack Development Kit build 20171020.1 has been completed successfully.

Running Microsoft Azure Stack Development Kit at Home #AzureStackHub #AzureStackDevKit 9

Here is the view after the deployment:

Failover Cluster Manager

Running Microsoft Azure Stack Development Kit at Home #AzureStackHub #AzureStackDevKit 10

Hyper-V Manager

Running Microsoft Azure Stack Development Kit at Home #AzureStackHub #AzureStackDevKit 11

Task Manager

We still have around 55 GB of RAM remaining to deploy Azure Stack services (IaaS and PaaS).

Running Microsoft Azure Stack Development Kit at Home #AzureStackHub #AzureStackDevKit 12

Azure Stack Administrator Portal

Running Microsoft Azure Stack Development Kit at Home #AzureStackHub #AzureStackDevKit 13

Conclusion

I would like to give a huge thanks to Eric Yui from MITXPC Embedded Systems Solutions for working with me on this project and helping me outreaching my objective.

Running Microsoft Azure Stack Development Kit at Home #AzureStackHub #AzureStackDevKit 14

Good luck building out your mini Private Azure Cloud at home!

Cheers,
-Ch@rbel-

Photo of author
About the Author
Charbel Nemnom
Charbel Nemnom is a Senior Cloud Architect, Swiss Certified ICT Security Expert, Certified Cloud Security Professional (CCSP), Certified Information Security Manager (CISM), Microsoft Most Valuable Professional (MVP), and Microsoft Certified Trainer (MCT). He has over 20 years of broad IT experience serving on and guiding technical teams to optimize the performance of mission-critical enterprise systems with extensive practical knowledge of complex systems build, network design, business continuity, and cloud security.

Related Posts

Previous

Update Rollup 4 for System Center 2016 is Now Available #SysCtr #SystemCenter #VMM #DPM

Download Script for VHD Evaluation for System Center Preview 1711 #SysCtr #SystemCenter

Next

Let me know what you think, or ask a question...

error: Alert: The content of this website is copyrighted from being plagiarized! You can copy from the 'Code Blocks' in 'Black' by selecting the Code. Thank You!