Working as a team with shared cloud accounts and Terraform

Clete Blackwell II
Jan 30 · 1 min read

Author’s Note

I have moved this article to my personal blog. Please check it out there. The introduction remains intact below.

The Problem

One of the many challenges that teams face when starting to work on a new serverless project in the cloud is how to work efficiently as a team. In traditional programming, you have your own workstation where you can test out your changes. You can use tools like Docker, pipenv, or virtual machines to create multiple isolated environments on the same machine. If you’re partnering with other coworkers, you can share your git branches to collaborate together.

With cloud services, it’s much more difficult to do that collaboration, especially if everyone is working on the same code base. Collaboration becomes even more difficult when you throw Terraform into the mix. All of a sudden, your infrastructure changes can break that shiny new feature that Bob is working on which also changes the infrastructure.

You may find yourself seeing too many messages from terraform plan stating Plan: 9 to add, 6 to remove, 2 to change when all you did was change a few resources. You either yell at Bob to commit his changes, or you destroy his work (seriously, Bob is annoying).

Written by

All-around technology enthusiast. Principal Software Engineer at a Fortune 50 company. AWS, Cloud, Self-hosted, Python, Node.js, Java, Linux.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade