The cloud is the future, and your architecture isn't ready
The advent of PaaS and Docker means developers need to change the way they build applications. Deploys that assume server state is preserved; application installers that handle configuration, database setup and generating of fixtures in one sweep; frameworks that cache configuration values from the environment forever - these approaches are incompatible with the containerized, elastic, on-demand infrastructure that is the future of the Internet.
System designs of today still too often assume that durability is a responsibility of server administrators (or devops teams), and couple architectural elements tightly together in Chef or Puppet recipes that are brittle and hardly portable. Tasks that could be executed in the background get run synchronously, forming a barrier to scalability. Intermittent failures cause catastrophic outages instead of graceful ones. With all this, a central promise of the cloud can not be leveraged - reliability and scalability.