Just less than a month ago - on January 29, 2016, Microsoft released the first public early version of the product called
Azure Stack . Today I will talk about what it is and why this product is important for Microsoft's cloud strategy.
The first
announcement of the Azure Stack was made at the Microsoft Ignite conference in Chicago on May 4, 2015. Then this announcement caused a great response in the media and among users of Microsoft Azure. No wonder - many of the awesome technologies that Microsoft Azure runs on will be made available to anyone for deployment in their own data center. For many years, large customers and service providers, operators of their own data centers, asked us - give us a piece of Azure, we like the technology, and we want to use it in our data centers. And now, very soon, this desire will become realizable.
')
Azure Stack is really “Azure in your datacenter”. Unlike
Windows Azure Pack , which was similar to Azure from the outside, but was very unlike inside, there are much more common features. Azure Stack uses the same
Azure Resource Manager (ARM) model as the
new Azure portal . The common part of the code between the Azure Stack and Azure is several times larger than that of the Windows Azure Pack. This means that the service being developed for the ARM model can be deployed both in Microsoft Azure and in the Azure Stack - even if it is in the server room, although at the service provider in the neighboring city.
Using the same ARM model and the same development tools, you can create universal services using the Microsoft cloud model, and then deploy them where you need them - from yourself, from a service provider, or from Microsoft Azure. Virtual machines deployed to Azure can be safely transferred to the data center of a local service provider using the Azure Stack, and vice versa.
You need to understand that Azure Stack Technical Preview 1 is a very early version, which is absolutely not suitable for deployment in a productive environment. You can quickly deploy a solution based on a single physical server based on Windows Server 2016 Technical Preview 4 (you already
wrote about this on Habré) and start exploring the possibilities of the solution. If you have already developed under ARM and placed the solution in Microsoft Azure, you can check whether this solution will work on the Azure Stack.
Many functional elements in Azure Stack Technical Preview 1 are not yet available, so it’s too early to judge the final version of the product. Moreover, by the time Azure Stack is released, the components inside Microsoft Azure may change, so the Azure Stack will change after them in order to remain “Azure consistent”.
Work with Azure Stack Technical Preview 1
First of all, I would like to mention one big difference between the Azure Stack and Windows Azure Pack. There are no separate portals for the service administrator and for the service consumer. There is only one portal here, and if the user is the owner of the Default Provider Subscription subscription, then he is the service administrator and can do everything.
By default, the user who entered during the deployment of Azure Stack TP1 is the service administrator. To add new service administrators, you need to go to Subscriptions and add new accounts from Azure AD with Owner rights to the “Default Provider Subscription” subscription.
Azure Stack uses the concept of resource providers (“Resource Providers”) through which different components interact. Some of the resource providers are used to provide services to end users, and some are internal, which consumers do not see.
All resource providers are located in locations ("Locations"). This is a logical entity intended for the separation of services on various sites (data center in Moscow, data center in St. Petersburg, etc.). By default, the “local” location is automatically created in TP1 and all resource providers are added there.
After installing Azure Stack TP1, 4 resource providers are available, on the basis of which you can provide services to consumers:
1) Compute Provider - Provider for provisioning virtual machines based on Hyper-V 2016
2) Storage Provider - Provider for providing storage services. In TP1, Blob Storage (both Page blob for VM disks and Block blob for data) and Table Storage are available. In the future, Queue Storage and File Storage will be added. Buttons for them in the interface already exist, but the services themselves do not work yet.
3) Network Provider - Provider for the provision of network services. Virtual networks, network balancers, external IP, etc.
4) Subscriptions - a provider that allows consumers to create their own tariff plans and subscriptions. The functionality intended primarily for resellers of services of service providers according to the “White label” model.
On GitHub, additional PaaS resource providers are also available for download, installed additionally:
1)
SQL Server - a provider for providing SQL Server databases
2)
MySQL - provider for providing MySQL databases
3)
Web Apps - the first part of the transfer of the Azure App Service to the Azure Stack, so far only in the form of Web Apps.
In the future, there are plans to introduce a large number of resource providers from both Microsoft (which will allow transferring technologies from Microsoft Azure to Azure Stack) and from third-party companies (which will add unique functionality to the Azure Stack portal that is not available in Microsoft Azure).
The Azure Stack Portal Administrator prepares service offers (“Offers”), which may include one or several tariff plans (“Plans”). Within the framework of the tariff plan, available services and locations are selected from which the consumer can order these services, and also set quotas for resources.
Service consumers add subscriptions to offers ("Subscriptions"). If the proposal is public (Public), then the consumer can subscribe to it independently. If the offer is not public (Private), then the consumer of the service can manually sign the consumer. A similar ideology of plans and subscriptions is used in Windows Azure Pack.
A user who logs on to the Azure Stack portal for the first time, and having logged in using an account in Azure AD, must add himself a subscription. To do this, he clicks on "Get a Subscription" and selects the available public offer.
The pricing and billing functionality is not yet implemented in Technical Preview 1, so the “Unable to display pricing” message is normal.
After adding a subscription, the user can click on the "+ New" button and see all the services available to him. By default, this list is very poor out of the box: Template Deployment (deployment of an ARM service from a template according to JSON description), Resource Group, Storage Account and Windows Server 2012 R2 virtual machine. After adding
your templates (including Linux-templates, the instruction for
CentOS has already appeared) and PaaS-providers mentioned above, the set of services will look more interesting.
The interface for creating a new virtual machine is exactly the same as on the new Azure portal.
During the creation of the VM, we can observe at what stage the process is.
After creation, we can see the same actions and properties as in the new Microsoft Azure portal. I remind you that data on resource consumption is not yet available, so we see “No available data” instead of graphs, this is normal.
Connecting to VM is made through RDP for Windows and SSH for Linux. Console access (as in the Windows Azure Pack) is not here, just like in Microsoft Azure.
In the Storage Account properties, we can see Blob, Table, Queue and File services.
In TP1 only blobs and tables work. Queues and files - in the following versions.
That's all for now. If you are interested in Microsoft Azure Stack -
download Technical Preview 1, install and test. If you have any questions - go to the
Azure Stack Wiki , there are a lot of useful materials.