Configuring infrastructure manually is very error-prone. If you want to try out a new infrastructure configuration, you have to change the environment by hand. If the change is correct, you have to remember what steps were involved in making that change and then manually apply them to your other environments. If you do not like the change, you have to remember how to roll the environment back to its original state. Since the process is manual, the changes are often not made the same to each environment which is one of the reasons that environments end up differing and have their own personalities.