Weekly Tech Notes #15: Cell-based Architecture
🎬 Reading below Slack blog post I discovered they use Vitess: a database clustering system for horizontal scaling of MySQL. It is used not only by Slack but also by YouTube, Square, Hubspot and many others. This video explains its architecture and shows a demo of it in action.
📚 This week’s readings are all about Cell-based Architecture, a pattern that is becoming more and more popular in the industry. The idea is to divide a system into smaller units called cells, each of them being self-contained with its own database and API. This way, cells can be deployed independently, scaled horizontally and isolated from each other failures.
- Guidance for Cell-based Architecture on AWS – An Architecture Diagram showing a possible Cell-based Architecture on AWS with a step-by-step explanation.
- Slack’s Migration to a Cellular Architecture – First post from Slack Engineering blog about their migration to a Cell-based Architecture. The interesting part is their ability to quickly drain an AZ (i.e. a cell) in response to an ongoing incident.