Azure Architecture — Design Principles and Lessons Learned

Andrew Kelleher
Azure Architects
Published in
11 min readJun 10, 2021

--

Introduction

Over recent years I’ve been fortunate to have worked across a wide number of Microsoft Azure projects in various “architect” roles.

Some organizations are lifting-and-shifting existing workloads to virtual machines. Others are re-platforming legacy .NET applications to Windows containers running on Azure Kubernetes Service. Whilst others are building cloud-first applications using PaaS services or microservices.

Cloud offers great flexibility. But it also brings its own set of challenges around security, governance, availability and performance.

I wanted to share some of my lessons learned, thought processes and resources that I’ve found useful when designing and architecting Azure solutions.

Hopefully, some of these might be of interest if you also work as an Azure / Cloud / Solution / Platform architect. Or even if you have a more hands-on role such as an infrastructure or DevOps engineer.

Project lifecycle

The diagram below shows an example project lifecycle for an Azure project. I created it to show the different inputs, deliverables, etc., created throughout the project and how they relate to each other.

In my experience, it’s common for an architect to be involved to varying degrees throughout many of the stages of the project. Whether it’s producing design deliverables, being hands-on during the…

--

--

Andrew Kelleher
Azure Architects

Freelance Azure Architect | Helping organizations design and build cloud stuff | CarbonLogiQ.io