Why most Azure environments fail at governance

As I progressed from “keeping Azure running” to actually owning platform decisions, one thing became painfully clear:
most Azure governance failures are not caused by missing tools — they’re caused by weak technical foundations and late architectural decisions.

I’ll walk through a few very realistic situations I’ve personally encountered over the years. They’re anonymised, but the technical problems are absolutely real.

Continue reading “Why most Azure environments fail at governance”

Azure Health Check – A Free Script to Audit and Visualise Cloud Hygiene

Are you running Azure subscriptions and want a quick, human-friendly overview of your governance, compute, storage, network and Key Vault hygiene?
The Azure Health Check PowerShell script gives you exactly that — scanning multiple subscriptions, flagging weak spots, and producing a clean interactive HTML report (with charts!).

Why this matters

Large and growing Azure estates can easily drift into insecure or unsupported configurations: unprotected VMs, public storage blobs, missing resource locks, orphaned disks, exposed network ports — all of which can lead to security, availability or compliance issues.

Yet manually auditing each subscription is time-consuming. That’s where automation helps. With this script, you get a multi-subscription health summary, scored, visualised and exportable — ideal for periodic reviews, customer readiness checks, or even compliance audits.

Continue reading “Azure Health Check – A Free Script to Audit and Visualise Cloud Hygiene”

How to Use Azure Policy for Better Cloud Management

When you work in the cloud, keeping things organised is very important. Azure Policy is a simple tool that helps enforce rules on your resources. In this post, I’ll explain what Azure Policy is and show you a basic example of using it to require a tag on all your resources.

What is Azure Policy?

Azure Policy lets you set rules for your cloud resources. For example, you might want every resource to have a tag called Cost Centre so you know which department it belongs to. If someone tries to create a resource without that tag, the policy can stop it from being created.

This tool is very useful because it helps everyone on your team follow the same guidelines and keeps your cloud resources well organised.

A Simple Example: Requiring a "Cost Centre" Tag

In this example, we’ll create a custom policy that requires every resource to have a Cost Centre tag. If the tag is missing, the resource won’t be allowed.

Overview of the Steps
  1. Create the policy rule file.

  2. Create the policy parameters file.

  3. Create the policy definition in Azure using the Azure CLI.

  4. Assign the policy to a scope.

  5. Check if your policy is working.

Continue reading “How to Use Azure Policy for Better Cloud Management”

Simplifying Azure Storage: Choosing the Right Type for Your Data

Azure Storage Types

As an Azure Solutions Architect, I often come across clients who find Azure’s wide range of storage options overwhelming. In this post, I’ll break down Azure Storage into simple terms, so you can make the right choice for your needs.


What is Azure Storage?

Azure Storage is a cloud service that provides scalable, durable, and secure storage solutions. Whether you need to store files, structured data, or backups, Azure Storage has an option for you.

Types of Azure Storage

Here are the main storage options and their typical use cases:

  1. Blob Storage
    Think of this as a place for large files—videos, images, backups, or any unstructured data.

    • When to Use: Hosting static website content, storing backups, or media streaming.
    • Cool Feature: Access tiers (Hot, Cool, and Archive) let you optimise costs based on how often you access the data.
  2. File Storage
    Like a network share in the cloud! Ideal for replacing on-premises file servers.

    • When to Use: Lift-and-shift applications that rely on file shares.
    • Cool Feature: It supports SMB and NFS protocols, so it integrates easily with existing systems.
  3. Table Storage
    A NoSQL store for lightweight, structured data.

    • When to Use: Logging, metadata storage, or applications requiring fast key-value lookups.
    • Cool Feature: It’s incredibly cost-effective and lightning-fast for specific use cases.
  4. Queue Storage
    A messaging store to decouple application components.

    • When to Use: When building distributed apps or processing background tasks.
    • Cool Feature: Works seamlessly with Azure Functions for event-driven architectures.
  5. Disk Storage
    Persistent storage for Virtual Machines (VMs).

    • When to Use: Running workloads like databases, where performance and durability matter.
    • Cool Feature: Options like Ultra Disks offer high throughput for demanding workloads.

Continue reading “Simplifying Azure Storage: Choosing the Right Type for Your Data”