Pulumi + Azure Series: A Developer’s Perspective
Nedim Hozic

Nedim Hozic @nedimhozic

About: Tech Lead | C# .NET & Azure Expert | Driving Innovation & Team Success

Location:
Munich, Germany
Joined:
Apr 20, 2025

Pulumi + Azure Series: A Developer’s Perspective

Publish Date: Apr 20
0 0

We live in an era where news and data are everywhere — instantly available, constantly updated, and often overwhelming. In software circles, every tool has its own fan base, community, stack of blog posts, and even full-blown evangelists.

Yet somehow, Pulumi has always felt a bit underappreciated to me. Maybe it’s because it’s not as widely adopted as Terraform, or maybe because it’s relatively young. Either way, I’ve felt a growing urge to share how genuinely powerful it is — especially when combined with Azure, the cloud I work with the most.

Pulumi isn’t limited to Azure, of course. It has great support for AWS, GCP, Kubernetes, and many other providers. But for this series, we’ll be focusing on real-world scenarios in Azure, because that’s where I’ve spent most of my time, and where Pulumi has truly helped me streamline and modernize how I build infrastructure.

💻 Why This Series Matters (Especially if You’re a Dev)

Infrastructure is part of our jobs now — even if you don’t have “DevOps” in your title. Pulumi lets you stay in your language, use your tools, and build infrastructure as if you’re coding features — not writing declarations.

Some time ago, I wrote an article about .NET Aspire and how it’s expanding a developer’s responsibilities into the infrastructure space: .NET Aspire: Bridging the Gap Between Application and Infrastructure. Aspire makes it clear: developers are no longer just writing APIs or frontends — they’re owning how those pieces run in the real world. Things like service discovery, environment configuration, diagnostics, and containerization are now just normal dev tasks.

But even outside of Aspire or .NET, this shift is happening everywhere. Developers today often need to spin up queues, databases, storage accounts, or set up secure communication between microservices. And let’s be honest — waiting on another team to provision these, or managing them manually through the Azure Portal, is not scalable or fun.

With Pulumi, you can own those pieces with the same tools and patterns you already use:

  • You can write infra using TypeScript, Python, Go, C#, or your team’s stack.

  • You can commit it to Git, test it, refactor it, and review it like any other code.

  • You don’t need to switch between a DSL like Bicep or write giant YAML files.

That’s a big deal.

Pulumi doesn’t ask you to become an infrastructure engineer overnight. It just lets you take ownership of the parts that are closest to your applications — things like:

  • Your app’s hosting environment (App Service, Function, Container App)
  • Connected services (Redis, CosmosDB, Storage)
  • Communication and messaging layers (Kafka, Event Hubs, Service Bus, SignalR)
  • Identity and secrets
  • It’s about bringing infrastructure closer to the people who understand the app best — you.

🔧 What You Can Expect from This Series

Here’s a glimpse of what’s coming:

  • How to set up your first Pulumi project with Azure Deploying real-world infrastructure (App Services, Functions, Storage, AKS, etc.)
  • Writing reusable Pulumi components for Azure
  • Managing environments and secrets with Pulumi configs
  • CI/CD pipelines and automation for IaC
  • Tips, gotchas, and Pulumi tricks I’ve learned along the way

Whether you’re new to Pulumi or just curious about a different approach to Azure infrastructure, I hope this series will help you see what’s possible when you combine real code with cloud automation.

Let’s get started 🚀

👉 Next up: Pulumi + Azure: Setting Up Your First Project

Comments 0 total

    Add comment