«

»

Mar 23

The need for Azure Stack – Part 2: Not your average Stack

Azure Stack

With the shifting cloud landscape and recent application developments addressed in ‘Part 1‘ of this blog, I can finally talk about Azure Stack’s impact and advantages in the big cloud game. It is Microsoft’s own ‘software-defined data center’ (SDDC) stack with Azure services, brought to your private or hosted cloud. Yes, you heard right; along with all the software-defined goodness, they also bring their Azure services to your datacenter!
Services still missing in other SDDC solutions. And that’s just one of many reasons why Azure Stack is going to leave other SDDC’s behind.

Azure Stack provides virtual machine, storage, website, application, database, network, security, authentication, rbac, gallery, monitoring, and usage services in an out-of-the-box service provider solution. It is an exact copy of software running in Azure today, Azure’s glorified code used by millions in your own data center. Think about it…. Years of evolution in software, consolidated and battle-tested in a hyper-scale cloud, available for everyone to use.

If someone asks what Azure Stack is, then don’t throw any technical ‘yibyab’ at them. Let them do the thinking and simply answer with, ‘Azure in your own data center.’ It is really as simple as that. If they know Azure, you’re safe; if they do not know Azure, hide! Or quickly show the insane numbers on the right to give them a glance at Azure’s hyper-scale computing.

Services

Azure Stack, a clone of Azure in your data center, is the most common answer you can give. But, of course, when lifting up the hood, there is more to it. Yes, it is an exact software copy of every software-defined aspect of Azure, with virtual storage, load balancer, firewalling, VPN gateway, and so on, but not all of Azure’s cloud services are included. The reason behind that is simply because of how the services in Azure interact and integrate into Azure. They often require Azure’s hyper-scale setup and are dependent on other services. These Azure services are now brought to customer data centers and need to be made compatible with these smaller environments. Every service and functionality offered to customers have to be supported and documented with regular Microsoft support. Microsoft also has to provide code samples with these services on GitHub, and they have to update IT Pro and developer software to interact with them. So imagine all the work and investments that are required to get only one service with all of its dependencies and functionalities to customers. Therefore, Azure services coming to Azure Stack are prioritized and based on customer needs and compatibility with other clouds.

IaaS and PaaS

With the ‘general availability’ (GA) in Q4 comes, of course, the well-known ‘Infrastructure as a Service’ (IaaS) services, and the much anticipated ‘Platform as a Service’ (PaaS) services, consisting of the Service Fabric and the ‘App Service‘, making service fabric microservices-compatible applications and ‘App Service’ web, mobile, custom, and logic apps available to developers. And that’s not all! We can expect a lot more in the near future, like containers support with Azure Container Service (see container service section in Part 1) and ‘Internet of things‘ (IoT) services. Getting excited? Read on!

Third-party

Azure Stack’s extensible service framework delivers not only new Azure services but also new services from 3rd parties, by creating custom resource providers, an enormous benefit for cloud providers and ISV’s already offering services in the cloud. They can now offer their existing services along with Azure services through Azure Stack in a consistent and centralized way.

Commitment

Do you have any doubts about Azure’s commitment, offering services from Azure to Azure Stack, even when reading about all the changes happening in public and hosted clouds outlined in Part 1 of this blog? Then please read the ‘Azure Stack’ whitepaper Microsoft published. It explains Azure Stack as a functional product and Microsoft’s consistent Hybrid cloud vision in the coming years. Statements made are well-founded and backed by the notion that Microsoft also has to compete in the software-defined (data center) hosted cloud. The picture below sums up all of the services in Azure, and which services are available when Azure Stack goes GA in Q4. There are quite a lot of them and, believe me, you need all the time you can spare to get acquainted with each one of them, especially with integrating portal functionality, like authentication, resource usage, billing, and provisioning into your current business model.

PaaS

Azures Stacks shining gems are its application ‘PaaS’ offerings, brought to you by the ‘App Service’ , expected Container Service, and ‘Service Fabric(illustrated below). 

PaaS services manage all resources needed for an application, infrastructure deployment and configuration is handled by the service, making the infrastructure invisible. Application resources contain storage, networking, compute but also logic, authentication, databases, mobile device support, workflows, scaling, deployments, and diagnostics; moreover, they can contain any other stateless or stateful resource for your container, microservice, web, mobile, API, logic, or custom application.

PaaS services, with future containers integration will further simplify resource and application orchestration; they are going to play a more important role in the SDDC proposition then you might think. There will be heavy competition in the PaaS space as outlined in ‘Part 1‘ and from the looks of it, Microsoft once again played their cards right. Microsoft already has millions of developers developing PaaS solutions in Azure, they embraced Docker containers, they are delivering microservice compatible services and last but not least they already have a huge on-premise Windows presence within companies unlike AWS or Google. Azure Stack is Microsoft’s  missing puzzle, it provides the bridge to one consistent hybrid ecosystem across clouds. Businesses are now able to deploy their application in the cloud that suits their needs.

You can have a great orchestrated and automated SDDC with only IaaS. However, if you do not have the integrated consistent PaaS (application) services, where customers are, in the long term, gradually transitioning to, then you do not have a future-proof SDDC solution at all. Managing individual VMs and infrastructure components is very costly and time consuming;  why invest in old technology when you can host the same application with little developer effort in a flexible matured PaaS service. And if the application is not compatible enough than why not start to re-envision it and move individual features or functionalities of the application to PaaS.

Cloud application/service first

PaaS customers primarily want their application to be deployed instantly in a trustworthy and performing public cloud or hosted cloud at a trusted cloud provider, a PaaS service in a cloud, which is compatible and best suited for the technical needs of their application, without having to bother about any dependent infrastructure, which they would otherwise have to manage and invest in. They view the deployment from a top-down perspective, where the cloud application comes first.

Once the compatible PaaS cloud requirement is satisfied, they will look at the SDDC stack with service provider functionality supporting their application business wise. It has to align with their business requirements and model. The SDDC allows them to provision, manage, control, monitor, and update their application following a transparent pay-per-use model.

There will be differences between cloud providers offering Azure Stack in the hosted cloud, pertaining to how cloud providers provide availability, redundancy, support, security, regions, storage, SLA’s, networking, and hybrid scenarios. Customers already acquainted with Azure expect the same experience with Azure Stack. They need a trusted local cloud provider supporting and advising them in their Hybrid SDDC PaaS experience.

Cross-Platform

PaaS service functionality is key and, at the moment, very vendor specific. Of course, a Microsoft .NET application is much more compatible with a Microsoft PaaS cloud. The same applies for a Linux application, although this has changed a lot since ‘Microsoft loves Linux’; they made support for several Linux-orientated programming languages and databases available in the ‘App Service’. You will already have been able to run .NET on Linux for quite some time, and they have recently announced SQL Server on Linux and Bash (Ubuntu) on Windows. Who would have thought that two years ago? It’s not about being Linux or Microsoft orientated anymore, it’s about doing both and thinking cross-platform. Microsoft just isn’t an OS company anymore; nowadays, it’s cloud first, windows second. Microsoft even has a cultural battle going on, led by ‘Jeffrey Snover’ (PowerShell inventor), to remove Windows from ‘Windows Server’. So don’t be surprised if ‘Server 2016’, just like Nano, rolls out without Windows in its name. Companies have to find the right functional fit for their application in the cloud of choice, without defining and confining their solution as a Microsoft or Linux one.

Lift and shift

Microsoft is currently a leader in the enterprise PaaS market, backed by a huge developer base using Azure. They already deploy applications in the cloud and collaborate with each other in Visual Studio online. Their existing Azure applications can now be deployed with the same code in Azure Stack, true lift and shift applications, spreading workloads between clouds.

Moreover, when the ‘public cloud’ is a step too far, on-premise or private cloud customers can choose to start in the hosted or hybrid cloud, at a local trusted cloud provider providing Azure and ‘Azure Stack’, with managed and advisory services to assist them in their cloud journey. Even smaller enterprise companies can download the Azure Stack solution and deploy it on minimum hardware. This is great for developers testing the application in a local on-premise dev-test environment before deploying the application in production.

Considering the PaaS and Hybrid Cloud shifts mentioned in ‘Part 1‘ of this blog, along with what Azure Stack has to offer, we can conclude that its PaaS services are going to have a significant role in Azure Stacks’ success.

Software-defined datacenter Stack

Software-defined everything (Azure) stack, a true battle-tested, software-defined datacenter (SDDC) straight from Azure’s hyper-scaled public cloud. Microsoft again further closes the gap between their public cloud and customer private/hosted clouds with a consistent application delivery experience. Customers using Azure today can use the same code to deploy their solution to Azure Stack in their private or hosted cloud.

Deploying the same application code from Azure in your own data center offers you a consistent experience with exactly the same service offerings, with the opportunity to integrate both solutions into Hybrid cloud with all its management, authentication, network, backup, and disaster recovery advantages. There is no difference in software functionality between Azure and Azure Stack; the only difference is you’re using your own hardware and infrastructure, giving you more benefits and flexibility by offering custom SLA’s and pricing to your customers.

Microsoft made it even easier for developers and IT Pro’s by sharing deployment code, apps, components, templates, os images, and documentation on GitHub. Head over to the excellent and elaborate blog from ‘Marc van Eijk’ if you want to get started with GitHub and Azure Resource Manager (ARM).

Framework

Azure Stacks software-defined data center solution offers a stack with separate layers, through which all operations flow. Provisioning operations start from the ‘user facing services’, which consists of a self-service portal for the IT admin or business owner and hubs with deployment and service management API’s for DevOps. New deployments end up almost instantly as virtual machines, microservices (containers), and web/mobile/custom or logic apps. Virtual service provisioning is executed and orchestrated by ‘Azure Resource Manager’ (ARM). ARM communicates with the core management providers, adding necessary management configuration and multitenancy around the virtual service, such as monitoring, rbac, authorization, security, and usage. When the multitenant framework foundation is ready, ARM creates virtual resources on the storage, network, and compute fabrics by invoking the corresponding resource providers. Finally, ARM ties them together in this new virtual framework and stores the configuration. A new virtual service with tied virtual resources is born.

Fabrics

Azure Stack resources can be expanded by adding servers to the fabric. In a consolidated hyper-converged model, each server holds all of the resources, and thus is responsible for compute, network, and storage in one single cluster. In a disaggregated scenario, servers are added to each compute, network, or storage fabric cluster.

The network fabric consists of a cluster of machines, with the ‘network controller’ role installed, offering virtual network functionality, such as firewalling, load-balancing, and VPN gateway support.

The storage fabric consists of a cluster of ‘scale-out file servers’ (SOFS), providing virtual disks from attached storage (JBOD) or from mirrored local disks striped across nodes using the new ‘storage spaces direct‘ (S2D).

Last but not least is the compute fabric, as a cluster of Hyper-V servers offering VM and Hyper-V containers using nested virtualization.

The magic about these fabrics is that each fabric can contain both physical and virtual machines, or only virtual machines; there is no physical server requirement. You can offer virtual storage from a physical or virtual disk, network services from a connected virtual or physical network, and compute from a physical hypervisor or a virtual one using ‘nested virtualization’. You can even install ‘Azure Stack’ on a ‘Windows 10’ laptop supporting nested virtualization and carry your own private data center (SDDC) lab with you!

The above fabric illustration is from the excellent ‘Azure Stack – The Fabric Layer’ blog, by ‘Darryl van der Peijl’. Head over to Darryl’s blog to get more information about the fabrics and how they work together with Azure Stack. Head over to ‘Part 1‘ of this blog when you want to know more about storage spaces direct, the network controller, or the SDDC. It explains the ‘software-defined data center’ (SDDC), storage (SDS), and network (SDN) in greater detail.

Hybrid Cloud

A first step using a hybrid cloud could be moving non-risk, public customer-facing websites or applications to Azure’s public cloud, leaving important (backend) data in your Azure Stack cloud hosted at a trusted (local) cloud provider. A hybrid cloud scenario is even more valid when you want to use services in Azure that are not available yet in Azure Stack.

Backup and disaster recovery

Offering Azure Stack in a hybrid model gives you even more advantages. It lets you have an additional (local) location for redundancy, backup, or disaster recovery (ASR) purposes, controlled and managed in a consistent way across clouds using one ecosystem. Disaster at one can bring the entire environment back on the other. Deployment templates, scripts, and images are all the same; IT staff can implement it in the same ecosystem without learning a complete new skill set and bring up the entire enviroment very quickly.

Dev-test

A dev-test infrastructure is also a real motivator for an elastic hybrid cloud. For instance, test in Azure and bring the application to Azure Stack, or vice versa. Shift, lift, and spread applications and workloads based on their current needs and benefit from the flexibility of both clouds.

Multi-Cloud connectivity

With Express Route between Azure and Azure Stack, cloud providers can offer customers a very rich and super-fast application experience. Their on-premise environment, connected to the provider’s network directly, connects to their hosted cloud subscription on Azure Stack. The cloud providers’ network connects their Azure Stack subscription to Azure of Office 365 with a direct express route connection, creating a fast, reliable, and secure private connection. Mobile workers or remote sites are then able to connect through VPN with either Azure’s or Azure Stacks VPN’s gateway. Office 365 workers experience the same fast, reliable, and secure advantages through the express route. They are able to work with and connect directly to resources and services offered in the company’s Azure Stack subscription. Being connected to the hosted cloud subscription on Azure Stack, they are also able to connect back to the on-premise network. And there you have it, a complete hybrid circle spanning multiple clouds. Think about the possibilities; a true Hybrid cloud experience every IT company would dream of.

Monitoring

Of course, we also need monitoring in a hybrid multi-cloud scenario. Here is where Microsoft Operations Management Suite (OMS) comes into play. Microsoft’s new cloud-based SaaS monitoring system monitors all assets across on-premise, hosted, and public clouds, giving you a single pane of glass and a consistent experience across all your clouds. It does not require you to setup and update a complex monitoring platform like SCOM; Microsoft already did that for you, redundantly monitoring clouds from multiple regions in Azure.

PoC hardware requirements

At the moment of writing this blog, Azure Stack is in public preview with the TP1 release available here.
You can try it out in a PoC environment, with the deployment steps and recommended hardware mentioned here. If you do not have the minimum required hardware specs, and want to run Azure Stack on lesser hardware, then read ‘Daniel Neuman’s’ blog post. His post describes how you can tweak the PowerShell deployment scripts. Of course, this reduces Azure Stack’s resources, so always have enough IOPS; otherwise, memory and CPU becomes a bottleneck. Also, be sure that you can fit additional VM’s when you want to install the PaaS services, or other future service functionality requiring additional VM’s.

Conclusion

Making this move sets Microsoft right in front of the game by undermining Amazon, Google, and VMware, players without an own software-defined data center (SDDC) solution delivering a consistent hybrid cloud experience with PaaS to customers. Again, the application landscape is changing rapidly, and customers are going to think less and less about IaaS and more about what PaaS can do for their business. Microsoft is setting new standards for Cloud computing and is gaining real momentum in the Hybrid cloud space, by offering new PaaS services in a complete out-of-the-box service provider solution, connected to Azure in one big consistent ecosystem to customers, with Hyper-V as the hypervisor of choice and Azure Stack as the consistent PaaS and IaaS delivery model across clouds, winning customers from hosted and public cloud providers with Azure’s battle-tested software deployed anywhere.

If you want to know more about Azure Stack then head over to the excellent Azure Stack Wiki, compiled by ‘Hans Vredevoort’, or ‘Mark Scholman’s’ AzureStack.eu, providing in-depth Azure Stack articles. I also recommend the links in the references section I used as the source for information in this blog. Finally a big shout out to Darryl van der Peijl for dotting the I’s and crossing the T’s for me in this part.

Thanks for spending your valuable time reading this blog, and I hope to see you at an Azure event. I’m very interested how companies think about Azure Stack, PaaS and the changing cloud landscape we are in. So, tap me on the shoulder at an event or contact me by any other means and let’s talk business :)

I strongly advise everyone to read ‘Part 1‘ of this blog, highlighting the business aspect and value of Azure Stack, PaaS services, and the ‘software-defined data center’ in general.

 Author

nB-vuHCN_400x400

Twitter:@Ruud_Borst
  LinkedIn | TechNet

References

Azure Stack

General

https://onedrive.live.com/view.aspx?resid=96BA3346350A5309!318670&app=OneNote&authkey=!APNWE3DZp1C-RjY
http://marcvaneijk.com/2016/02/03/githubstart.html
http://www.networkworld.com/article/3037483/cloud-computing/truly-understanding-microsoft-s-azure-stack.html
https://channel9.msdn.com/Events/FutureDecoded/Future-Decoded-2015-UK/7
https://azure.microsoft.com/en-us/documentation/videos/why-customers-love-azure-stack/
https://mva.microsoft.com/en-US/training-courses/microsoft-datacenter-vnext-preview-bringing-azure-to-your-datacenter-10552?l=HBSTeu97_6104984382
https://www.microsoft.com/en-us/server-cloud/roadmap/public-preview.aspx
http://download.microsoft.com/download/3/F/3/3F3811C0-969D-422C-9EDA-42CB79BABA96/Bring-the-cloud-to-your-datacenter-Microsoft-Azure-Stack.pdf (whitepaper)
https://azure.microsoft.com/en-us/blog/cloud-innovation-for-the-year-ahead-from-infrastructure-to-innovation/ (vision)
https://channel9.msdn.com/Events/microsoft-techncial-summit/Technical-Summit-2015-The-Next-Level/Powering-the-Next-Generation-Cloud-with-Azure-Stack-Nano-Server-Windows-Server-2016
http://www.hyper-v.nu/archives/dvanderpeijl/2016/01/azure-stack-the-fabric-layer/
http://searchsdn.techtarget.com/news/4500272539/Microsoft-SDN-stack-to-challenge-Cisco-VMware

PaaS

https://azure.microsoft.com/en-us/blog/announcing-early-preview-of-azure-paas-services-and-devops-tools-for-azure-stack/
http://www.infoq.com/news/2016/02/Azure-Stack-Update