LW.

Glorified Notepad

When to Click, When to Code: The Azure Admin’s Dilemma

When to Click, When to Code: The Azure Admin’s Dilemma

We’ve all been there, staring at the Azure Portal, debating whether to click your way through a deployment or fire up your favourite IaC tool. So, how do you decide?

This isn’t just a technical question; it’s a strategic one that shapes your team’s agility, reliability, and even job satisfaction. In this article, I’ll break down the strengths and weaknesses of ClickOps and Infrastructure as Code, share some real-world scenarios, and offer a practical framework for making the right choice in your Azure projects.


ClickOps: Fast, Visual, and Sometimes Irresistible

ClickOps—managing Azure resources through the portal or GUI—remains the go-to for many cloud professionals, especially when:

  • Prototyping and Learning: You want to try a new Azure service, see how it works, or just get something running quickly. The portal’s wizards and visual feedback make experimentation a breeze.
  • One-Off Fixes: Need to tweak a setting or apply a quick patch? Sometimes it’s genuinely faster to just click your way through.
  • Demos and Training: When you’re onboarding a new team member or presenting to stakeholders, the visual interface is clear, accessible, and easy to follow.
  • Exploring New Features: Azure’s rapid pace of innovation means some features debut in the portal before they’re available in IaC tools.

But here’s the catch:

  • No Version Control: Every click is ephemeral – there’s no built-in history, no audit trail, and no easy way to roll back.
  • Risk of Drift: Manual changes can lead to subtle differences between environments, making troubleshooting a nightmare.
  • Scalability Issues: Need to repeat the same process across dev, test, and prod? ClickOps quickly becomes tedious and error-prone.
  • Knowledge Silos: If only one person knows what was clicked, you’re at risk when they’re on holiday or leave the team.

Real-World Example:
A client once spun up a proof-of-concept using ClickOps. It worked brilliantly – until they needed to replicate it for production. Without documentation or code, they spent days retracing their steps, introducing inconsistencies along the way.


Infrastructure as Code: The Power of Automation and Repeatability

Infrastructure as Code (IaC), using tools like Bicep, ARM, or Terraform, has become the gold standard for serious cloud operations. Here’s why:

  • Repeatability: Deploy identical environments, every time, with confidence. No more “works on my portal”.
  • Collaboration: Code is easily shared, reviewed, and improved. Teams can work together without stepping on each other’s toes.
  • Auditability: Every change is tracked in version control, making compliance and troubleshooting straightforward.
  • Disaster Recovery: If disaster strikes, you can rebuild your environment from code in minutes, not days.
  • Policy and Security: IaC makes it easier to bake in security controls, enforce standards, and catch misconfigurations early.

But let’s be honest:

  • Learning Curve: Tools like Bicep and Terraform take time to master, especially for teams new to automation.
  • Overhead for Small Jobs: For tiny tweaks or quick tests, writing code can feel like using a sledgehammer to crack a nut.
  • Initial Investment: Setting up pipelines, repositories, and processes takes upfront effort, though it pays off over time.

Real-World Example:
A fintech start-up I worked with moved all their infrastructure to IaC after a single misclick in the portal caused a costly outage. Now, every change is peer-reviewed, versioned, and tested before it hits production. The team sleeps better at night, and so do their auditors.


The Hybrid Reality: Click, Then Code

Here’s the truth: most teams use both approaches at different stages.

  • Start with ClickOps: For rapid prototyping, learning, or exploring new features.
  • Transition to IaC: As soon as you need repeatability, collaboration, or compliance.

Azure even helps you bridge the gap:
You can export templates from the portal, capturing what you built with clicks as code. This “click, then code” approach lets you move fast at first, then formalise your infrastructure as your needs grow.

Pro Tip:
After prototyping in the portal, export the ARM or Bicep template, review and refactor it, and commit it to your repo. You get the best of both worlds: speed and structure.


Decision Framework: When to Click, When to Code

Here’s a practical way to decide:

My rule of thumb:

  • Use ClickOps for learning, experimenting, or those “just this once” moments.
  • Use IaC for anything you’ll need to repeat, share, audit, or scale.

Common Pitfalls (and How to Avoid Them)

1. “Just this once” turns into “every time”.
That quick fix in the portal can become a habit, leading to drift and chaos. Document every manual change, and plan to codify it if it recurs.

2. Overengineering simple tasks.
Don’t force IaC for trivial, one-off changes. Balance rigour with pragmatism.

3. Failing to transition.
Many teams get stuck in ClickOps mode. Set clear milestones for moving to IaC as your project matures.

4. Not leveraging export features.
Azure’s export tools are your friend – use them to accelerate your move from clicks to code.


The Future: AI, Copilot, and the Next Generation of Cloud Ops

The lines between ClickOps and IaC are blurring. Tools like GitHub Copilot, Azure Deployment Environments, and AI-powered wizards are making it easier than ever to generate code from clicks, or even from plain English prompts.

Imagine describing your desired architecture and having AI generate the code, deploy it, and monitor it – all with human oversight. We’re not there yet, but the future is coming fast.


Your Turn

ClickOps and Infrastructure as Code aren’t enemies – they’re tools in your Azure toolbox. The best admins know when to reach for each, and how to transition as their needs evolve.

How do you decide when to click and when to code in your Azure projects?
Have you ever regretted not using one over the other?
What hybrid approaches or tools have worked for you?

Share your stories, tips, or even horror stories in the comments – let’s learn from each other!


If you found this helpful, follow me for more practical Azure and cloud insights. And if you’ve got a topic you’d like to see covered, let me know!