Leverage multiple cloud clusters to improve availability
Problem
As with any complex IT solution, there is always the potential for failure of an underlying resource within a cloud.
The cloud platform will/may span organizational divisions, geographies and vendor technologies. Each of these separation points will act as physical zones, but a better approach to managing them is by partitioning them into logical zones. Zones maybe based on geography, by criticality of processing, by cost, etc.
If an organization is geographically distributed, the architectural approach may decide to avoid huge data movements across the network. Typically, organizations implement HA and disaster recovery by providing redundancy across data centers.
Solution
Architect the solution to provide least disruption in case of failure. Organize cloud service and application instances by clusters and distribute them across nodes to limit impact of node failures. Deploy stateless VMs where possible. Provide redundant passive and active instances across clusters. In the event of a failure, the system should be able to switch automatically.
Application
- Geographical distribution and regional proximity of application and service instances with consumers
- Service and application redundancy across clusters to improve availability and ensure service continuity
- Meet QoS expectations of cloud SaaS customers or leverage multiple cloud service providers
Impacts
- Cross cluster traffic moving across the network may result in slow user response
- Redundancy could cost more and potential for excess or idle resources
Anti-Patterns
- Deploy applications and services within the same cluster with no HA node with a standard QoS offering across all customers
- Deploy applications and services within the same node with a standard QoS offering across all customers
Related Patterns
- Platform VM Pattern
- Application Virtualization Pattern
- Stateless VM Pattern
- VM Factory VM Pattern
References
- Eucalyptus (Cloud Clusters)
- Amazon AWS (Availability Zones)



