The Azure Stack announcement we’ve been waiting for for about 2 years has finally come; Microsoft announced the ability to order Azure Stack hardware from partners is available. There also another feature / product that was a part of that announcement that is really an amazing release that is part of the Microsoft Azure Stack ecosystem. The other feature is the Azure Stack Development Kit. The Azure Stack Development Kit, while not meant for production environments, can be used to install and run Microsoft Azure Stack on your own slightly less resourceful hardware without requiring you to purchase an expensive Azure Stack system. The Azure Stack Development Kit allows you to run Azure Stack on your own hardware for Development and Testing purposes. An additional scenario that is enabled is the ability to host Azure Stack in Microsoft Azure. What?! Yes, you read that correctly. Keep reading; I’ll explain Why and How this is done.
Azure Stack Development Kit
The Azure Stack Development Kit is a version of Microsoft Azure Stack that can be installed and run on hardware with less resources that what you would use in a Production environment. The features and capabilities of Azure Stack 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 purpose of the Azure Stack Development Kit is to enable you to run a Development and/or Testing environment for building systems and workloads to run in Azure Stack.
The Azure Stack Development Kit has lower resource requirements than the full Azure Stack. This allows you to run it on small, lower resourceful hardware in a lower cost environment to be used for Development and Testing purposes. Another benefit of running 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. This is perfect for Development and Testing purposes, however, Azure Stack Development Kit does still require some pretty beefy hardware in comparison to your laptop, smartphone, or desktop you’re reading this article from.
Here’s a summary of the minimum hardware requirements to run Azure Stack Development Kit that you must meet.
- CPU / Compute: Duel-Socket: 12 Physical Cores (total)
- Memory: 96 GB RAM
- BIOS: Hyper-V Enabled (with SLAT support)
- Networking / NIC: Windows Server 2012 R2 Certification required for NIC; no specialized features required
- Operating System Disk Drives / Storage: 1 OS disk with minimum of 200 GB available for system partition (SSD or HDD)
- Data Disk Drives / Storage: 4 disks. Each disk with minimum of 140 GB of capacity (SSD or HDD). All available disks will be used.
The above listed specifications are the minimum requirements. In all likelihood you’ll need to have more resources than these minimums to really be able to run normal workloads that you’re looking build or test 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.
Run Azure Stack Dev Kit in the Cloud
While it’s still recommended by Microsoft that you run the Azure Stack Development Kit on dedicated hardware on-premises, you can actually run it in Microsoft Azure, or any other Cloud Provider so long as the IaaS VMs used support nested virtualization. Within Microsoft Azure, the Dv3 and Ev3 VM instance sizes that were recently made available are the only VM sizes that support nested virtualization and can run the Azure Stack Development Kit.
Here’s a couple screenshots of the official VM pricing information for the Dv3 and Ev3 VM sizes. These screenshots were taken at the time of writing this post; they could change or be different by the time you read this article. The sizes that meet the minimum requirements to run the Azure Stack Development Kit are outlined in red.
As can be seen above, the minimum requirements to run the Azure Stack Development Kit are pretty large, and will require some VMs that aren’t exactly small or cheap. Also, it must be kept in mind that only the newly “v3” VM instance sizes such as the Dv3 and Ev3 will work as those are currently the only sizes that support nested virtualization.
Another note about the “v3” VM instance sizes is that they aren’t available in all Azure Regions at the time of writing this article. It needs to be research if these sizes are available in the Azure Region you’re looking to deploy into before attempting to spin up the VMs and install the Azure Stack Development Kit.
Once you’ve spun up that super cool “v3” Azure VM, you can find installation and deployment instructions for the Azure Stack Development Kit within the official documentation here:
https://docs.microsoft.com/en-us/azure/azure-stack/azure-stack-run-powershell-script
Good luck building out your Private Azure Cloud!
Tried to deploy this on a E16S v3 virtual machine, using SSD as OS-disk and 4 standard HDDs for needed storage.
Initial deployment and reboot to the VHDX works fine, but running the script InstallAzureStackPOC.ps1 fails at step 12.
“Invoke-EceAction : Action: Invocation of step PhysicalMachineAndInitialConfiguration.12 failed. Stopping invocation of action plan”
Row 579, character 5
Searching for a solution…
I’m hitting the same error: “Invoke-EceAction : Action: Invocation of step PhysicalMachineAndInitialConfiguration.12 failed. Stopping invocation of action plan”
Row 579, character 5