One of the goals of a DevOps workflow is to make it easier to quickly develop and deploy updated versions of applications to Development, Test, and Production environments. There are many ways to design and deploy an infrastructure to deliver this, but one that is rapidly gaining favour is to use resources from a Public Cloud provider like Microsoft Azure.
Microsoft Azure Public Cloud provides many Infrastructure as a Service (IaaS) and Platform as a Service (PaaS) resources that can be purchased as needed for Development, Test, and Production use. Some organisations use it for their testing environments rather than having to spend a capital outlay for on premise testing infrastructure. As CIO’s start to trust Public Cloud services, and realize the benefits they provide for their organisations, more Production deployments are being done on Microsoft Azure. This allows organisations to get out of the Data Centre management business, and it makes it easy to deploy a global application delivery infrastructure using Microsoft’s worldwide data centre network. With no management overhead for the organisation deploying the application.
Microsoft have recognised that there are scenarios in which deployment to the Public Cloud might not always be what organisations want or need. In order to address this, they recently released a technical preview of a new product called Microsoft Azure Stack that can be deployed to private data centres. This allows deployment of a Microsoft Azure platform stack in a hybrid cloud model that is consistent with deployment to the Public Cloud version of Microsoft Azure. This Azure Stack can be integrated into DevOps workflows so that deployment of Development, Test, and Production code can now be done on Microsoft Azure platform IaaS and PaaS resources spread over Private and Public Clouds.
In addition to the Microsoft Azure platform that Azure Stack delivers, it also comes with templates and tools to make it easier to create workflows for DevOps using the development and infrastructure management tools that many organisations already use. These are:
- PaaS services to deliver Instances of Microsoft SQL Server, MySQL Server, and Web Servers optimised for web application hosting. These can be spun up quickly within Azure Stack.
- Templates hosted on GitHub for IaaS resources to quickly provision virtual machines in Azure Stack. Templates are available for basic VM’s for Windows Server, Active Directory domain controllers, SharePoint Server 2013, SQL Server 2014, and several others.
- The Visual Studio 2015 development platform has been extended to support deployment to a private Azure Stack or to the public Microsoft Azure Cloud. This allows development teams to have their own private Azure Stack platform that they can use without incurring costs for resources in Microsoft Azure. They can then release to Test environments in the public Azure Cloud, that are started and shut down as required, and then on to the Production environment wherever it is hosted. Or any other combination of private and public Azure infrastructure can be used as required.
- Many DevOps tools and workflows have adopted the Microsoft PowerShell as their scripting language of choice. Microsoft Azure Stack includes Azure PowerShell SDK which contains PowerShell cmdlets to manage both Azure Stack and Microsoft Azure. These can be used to create, test, deploy, and manage solutions and services delivered through the Azure platform.
- Many teams are made up of developers, testers, and operations staff who use computing platforms other than Microsoft Windows. For example, many use Apple Macintosh laptops to allow iOS development. Azure Stack includes a cross platform set of Command Line Interface (CLI) tools that allow shell based commands to be used to create and manage resources within Azure Stack. These CLI shell based tools are provided for Microsoft Windows, Apple OS X, and Linux distributions to allow everyone to tap into the Azure Stack platform from their computer of choice.
Kemp Loadmaster also comes with a Microsoft PowerShell management toolset. These allow LoadMaster to be fully integrated into DevOps workflows that are built on Microsoft Azure infrastructure whether in the public cloud, in private Azure Stack deployments, or as a hybrid from both. Free LoadMaster can be provisioned and torn down as required in Development and Testing workflows, and commercial LoadMaster can be deployed to Production environments on Azure in various scenarios.
Microsoft Azure is quickly becoming the deployment IaaS and PaaS option of choice from many organisations. The addition of Azure Stack provides more flexibility when deciding on where to locate parts of application DevOps workflows. Now the choice can be a mixture of private or public cloud, while still built on the robust Microsoft Azure Platform.