In a way, building complex systems and setting up their infrastructure has never been so easy. There is a lot of easily accessible tooling and documentation on how to write apps and infrastructure providers that offer you on-demand capacity for setting up cloud systems. Yet the real problem begins once you have your applications in production, people start to depend on it and issues appear in production that have to be fixed. In all likeliness, you have been there yourself - setting up servers manually, just requiring that one magical line read on StackOverflow, and of course that special command for cleaning up when the application crashed, but everybody on the project knows that, right?
When a system works well, one usually starts to forget about their technical details; thats what a good abstraction is for. Yet, if that system fails, all those nitty-gritty details are of importance again. In these moments, tested deployment automation and automated export / backup as well as restore / import of your data artefacts really pays off.
What you cannot rebuild automatically has never been really there in the first place.