How to build step by step a multi-cloud website running on AWS, Azure and Google Cloud, with Terraform and Cloudflare DNS for free

Guillermo Musumeci
14 min readDec 3, 2019

Running a web site in a single cloud provider is not complex.

We can deploy a web site with a load balancer in a popular cloud provider such as Amazon Web Services (AWS), Microsoft Azure or Google Cloud Platform (GCP) in just a few minutes, using a Terraform script, the CLI or the old school way (aka the Console).

Based on my experience, running the web site in a single provider, it is the best solution from the cost perspective, but what happens if the region or the cloud provider where we deployed our website is down?

I have been working with the top 3 public cloud providers (AWS, Azure & GCP) for +6 years, more than enough time to see lots of failures -which are below the rate that stuff in the datacenter fails, but this is another conversation 😉-

Just for fun, I decided to spend a couple of nights trying to build a real multi-cloud web site.

The biggest challenge is to choose a service to distribute the traffic between all these cloud providers. We don’t want to use a service on any of these cloud providers, so my choice is using Cloudflare. Cloudflare provides several services but there are two that will help us to…

--

--

Guillermo Musumeci

Certified AWS, Azure & GCP Architect | HashiCorp Ambassador | Terraform SME | KopiCloud Founder | ex-AWS | Entrepreneur | Book Author | Husband & Dad of ✌