An experienced IT professional, focused on cloud tech and DevOps. Specialising in Azure, AWS, & Terraform. Currently working at BT Enterprise as a consultant.

I was pleased to recently become a Microsoft Association of Practicing Architects (MAPA) Azure Champ!

The MAPA website has loads of great resources for architects and anyone working with Azure. There is also an ‘Azure champs’ program which involves passing 4 Azure exams and taking the relevant Microsoft Learn courses.

The exams are:

  • AZ-303 (Implementing Architecture)
  • AZ-304 (Designing Architecture)
  • AZ-104 (Administration)
  • AZ-204 (Developing solutions)

Here I am listed with my BT colleague John Lunn, a.k.a www.jonnychipz.com who put me on to the program! Good luck!

Image for post
Image for post


Another Microsoft Openhack, this one came quick off the heels of the DevOps Openhack. It was useful to validate the steps and processes involved in a successful Migration to Azure.

Image for post
Image for post
Openhack: Migrating workloads to Azure

I took some notes throughout the 3 days, which quickly snowballed into a rather lengthy migration guide!

The guidelines detailed below outline the steps to migrate to Azure from on-premises or datacentre, and point out some general things to take into account at each stage for anyone looking to migrate workloads to Azure.

1. Planning

All successful migrations require serious thought at the planning and assessment stages. Points to consider:

  • Choose the…


How do you visualise your cloud deployments? If you use Infrastructure-as-code for your cloud deployments, visualising it can be tricky. Ideally there would be a way in Terraform itself to generate nicely formatted diagrams.

Enter diagrams as code. One option is to use the cleverly named ‘Diagrams’. You can use python to create nicely formatted cloud architecture diagrams for Azure, AWS, GCP and more.

Advantages of this approach would be:

  • Version-able using source control
  • Consistently formatted
  • Tooling is consistent
Image for post
Image for post

Which generated this!…


I recently took part in my 2nd Microsoft Openhack, having previously had a good experience with the ‘Containers’ Openhack. I also did an ‘Enterprise Scale’ partner only hack with my company, but that was not strictly a ‘Openhack’, however it should become one eventually!

I can thoroughly recommend it for anyone wanting to further their knowledge on Azure DevOps and general DevOps processes.

Image for post
Image for post
DevOps Openhack Badge

We were placed in a small team and given a series of challenges around a given scenario, involving having to update a set of Azure Webapps without incurring any downtime. …


Azure web apps have the concept of slots. These are effectively a copy of the web app with a unique DNS name, which you can deploy your updated app to for testing, before swapping the slots to make the copy the master. The slots are commonly referred to as ‘staging’ and ‘production’.

This is known as a ‘blue-green’ deployment. The swap is done in a big bang approach, and minimises any downtime.

‘A/B testing’ introduces the concept of directing a percentage of the traffic to staging, and a percentage to production for testing new application features. …


Recently I was having an interesting conversation with fellow Azure blogger ‘jonnychipz’, who told me all about the new windows terminal app, and the really useful customisations you can make, as blogged by Scott Hanselman.

Windows terminal brings together Powershell, Command Prompt, Azure Powershell and Ubuntu console from one handy location.

Just follow the processes on Scott Hanselmans blog to install on both Windows and Ubuntu. You should end up with something like the below screenshot. Note that when you browse to a git enable directory, the current status is shown in-line in pretty fonts. Install Ubuntu through the store to see the Ubuntu option. Enjoy!

Image for post
Image for post
Windows Terminal Git In-line Prompt

Image for post
Image for post
Terraform Logo

There are 3 basic ways to create a VM in Azure using Terraform code! But which is best? This can be confusing for beginners / intermediate users, especially when looking at existing projects coded in Terraform and trying to decipher them.

I’ve attempted to summarise each method below with pros and cons listed from my experience:

  1. Create a VM using the Terraform ‘azurerm’ provider https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/virtual_machine

Cons: Not very reusable, harder to create multiple instances

2. Create a VM using a custom module

Pros: Most Flexible, easy to create multiple VMs

Cons: Harder to initially code…


This year I’ve acheived a few more professional certifications

  • Azure DevOps Engineer Expert
  • Hashicorp Terraform Associate
  • AWS Cloud Solutions Architect Associate
  • Azure AI Fundamentals
  • Azure Data Fundamentals
  • Azure Administrator (Recertified taking AZ-104, previous completed 70–533 and AZ-102 Transistion exams).
Image for post
Image for post

Targets for next year?

Continuing down the AWS path, The AWS SysOps Administrator Associate exam seems like the Azure Administrator equivalent and should give me some more practical experience with the portal and using AWS in anger:

AZ-204 Devloping solutions for Microsoft Azure:

This one will give me the MAPA Champion recognition too…


I’ve been designing some templates for Azure Lighthouse deployments recently to delegate access and allow customer subscriptions to be managed from a central location.

Orginally I had the following groups defined in the template to delegate access to Key Vault and Storage Account File Shares and Blobs:

{"principalId": "a627a78f-c2f2-4b34-b13c-9bbf46a768a8","principalIdDisplayName": "KVCertificates","roleDefinitionId": "a4417e6f-fecd-4de8-b567-7b0420556985"},{"principalId": "264f0c6d-851f-4e18-b511-b64aaa3be3e9","principalIdDisplayName": "KVSecrets","roleDefinitionId": "b86a8fe4-44ce-4948-aee5-eccb2c155cd7"},{"principalId": "89e8f1c2-5260-4041-a837-688b2ab79e39","principalIdDisplayName": "KVKeys","roleDefinitionId": "14b46e9e-c2b7-41b4-b07b-48a6ebf60603"},{"principalId": "2e4a624d-c9f5-49f8-9e78-16ce9ed09628","principalIdDisplayName": "SAFileShareContributor","roleDefinitionId": "0c867c2a-1d8c-454a-a3db-ab2ea1bdc8bb"},{"principalId": "f231666f-77e8-4b82-9fe2-32cb8907e947","principalIdDisplayName": "SABlobDataContributor"…

Today I attended a community event ran by John Lunn aka jonnychipz, the head honcho and founder of the Welsh Azure user group.

One of the asks was to tweet @welshazure #waug with a festive selfie! Here’s mine!

Image for post
Image for post

It was a great event featuring two fantastic talks from world famous speakers:

Abel Wang — Real World DevOps

April Edwards — A/B Deployments with Azure DevOps and GitHub Actions

Check out the video on the jonnychipz YouTube channel! https://m.youtube.com/watch?feature=youtu.be&v=QUn0i8ynKgQ

Do check out the user group on LinkedIn or Twitter using the links below! It’s well worth attending their monthly meetups, lots of prizes are on offer during the quiz!

https://www.linkedin.com/groups/13866357/

https://twitter.com/welshazure

Twitter hashtag #waug

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store