Taking Advantage Of Cell-Based Architectures To Build Resilient And Fault-Tolerant Systems
InfoQ, Monday, October 21st, 2024
In this series we present a journey of discovery and provide a comprehensive overview and in-depth analysis of many key aspects of cell-based architectures, as well as practical advice for applying this approach to existing and new architectures.
The cell-based architectures have been an emerging paradigm in the last few years, with companies like Slack (which migrated the most critical user-facing services from monolithic to cell-based architectures), Flickr (which employed a federated approach to store the users' data on a shard or cluster of many services), Salesforce (which designed a solution in terms of pods, with functionality self-contained consisting of 50 nodes), and Facebook (which proposed building blocks with services called cells, each cell consisting of a cluster, a metadata store, and controllers in Zookeeper).
They have used these architectures to address the challenges of resilience and fault tolerance. The reasons for becoming popular include isolation of failures, improved scalability, simplified maintenance, enhanced fault tolerance, flexibility, and cost-effectiveness.