Microsoft Azure Stack is an integrated platform of hardware and software that delivers Microsoft Azure public cloud services in a local data center to let organizations construct hybrid clouds.
Azure Stack offers both infrastructure as a service (IaaS) and platform-as-a-service (PaaS) for companies that develop web apps. Azure Stack shares its code, APIs and management portal with Microsoft Azure for a common platform to address hybrid cloud issues, such as inconsistency between cloud and on-premises environments. Microsoft positions Azure Stack for organizations that must contend with regulations or other constraints that require them to keep certain data private but want to tap into the benefits of a cloud-like platform.
Microsoft Azure Stack purpose
A way to deliver IT resources and services as a flexible, highly scalable cloud is compelling to modern organizations, but the implementation also poses many challenges. Businesses that adopt a public cloud, such as Microsoft Azure, deal with a different resource and service delivery paradigm in their data center. This makes it difficult to move workloads seamlessly between cloud and on-premises resources.
Some organizations try to ease this problem with a private cloud that connects to the public cloud, but private clouds typically demand the local deployment and configuration of a complex software stack. This drives up complexity for the local data center and does not guarantee compatibility between public and private cloud services, access and management.
Microsoft presents Azure Stack as an integrated platform that fashions a seamless Azure environment that extends from the Azure public cloud into the local data center. With this consistent application development platform, developers can build and deploy applications the same way to the private or public cloud. Azure Stack puts a wide range of Azure services on-premises such as Azure Virtual Machine Scale Sets, Azure App Service, Azure Functions, and even services such as Azure Active Directory to administer Azure Stack identities.
Microsoft Azure Stack use cases
Azure Stack attempts to fulfill a multitude of roles that demand the investment in a private cloud. For example, next-generation application development requires the availability of cloud-like services and flexibility. A private cloud based on Azure gives developers a consistent platform to build, test and update applications. The company can push the apps to either the Azure public cloud or keep them on-premises with Azure Stack.
The uniform development and universal deployment features of Azure Stack help a company meet regulatory or compliance requirements. Not every application can run in the cloud. Azure Stack allows applications to run locally to avoid problems with connectivity or latency with the public cloud.
A workload developed for the hybrid cloud can run locally, remotely or in the public cloud -- all dictated by regulatory or policy demands -- without changing its code base. Regulated workloads are often related to banking, financial reporting and exchange trading industries.
Developers can design workloads to run certain tasks locally before the results move to the public cloud for more detailed collection and processing. For example, an application that runs on Azure Stack can collect and pre-process research data before it moves to a workload in the Azure cloud for more extensive analytics.
Microsoft Azure Stack services
Azure Stack does not feature the full scope of services found in the Azure public cloud. Microsoft plans to add functionality through patches and updates to the system.
The initial release of Azure Stack will include these infrastructure services: Azure virtual machines, Azure Virtual Machine Scale Sets, Azure storage (such as blobs, tables, and queues), virtual networks, load balancer, VPN gateway and Azure Key Vault.
Azure platform services will include Azure App Service, Azure Functions, standalone Azure Service Fabric clusters, Azure Container Service engine support for Docker Swarm, Mesosphere DC/OS, and Kubernetes, and databases such as MySQL resource provider and SQL Server resource provider.
Azure Stack runs Azure identity services such as Azure Active Directory and Active Directory Federation Services. Azure Stack supports tools such as Azure Backup and System Center Data Protection Manager for backup and restore operations, and integrates with Azure Site Recovery for replication and failover.
Azure Stack supports a wide range of Azure marketplace content, such as templates for Cloud Foundry, blockchain and Docker Swarm. Azure Stack customers can also use numerous images and extensions such as Windows Server, RedHat, SuSE, CentOS, Debian, Ubuntu, CoreOS, Chef and others available from the Azure marketplace.
Microsoft Azure Stack access and management
Customers manage Azure Stack with the administrator portal and PowerShell. The IT staff creates tenant services and resources from the administrator portal and makes them available to users. Administrators also add appropriate items to the Azure Stack marketplace -- such as virtual machine images or templates -- from the Azure marketplace.
The user portal -- or the tenant portal -- provides a self-service location for users to select and provision available services and resources such as apps, virtual machines and storage. Administrators can test services, plans and offers through the user portal.
PowerShell helps administrators access and manage Azure Stack. Administrators who wish to automate routine administrative Azure Stack tasks need to install compatible Azure PowerShell modules for the necessary cmdlets.
Azure Stack administration extends beyond the administrator portal and PowerShell. Administrators perform other duties to maintain the Azure Stack deployment, such has adding user accounts through Azure Active Directory or Active Directory Federation Services, and assigning roles through role-based access control.
Microsoft Azure Stack deployment and pricing
An evaluation version of Azure Stack is available as the Azure Stack Development Kit (ASDK), a single-node deployment for testing and proof-of-concept projects. Applications developed on ASDK will work on the production version of Azure Stack.
Azure Stack consists of the software stack that runs on an integrated hardware platform from several vendors, such as Avanade, Cisco, Dell EMC, Hewlett Packard Enterprise, Huawei and Lenovo. The initial Azure Stack bundles start with a minimal deployment four nodes to a maximum deployment of 12 nodes.
Azure Stack requires a contract with Microsoft for Azure services support and a contract with the appliance vendor for hardware support. When Microsoft releases an update to Azure Stack, customers must deploy it within six months to maintain support.
Microsoft bases the pricing for Azure Stack services on a consumption model similar to Microsoft Azure in which fees only accrue when the organization uses the services. Azure VMs, whether a base VM or Windows Server VM, are billed as vCPU/hour. Azure blob, table and queue storage are billed as GB per month with no transaction fee. Azure App Service -- which includes Web Apps, Mobile Apps, API Apps and functions -- are metered as vCPU/hour.
Organizations can subscribe to Azure Stack on a base VM charge of $0.008 per virtual CPU per hour or $6 per vCPU per month. Without a license, a Windows Server VM costs $0.046 per vCPU per hour or $34 per vCPU per month. There are also options for when there is no public internet connection, called disconnected, and fixed-fee models. An IaaS package costs $144 per core per year, and adding Azure App Service costs $400 per core per year.