Skip to content

What's New

2021–2026

It's been quite a while since I updated this page. I haven't stopped learning, I've just been rather bad at writing it down!

Much of my work over the last few years has moved further into cloud architecture, platform engineering, DevOps, security and, increasingly, AI engineering.

Some of the things I've been working with and learning about:

Azure architecture and hybrid integration

A lot of my work has involved designing secure Microsoft Azure and hybrid architectures, particularly where modern cloud services have to coexist with rather less modern on-premises systems.

That has included Azure API Management (APIM), Application Gateway, Azure Firewall, Virtual Networks, Private Link, VPN/ExpressRoute connectivity and hybrid API patterns.

One particularly interesting area has been integrating Azure services with legacy Windows-authenticated APIs, which led me fairly deep into Kerberos, NTLM, SPNs, constrained delegation, mTLS, IIS, reverse proxies and APIM self-hosted gateways.

Kubernetes, containers and Semarchy

I've spent a considerable amount of time working with Azure Kubernetes Service (AKS), Kubernetes and containerised applications, including infrastructure, monitoring, troubleshooting and operational support for Semarchy xDM.

More recently this has included designing safer application-upgrade processes, analysing breaking changes between Semarchy releases, improving operational runbooks and looking at ways Kubernetes workloads can automatically recover from application-level failures that aren't detected by ordinary container health checks.

I've also been following Semarchy's evolution from xDM towards the broader Semarchy Data Platform, and considering what that means for existing self-hosted deployments and future migration.

Terraform and Infrastructure as Code

Terraform has become an increasingly large part of my day-to-day work, from Azure infrastructure design through to HCP Terraform, state and workspace strategy, and CI/CD.

I've also been thinking quite a bit about how application and infrastructure delivery should fit together: moving away from long-lived environment branches towards a protected main branch, immutable application artefacts and controlled promotion through environments, while independently planning Terraform changes against each environment's state.

As a decidedly Windows-based developer, I've also accumulated my fair share of knowledge about Terraform's interactions with PowerShell and local development tooling, as well as experimenting with the Terraform MCP server and running it without Docker.

AI, agents and Microsoft Copilot

Unsurprisingly, generative AI and agents have become a major area of interest.

I've been exploring the rapidly evolving Microsoft agent ecosystem, including Microsoft 365 Copilot, Microsoft Copilot Studio, Microsoft Foundry, Foundry Agent Service, Foundry AI Gateway and the Model Context Protocol (MCP).

I've also been looking at the distinction between declarative agents and custom engine agents, and how the different approaches fit into Microsoft 365 and Azure architectures.

A recurring architectural question has been how to combine agentic AI with the security controls expected in enterprise environments, particularly private networking, API governance and controlled access to sensitive data.

I've also worked on the infrastructure and security architecture for more specialised AI systems involving multimodal Retrieval-Augmented Generation (RAG) and multi-agent orchestration, with a strong emphasis on private networking, infrastructure as code, automated delivery and security by design.

GitHub Copilot and AI-assisted engineering

More recently I've been doing quite a bit with GitHub Copilot and GitHub Enterprise Cloud, and the question of how organisations move from individual experimentation with coding assistants to properly governed, enterprise-wide AI-assisted development been experimenting with the rapidly expanding ecosystem around coding agents and MCP: giving agents useful tooling while restricting what they can do, reducing unnecessary terminal context, and making useful engineering knowledge and skills available consistently across development teams.

The interesting part for me is increasingly not just using an AI coding assistant, but thinking about how these tools should be governed, extended and integrated into real enterprise software-development environments.

Still learning

The common thread through all of this has probably been a gradual shift from primarily building applications towards designing the platforms, delivery processes, security boundaries and engineering practices that applications and engineering teams depend upon.

And lately that's come full circle: AI coding agents mean I'm spending more time thinking about developer tooling and code again, while still drawing heavily on the cloud, infrastructure, security and DevOps experience accumulated along the way.

So perhaps it's time I started updating this page again.

Apr 2021

Embarrassed that I keep having to DuckDuckGo this but found a really good simple explanation: How to update a forked repo from an upstream with git rebase (or merge). Another useful guide covers keeping a downstream Git repository current with upstream changes.

Aug 2020

Recent Listening

I just rediscovered across this Dub album that was in my collection as a teenager:

May 2020

I just discovered Azure Static Web Apps - this might well prompt me to migrate away from using GitHub Pages for publishing this site...

Still trying to catch up on some of the news from Microsoft Build 2020

There was some good coverage from Ars Technica on Microsoft's open-source announcements at Build 2020.

In terms of training and learning I found that I'd happily already completed 100% on the Build Cloud Skills Challenge - Azure DevOps. I really need to crack on and re-book an online proctored exam for Exam AZ-400 - Designing and Implementing Microsoft DevOps Solutions to finally gain my https://docs.microsoft.com/en-gb/learn/certifications/devops-engineer.

A free exam voucher is available for redemption starting June 8, 2020 and is valid until January 31, 2021

My colleague @d0ugs mode some notes that have prompted me to go back and watch this Building Azure Apps using the Common Data Service

Also announced into public preview - Azure Synapse Analytics is the 'Data Lakehouse' we've all (apparently) been waiting for: watch the Synapse overview - it's an all-in-one studio for everything Data

April 2020

Reading

How to Work from Home

I've promised myself that I'm going to read this today...

Did a global pandemic spur your bosses to allow you to work from home? Here's a guide to working from home effectively for those who are just starting out.

From Scott Hanselman - Take Remote Worker/Educator webcam video calls to the next level with OBS, NDI Tools, and Elgato Stream Deck

Tools

Kubeval

Kubeval can be used to validate Kubernetes configuration files and Helm charts (e.g. for catching resource namespaces changes when there's a new Kubernetes version).

To install to windows using Scoop

scoop bucket add instrumenta https://github.com/instrumenta/bucket-instrumenta
scoop install kubeval

Zeplin

Zeplin is a tool for 'curating designs in the cloud' as a team. Share, organize and collaborate on designs 'built with developers in mind'.

Zeplin

Career Tools

My pal Martin Short shared this with me this week:

10 Extraordinary GitHub Repos for All Developers

I particularly like, and need to go back to the System Design Primer.

Dependabot

Dependabot logo

Add Dependabot to your repo for automated dependency updates. it checks your dependency files for outdated requirements and opens individual PRs for any it finds. This repo contains some projects with outdated dependencies. Fork it to try out Dependabot!

Downtime

While I'm working from home, I'm drinking lots more coffee so I've gone with this!:

SEASONAL SUBSCRIPTION — Fortitude Coffee One 250g bag of our seasonal coffee choice delivered to your door every week.