Cloud Playgrounds: Practice Makes Perfect
Cloud Playground with Infra-as-Code
One of the things I always tell people who are learning cloud is this: you need a safe space to experiment. Practice, practice, practice. Somewhere you can break stuff, try new patterns, rebuild quickly.
That’s why I built this: cloud-playground-infra.
Why I Put This Together
I’ve been in plenty of conversations with peers and customers who want to “get hands-on” but aren’t sure how to do it without risk. My answer has always been: build a playground.
But instead of manually clicking around in the Azure portal, I wanted a repeatable, codified setup. Besides, clicking around the portal may be good conceptually but it is definitely not representative of real world scenarios. So I created something modular enough where I can spin up only the pieces I need, swap parts in and out, and still have a consistent foundation. And something that shows the differences between tools like Terraform and Bicep while making it dead simple to use either one in practice.
What’s Inside
The repo is structured to be modular and language-agnostic. Pick your favorite IaC language (Bicep or Terraform) and follow directions in the README within the cloud-playground-infra repo.

This is where it gets powerful. The repo already includes two CI/CD pipelines: terraform-deploy.yml
for Terraform deployments and bicep-deploy.yml
for Bicep deployments.
You don’t need to wire up your own automation — just call the workflow for the language you prefer, and the pipeline handles the provisioning end to end. To emphasize again, this assumes you’ve followed instructions in the README within the cloud-playground-infra repo.
The idea is simple: cloud playgrounds. You can work in Terraform or Bicep and run the corresponding pipeline. The GitHub Actions Workflows abstract the heavy lifting — you just choose your IaC language and run the pipeline.