Multiple environments to improve your developer experience
Multiple environments can be a nightmare if you don’t think about the developer experience.
So always keep in mind that a multiple environment setup is supposed to be something who helps your organization. In this article, I will present to you 2 types of environments organizations:
dev / staging / production
: great if you are deploying every feature when it’s ready (continuous delivery).dev1 / dev2 / integration / preproduction / production
: more for a SCRUM organization where you push a set of features every now and then (at the end of the sprint).- temporary environments for testing: this is the graal for a lot of companies, I will explain you how to do it.
Why using multiple environments
If you have ever work on a project with a team, it is sure that you end up to a point where you cannot work because of another team.
Multiple environment helps you to resolve cross teams problems because each team has it’s own workspace. QA can work on a environment with production like data and can make end to end tests. Developers can have their own workspace where they can “break” things or experiment with no fear.
You can think that it cost a lot of money to maintain many environments and you are right. But you detect bugs faster, because your environments should all be the same, so the more environments you use, the more…