Terraform for On-Premises and Hybrid Cloud at Wayfair
Jeff Dillon, Brendan McGarry, and Dan McAvinue—site reliability engineers at the retailer Wayfair—explain how their team updated their existing on-premises infrastructure to match modern cloud methods.
- Needed to be able to elastically scale out from Wayfair's existing three private data centers in Seattle, Boston and Dublin, with 12,000 servers (e.g., on Cyber Monday)—so they needed a hybrid cloud
- Before Terraform, to provision an on-prem server from need to prod was taking 49 days on average, requiring 13 tickets to complete the workflow
- Created Terraform plugins to vastly simplify provisioning, triggered by a Git pull request, integrating with Jenkins, and with everything using RESTful APIs
- Recommendations: Have your infrastructure be composed of isolated, immutable cattle, not pets
- Do logging in Terraform plugins to a separate file—not into the main
- Documentation: Create it automatically
- Testing: Do it automatically
- Wrap all your devices in Terraform modules
- They've open-sourced their code and named it "Project Argo"
For more information, you can read Wayfair's own blog post on this project.