You may note that at its core the definition/concept of resiliency has dramatically changed from a conceptually reactive insurance to a proactive necessity.
Resiliency Service Oriented Architecture
As mentioned above resiliency does not equal Disaster Recovery. Along with IT Operational Process' best practices, it encompasses both HA and DR architectures. A major differentiator is that Resiliency Service Oriented Architecture is basically a proactive approach in providing IT services as opposed to reactive. In other words, Resiliency Service Oriented Architectures are a "build to survive failure" attitude. The "build to survive failure" mantra may instinctually point to infrastructure solutions, however, the processes and applications' capability to take advantage of a resilient infrastructure play a key part in resiliency solutions.
So what are these processes and applications?
In order to achieve its goal of providing a 24x7x365, i.e. "Always On" availability, the solution design relies on some of the following:
- Application coding techniques that work in concert with the high availability features of the infrastructure
- Establishment of structure operational environments supporting the change and validation process
- All components must meet same service tiers
- Application supports horizontal and/or vertical scaling
- Leveraging monitoring and automation for continuous availability
- Implementing formal processes to support stability within the environment
- QA environments must also meet same service tier
- Applications must be extended to a secondary site which can, if required, be leveraged for Disaster Recovery purposes
For example, if your release and/or change management processes are challenged or non-existent, then no matter how available the supporting infrastructure and workloads are, bad code released into the enterprise will certainly impact availability of the applications/workloads. And, as far as applications go, if they cannot work in concert with the infrastructures available features, then the investment that went into building a resilient infrastructure may not be fully realized.
In my next post I will define "Resiliency Service Tiers / Classes" and how the classes are used to define and guide architecture design.