Infrastructure as Code

Over the past few years, I've had the pleasure of helping companies migrate their infrastructure to the cloud. This experience has exposed me to a variety of cloud providers and diverse approaches to managing infrastructure.

Along the way, I've gained valuable insights into infrastructure as code and become familiar with a range of tools used to streamline and automate infrastructure management.

In this section, I'll share some of the strategies I've applied and the tools that have proven most effective.

Shared Infrastructure with Azure and Cloudflare

I've been leveraging a combination of Azure and Cloudflare to build secure, scalable infrastructure. Initially, Cloudflare served as a CDN in front of public load balancers hosted on Azure App Services. Over time, I began incorporating Cloudflare’s Zero Trust Network Access (ZTNA) features to strengthen security and enforce least-privilege access principles.

This architecture establishes a clear separation of responsibilities:

  • Cloudflare acts as the ingress control plane, managing authentication, access policies, and traffic inspection.
  • Azure handles application workloads and outbound (egress) traffic routing.

To help others replicate this setup, I’ve created a collection of Terraform modules along with example implementations, all available on GitHub. These modules reflect my opinionated approach, but I welcome feedback, discussions, and pull requests from the community.