Latest Posts

Deploying a Kubernetes service on Azure with a specific IP addresses

Deploying a Kubernetes service on Azure with a specific IP addresses Each time a Kubernetes service is created within an ACS or AKS cluster a static Azure IP address is assigned. If an IP address exists in the resource group that is not assigned to a service this will be used, otherwise a new address is requested. This means if a service is deleted and recreated it is not guaranteed to get the same IP address. Should you wish to configure the service to always receive the same IP address the load balancer can be provisioned to use a specific…
Read more

Migrating AWS CloudFormation templates to Azure Resource Manager templates

Infrastructure of Code is key to achieving consistent deployment of infrastructure in the cloud. Amazon Web Services enable infrastructure as code using CloudFormation templates ( https://aws.amazon.com/cloudformation/ ). In AWS’s own words: “AWS CloudFormation gives developers and systems administrators an easy way to create and manage a collection of related AWS resources, provisioning and updating them in an orderly and predictable fashion.” On Microsoft Azure we use Azure Resource Manager templates, commonly referred to as ARM templates. I can easily amend the above phrase to describe ARM templates: “Microsoft Azure Resource Manager templates give developers and systems administrators an easy way…
Read more

Creating a Docker artifact for Windows Server in Azure DevTest Labs

Over the past 12 months I have been working with customers on hackfests. We often work with organizations that have highly secured workstations and networks. This proves to be a problem as during the hackfest we need to be using the latest releases of software, often preview releases, and also need full access Microsoft Azure. In a recent scenario we needed to work with Visual Studio 2017 and Windows Server containers. The hackfest participants laptops were running Windows 7, an older version of Visual Studio and had limited outbound internet access. To ensure participants could work with the latest technologies…
Read more

Retrieving and using Azure Container Registry credentials in an Azure Resource Manager Template

I recently created a set of Azure Resource Manager (ARM) templates ( https://github.com/marrobi/RancherOnAzure/ ) to simplify the deployment of Rancher ( http://rancher.com/rancher/ ) to Azure. Rancher is an Open Source container management platform –  https://github.com/rancher/rancher. Rancher offers the facility to connect a container registry ( https://docs.rancher.com/rancher/v1.6/en/environments/registries/ ) so that images can be pulled for deployment. As part of my deployment I wanted to provide users with an Azure Container Registry (ACR) instance already connected to Rancher. My Rancher templates consist of a top level template with a number of nested child templates. ACR would be a child template. My challenge…
Read more

Using Infrastructure as Code to provision a Docker container on Azure

Over the past 12 months I have spent many weeks working with customers migrating Linux based workloads to Azure. When we turn up on a customer site we often need to get OSS projects up and running on Azure as quickly as possible. The projects are usually a component of a larger solution that we need to build around as the week progresses. Requirements Need to get the project up and running to enable developers to start coding, Need to deploy multiple instances of the component so that they can be used in parallel, Need to be able to easily…
Read more

Using Docker Machine to provision a VM running Docker on Azure

Using Docker Machine to provision a VM running Docker on Azure Docker Machine facilitates the creation and management of virtual hosts running Docker engine https://docs.docker.com/machine/overview/ . This could be a host running within a VM on your local machine, via technologies such as Hyper-V or in a public cloud such as Microsoft Azure. Docker Machine uses drivers to enable deployment to different platforms During this post we will provision a VM running Docker on Microsoft Azure and deploying containers to the VM. We will use the Azure driver for Docker Machine which is documented here https://docs.docker.com/machine/drivers/azure/ . Docker Machine facilitates…
Read more

TechDays Online – DevOps – 13th September 2016

On Tuesday 13th September 2016  I am hosting the DevOps day of TechDays Online. Live stream available here: https://channel9.msdn.com/Events/TechDaysOnline/UK-TechDays-Online-September-2016 The agenda for the day is as follows: 9.30am: Steve Thair – DevOps is the answer! What was the question again? DevOps is without doubt one of the hottest topics in IT right now, and everyone from vendors, senior management and IT professionals are rushing headlong to “Doing DevOps”. Somewhere along the way the message that DevOps is only a means to an end, and not an end in itself, is getting lost. In this presentation Steve from DevOpsGuys will talk about the…
Read more

Nano Server Container Host – Culture: en-GB is not supported

I've been working with Docker and containers over the past few weeks. Today I wanted to configure a Nano server image as a container host. The process is well documented here: https://msdn.microsoft.com/en-us/virtualization/windowscontainers/deployment/deployment_nano My host machine is running Windows 10 and I have Windows Server 2016 TP5 Nano running in a Hyper-V VM. When running the command: Install-NanoServerPackage -Name Microsoft-NanoServer-Containers-Package I received the following error: Install-NanoServerPackage : Culture: en-GB is not supported     + CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorException     + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Install-NanoServerPackage The reason being my host machine, hence the PowerShell remoting session's culture is set to en-GB…
Read more

Reducing unplanned work

Through the duration of my career, projects have brought about some of my most stressful days.   Earlier this year I read The Phoenix Project ( http://itrevolution.com/books/phoenix-project-devops-book/ ). This book has been mentioned at pretty much every DevOps event I've attended. One part of the book that resonated with me was the discussions around "unplanned work".  The past ten years of my life would have been so different if I had never had to deal with unplanned work.   Sometimes things go wrong – which leads to unplanned work. Some unplanned work is hard to avoid, such as power failures,…
Read more

DevOps Days London Hackathon Prep – Stepping out of my comfort zone.

DevOps Days London is fast approaching. The main conference runs from Tuesday 19th – Wednesday 20th April 2016, however, on Thursday 21st April there is a one day Hackathon which Microsoft is supporting. From the DevOps Days London website:  "This isn’t a traditional Hackathon, we are looking to test the principles of DevOps against the clock and at the same time attempt to build a production quality Minimum Viable Product (MVP) that could facilitate the giving of small (micro) donations to a variety of charities so easy it becomes a way of life. The concept is to create a facility…
Read more