Having your infrastructure in code has another major benefit, in that it allows you to easily create multiple instances of the same configuration in multiple environments. All of the instances can be created quickly and all will be identical. Being able to create multiple identical environments is a big competitive advantage as it means that each team can have its own environment. You could even have one per person if you wanted! You know that the environment you are testing your software on is exactly the same as production, so there are no sudden surprises due to environment drift.