How I approach Azure platform work
Here are some of the decisions I consider when shaping Azure platforms.
Policy and governance
When policy lives only in documents, teams can apply it differently.
I start with Cloud Adoption Framework and Azure Landing Zone patterns. Azure Policy definitions and assignments can live in code with Enterprise Policy as Code (EPAC). Identity, threat protection and monitoring belong in the operating model too.
Secure delivery
A reviewable change is easier to trust than a last-minute manual check.
I prefer staged Azure DevOps pipelines that make Terraform changes easy to review. Checkov and Defender for DevOps can catch issues before deployment, while workload identity federation avoids stored deployment secrets.
Reusable infrastructure
Environment differences matter. A shared module should make them visible.
For integration services, Terraform modules can capture the common resources. I keep environment-specific settings visible, so reuse does not hide meaningful differences.
Work with the team
People responsible for support often spot issues that are easy to miss during design.
I involve the engineers who will support a platform in design reviews. Time to practise with Copilot and other tools helps, but the output still needs a human review.
These notes describe engineering approaches, not client case studies.