For various reasons, including security and compliance, not all applications can migrate to the public cloud. But...
what if you could bring public cloud services into your own data center?
That's the general aim of Microsoft Azure Stack, an integrated hardware and software platform that enables enterprises to locally deploy Azure services. Microsoft designed the technology to provide users with a consistent interface across public and private infrastructure for simplified hybrid cloud management. In addition to infrastructure as a service, Azure Stack offers a platform-as-a-service environment that lets developers write an application once that can both run and scale within Azure public and private clouds.
Before you pursue an Azure Stack deployment, however, you should be clear on vendor support options, the software development kit (SDK), cost implications and other aspects of the process. Here's a look at those key factors and more.
Microsoft has worked with hardware vendors to simplify Azure Stack deployment and to ensure that users can add more capacity to the environment, as needed. An enterprise can choose to purchase Azure Stack hardware from a certified vendor or from a third-party service provider that can also manage the platform on its behalf.
Currently, certified Azure Stack hardware vendors include Hewlett Packard Enterprise (HPE), Cisco, Dell EMC and Lenovo. Other vendors, such as Huawei, plan to bring their own offerings to market. All the hardware from these vendors -- which, in its simplest terms, is compute, networking and storage in a scalable appliance, much like hyper-converged infrastructure (HCI) -- has to meet strict approval criteria from Microsoft.
The Azure SDK
With the Azure Stack SDKdevelopers can create proof-of-concept projects, as well as test environments, on one server. This helps ensure that an application will scale as required on Azure Stack infrastructure and that, once it moves into production, there won't be any hardware or configuration issues.
The setup and configuration guides for the SDK can be found here.
Azure Stack deployment without the public cloud
As noted earlier, the main advantage of Azure Stack is to provide a consistent management interface across Azure public and private clouds, as well as the ability to write an application once that can run in either of those environments. IT and development teams can use Azure Resource Manager as a self-service portal and to manage APIs, for both private and public clouds.
Microsoft's Azure Stack move
Azure Stack, in a few ways, represents a bold and interesting move for Microsoft. On the one hand, the technology enables Microsoft to meet the security and compliance requirements that have prevented some customers from moving applications to the cloud.
On the other hand, Azure Stack launches Microsoft into a whole new world of hardware configurations and vendor relationships to manage. It also brings it into a new competitive space, around HCI, with vendors like VMware. It will be interesting to see how it all plays out.
Since the overall aim of Azure Stack is provide that management consistency, if you only plan to use it as a stand-alone system, rather than alongside the Azure public cloud, you negate some of the most compelling reasons to use it. On the other hand, the consistency and uniformity across the Azure Stack hardware vendors and their certified stacks could alone provide a boost for developers that want to scale in an on-premises environment.
Although Azure Stack is essentially a hybrid cloud platform where you, or a third-party services provider, manages the hardware, it doesn't mean it's devoid of other Microsoft cloud costs. What's more, this converged hardware does not come cheap; HPE, as one example, says its ProLiant hardware for Azure Stack starts at $300,000.
Customers also have to pay Microsoft for the cloud services they use on Azure Stack. However, these fees are usually lower than what they would pay for services on the Azure public cloud, since, with Azure Stack, Microsoft does not have to operate or manage the underlying hardware. With Azure Stack, you can choose to pay by the month or hour for a base virtual CPU -- either $6 a month or $0.008 per hour, according to Microsoft's own details.
Similar to public cloud services, an Azure Stack deployment follows a pay-as-you-go model, where customers only pay for what they use. Microsoft charges users for both their Azure public cloud and Azure Stack usage on a single bill.
If an enterprise uses Azure Stack in disconnected mode -- meaning it does not connect it to the Azure public cloud -- it still needs to have the appropriate licensing in place.