Azure Stack TP1 Review

Recently Microsoft launched a first early preview version of Azure Stack - Technical Preview 1 (TP1). Today I'll show the functionality of this version and tell you why this product is so important for Microsoft cloud strategy.

First announce of Azure Stack was on Microsoft Ignite conference in Chicago on 4th of May 2015. This announce was a hot topic for Azure power users and service providers. A lot of Microsoft Azure cool technologies will be available for enterprises and service providers soon, deployed in their own datacenters. During several last years a lot of companies asked us - "Please, give us Azure to deploy in our own datacenter, we like the technology and we won't to manage it by ourselves". So, this idea will be real very soon.

Azure Stack is "Azure in your datacenter". Comparing to Windows Azure Pack, which shared only a little portion of code with Azure (mostly front-end part), Azure Stack is much more Azure-consistent, and it shares much more code with Azure. Azure Stack doesn't use System Center inside, comparing to Windows Azure Pack.

If you don't know - Azure currently works in two different models. One is called "Azure Service Management" (ASM) and is available to tenants as "current portal". New generation is called "Azure Resource Manager" (ARM), which is available as "New Azure portal". They are different in terms of service approach, they use different APIs and PowerShell scripts, they have different limits and different UI. Windows Azure Pack looks like ASM, and Azure Stack is built upon ARM model. Main idea here - if you developed a cloud service using ARM model, you can migrate it to any service provider, that has Azure Stack deployed, vice versa. Or you can migrate ARM-based virtual machine from Azure Stack in any region to Microsoft Azure. ISVs can develop their services based on ARM, and deploy them anywhere they want afterwards.

But remember - Azure Stack Technical Preview 1 is an early version of a product. Right now is not suitable for production deployment at all - there is no traditional installation package, it deploys on a single host without any high availability option, and it is not stable enough. And keep in mind that Azure Stack will change according to the changes of Microsoft Azure, to stay "Azure consistent". But TP1 is OK for testing and proof of concept. You can deploy it quickly using a single host with Windows Server 2016 TP4, and you can test a lot of cool scenarios.

Working with Azure Stack Technical Preview 1

First of all, I want to mention a big difference of Azure Stack and Windows Azure Pack in terms of administration. Azure Pack has 2 portals - admin portal, and tenant portal. Azure Stack has a single portal, which is used for both. If a current logged on user is an owner of "Default Provider Subscription", then he can manage Azure Stack environment. By default, it is an Azure AD user, that was specified during the Azure Stack TP1 installation.

To add other Azure AD users as service admins, just add them with Owner rights to "Default Provider Subscription".

Azure Stack introduces the concept of "Resource Providers", which are used for components integration and service offerings for tenants.

All Resource Providers are assigned to Locations. Locations are used to provide services using several logical location (for example - DC in Moscow and DC in Munich). By default, TP1 installer creates a location called "local" and assigns all Resource Providers to this location.

After the Azure Stack TP1 installation, there are several Resource Providers available. Most of them are for internal use and not available to tenants as "services". But 4 Resource Providers can be used to offer services to tenants:

  1. Compute Provider - it is used to offer Hyper-V 2016 based VMs.
  2. Storage Provider - used to provide Storage Accounts to tenants with blobs, tables, queues and files as storage services. In TP1 there are only blobs (page blobs for VMs and block blobs for files) and tables available. In future versions file services and queue services will be added.
  3. Network Provider - used to offer network services. Virtual networks, gateways, load balancers, external IPs etc.
  4. Subscriptions - this service provider is used to offer subscription management for tenants. This functionality can be used by service resellers - companies, which sell service provider products using "white label" model.

Also, there are 3 PaaS Resource Providers available on GitHub, which can be additionally installed on TP1:

  1. SQL Server - database-as-a-service offering based on SQL Server
  2. MySQL - database-as-a-service offering based on MySQL
  3. Web Apps - first version of Azure App Service implementation on Azure Stack. Currently only Web Apps are available.

I expect a lot of new resource providers for Azure Stack  in the future - from Microsoft (to add Azure functionality into Azure Stack) and from 3rd parties (which will extend Azure Stack functionality with unique functionality from other vendors).

Portal administrator prepares "Offers", which include one of several "Plans". Administrator configures which services from which locations are available in the plan, and configures resource quotas.

Tenants create "Subscriptions" on these offers. They can do it by themselves if Offer and Plan are set to "Public", or service administrators can subscribe them to offers if they are set to "Private". This concept is quite similar to Windows Azure Pack.

Tenant signs in using his Azure AD account and adds an offer subscription using "Get a Subscription" button, and chooses an available public offer. Pricing and billing functionality is not available in TP1, so "Unable to display pricing" message is OK.

 

After adding a subscription, tenant can click "+ New" button and see what services are available to him. Currently only several services are available out of the box: Template Deployment (ARM-based service deployment using JSON description), Resource Group, Storage Account and Windows Server 2012 R2 based VM.

When you'll add your own VM templates (Windows-based or Linux-based) and PaaS services from GitHub, mentioned above, this list will look much more interesting.

 

New VM creation interface in Azure Stack looks similar to new Microsoft Azure portal.

 

During the VM creation process you can check what's going on there.

After the VM is created, you can open it's settings and check the available actions. It's also looks very similar to new Microsoft Azure portal. Hence resource monitoring is not available in Azure Stack, you'll see "No available data" message instead of resource usage graphics.

Direct connection to VMs is available via RDP (for Windows-based VMs) or via SSH (for Linux-based). There is no console access available (comparing to Azure Pack), just like in Microsoft Azure.

In Storage Account properties you can see Blob, Table, Queue and File services icons.

TP1 includes only blobs and tables functionality. Queues and File services will be available in future versions.

 

That's all for today. I recommend you to download Azure Stack Technical Preview 1, install it and test it in your environment. And don't forget to check Azure Stack Wiki , it has a lot of valuable information.