Process automation that keeps track of the complex interdependencies between applications, infrastructure and business workflows can help identify, or even predict problems. Then in the case of an unavoidable outage, the business workflows would be rerouted to an available data center.
Most process automation done today is low level IT administrative tasks for provisioning servers, handling backup or startup routines, and generally doing infrastructure tasks that require little decision making that could affect the line of business. This is necessary and important, but not sufficient to preserve the user experience or business process integrity in the face of increasingly complex IT environments where, statistically, something is always failing.
Enterprises must step up their IT process automation to the point that they can manage business workflows not just servers or IT tasks.
If the businesses dependent on Amazon had these capabilities, they would drastically reduce the outages they experienced. Orchestrating business workflows and associated data across applications and infrastructure is easier said than done. However, it can, and is, being done by many enterprises to assure service levels.
Being able to "roll-back" failed system updates to previous working versions, spotting process failures before they create an unrecoverable backlog, and the ability to run a workflow on newly provisioned environments is the type of higher-level process automation that abstracts inevitable outages from the user or business experience.
As enterprises get more serious about higher-level process automation, they will spend more time abstracting their processes from specific infrastructures and application environments. This abstraction is not only key to quickly managing an outage, it's also key to efficiently dealing with the growing IT complexity created by today's hyper-competitive business environment.
Whether IT is ready or not, the business is doing whatever it takes to respond to changing market and customer demands by pushing IT to develop new applications at a faster pace and deploy them quickly (on highly virtualized infrastructure). Add that up and you get a lack of organization, infrastructure sprawl, and more fluidity as to where applications actually run, resulting in IT complexity and skyrocketing application-to-infrastructure dependencies.