What is Multi-Cluster?
Multi-cluster is an architecture strategy for deploying a cloud native application on or across multiple Kubernetes clusters. Multi-cluster architectures improve availability, isolation, and scalability and can be useful in ensuring compliance with conflicting regulations as individual clusters can be adapted to comply with geographic or certification-specific regulations. In a multi-cluster application, individual development teams can deploy applications to isolated clusters and selectivly expose which services are available for testing and release.
There are two fundamental ways in which multi-cluster applications can be architected:
- Replicated: each cluster runs a full copy of the application
- Split-by-Service: the services of a single application or system are divided across multiple clusters
Impact on Today
Many organizations are today are deploying multiple clusters for the following benefits:
- Improved operational readiness
- Increased availability and performance
- Isolation and multi-tenancy
- Eliminate vendor lock-in