Infrastructure as Code
Infrastructure as code is a way to provision and maintain your infrastructure using configuration files as opposed to a GUI (usually provided by the web services provider).
There are many benefits to running your infrastructure this way. Much of this is due to the ability of source control which enables code reviews for better visibility of potential mistakes before they happen, version history to see what was done and when if something does go wrong and the ability to rollback when it does.
Other benefits include
- The code is reusable
- Real easy to build identical infrastructure in different environments
- Can create build pipelines for your infrastructure
- You can see what infrastructure your code is going to create, without building it
Main downside would be having extra overhead, but the benefits far outweigh the extra effort and will ultimately be less painful.