Amazon Web Services
Distributed failures are inevitable under physical and logical constraints, requiring operators to compartmentalize workloads through cell architectures and shuffle-sharding so toxic requests cannot trigger region-wide collapse.
AI-assisted summary of AWS re:Invent 2018: How AWS Minimizes the Blast Radius of Failures (ARC338) — original source. Check the original for full context.
Source published:
Key ideas
- AWS structures fault isolation across four core tiers—Region Isolation, Availability Zone Independence, Cell-Based Architectures, and Shuffle-Sharding—to contain both physical and logical disruptions. (4:23)
- Cell-based architectures impose strict ceilings on cluster growth, capping the catastrophic blast radius of a software failure or poison pill to 1/N, where N represents the number of cells. (22:16)
- Shuffle-sharding leverages combinatorial mathematics to assign customers overlapping virtual subsets of nodes; scaling from 8 nodes to a 100-node cluster with 5-node shards produces over 75 million combinations, ensuring 77% of tenants experience zero impact from a toxic tenant. (34:46)
- Global services like AWS IAM maintain static stability by strictly decoupling the centralized control plane from regionally cached data planes, allowing runtime authentication to persist uninterrupted during global outages or network partitions. (51:51)
Detailed notes
## Background Published by Amazon Web Services on YouTube on November 27, 2018, this presentation from AWS re:Invent 2018 explores AWS's operational practices and system availability philosophies. The session breaks down core blast radius reduction design techniques—including region isolation, availability zone independence, cell-based architectures, and shuffle-sharding—informed by decades of operating Amazon.com and AWS cloud infrastructure.
## TL;DR AWS Distinguished Engineer Peter Vosshall explains how AWS architectures are engineered around fundamental constraints like the speed of light, the CAP theorem, and Murphy's Law by actively containing the blast radius of inevitable failures. The talk outlines four containment tiers: fully isolated regional stacks, Availability Zone Independence (AZI) with decoupled control planes, cell-based bulkheading that caps catastrophic failure impact to 1/N of a fleet, and shuffle-sharding combinatorics that virtualize single-tenant resilience on multi-tenant hardware. Vosshall pairs these system designs with strict operational rigor, detailing one-zone deployment pipelines, automated canary rollbacks, and AWS's hands-on 'builder-operator' culture before reviewing real-world edge cases like the 2008 Amazon S3 bit-flip incident.
## Atmosphere & style Peter Vosshall presents with the calm, authoritative candor of a veteran systems architect who has navigated high-severity outages firsthand. The narrative balances high-level naval bulkhead metaphors and combinatorial mathematics with understated dry humor regarding 'pesky speed of light issues' and customer poison-pill requests. Watching the session feels like sitting in on an executive engineering post-mortem where catastrophic worst-case scenarios are systematically dismantled into elegant, repeatable operational doctrine.
## Bulletin - [04:23](https://www.youtube.com/watch?v=swQbA4zub20&t=263s) AWS structures fault isolation across four core tiers—Region Isolation, Availability Zone Independence, Cell-Based Architectures, and Shuffle-Sharding—to contain both physical and logical disruptions. - [22:16](https://www.youtube.com/watch?v=swQbA4zub20&t=1336s) Cell-based architectures impose strict ceilings on cluster growth, capping the catastrophic blast radius of a software failure or poison pill to 1/N, where N represents the number of cells. - [34:46](https://www.youtube.com/watch?v=swQbA4zub20&t=2086s) Shuffle-sharding leverages combinatorial mathematics to assign customers overlapping virtual subsets of nodes; scaling from 8 nodes to a 100-node cluster with 5-node shards produces over 75 million combinations, ensuring 77% of tenants experience zero impact from a toxic tenant. - [51:51](https://www.youtube.com/watch?v=swQbA4zub20&t=3111s) Global services like AWS IAM maintain static stability by strictly decoupling the centralized control plane from regionally cached data planes, allowing runtime authentication to persist uninterrupted during global outages or network partitions.
## Key takeaways - [00:01](https://www.youtube.com/watch?v=swQbA4zub20&t=1s) Distributed systems engineering is fundamentally constrained by three unavoidable properties: the speed of light, the CAP theorem, and Murphy's Law. - [00:01](https://www.youtube.com/watch?v=swQbA4zub20&t=1s) Blast radius is quantified across three dimensions: the number of customers affected, the fraction of functionality impaired, and the geographic scope of the impact. - [06:50](https://www.youtube.com/watch?v=swQbA4zub20&t=410s) AWS regions operate under a shared-nothing model with independent control and data planes, preventing outages from propagating across regional boundaries. - [06:50](https://www.youtube.com/watch?v=swQbA4zub20&t=410s) Cross-region features like VPC Peering rely on an isolated Cross-Region Orchestrator that interacts with standard regional front-door APIs rather than letting control planes link directly. - [11:23](https://www.youtube.com/watch?v=swQbA4zub20&t=683s) Availability Zones are spaced miles apart to eliminate correlated physical risks like power drops and severed fiber, while staying close enough to support low-latency synchronous replication. - [15:36](https://www.youtube.com/watch?v=swQbA4zub20&t=936s) Under Availability Zone Independence (AZI), zonal resources maintain autonomous zone-local control and data planes so that failure in one zone leaves neighboring zones fully operational. - [18:30](https://www.youtube.com/watch?v=swQbA4zub20&t=1110s) Cell-based architecture borrows the naval bulkhead concept, deploying multiple independent instantiations of a service behind an ultra-thin routing layer to cap software failures at 1/N. - [24:21](https://www.youtube.com/watch?v=swQbA4zub20&t=1461s) Enforcing maximum size caps on individual cells enables exhaustive pre-production stress testing and simplifies fleet management by scaling out via new cells rather than scaling up. - [27:46](https://www.youtube.com/watch?v=swQbA4zub20&t=1666s) Effective cell routing requires 'cutting with the grain' along natural workload boundaries like customer IDs, VPCs, or physical data centers to minimize expensive scatter-gather and batch operations. - [34:46](https://www.youtube.com/watch?v=swQbA4zub20&t=2086s) Shuffle-sharding uses deterministic hashing to map tenants to unique combinations of nodes, dramatically lowering failure impact without requiring fully isolated physical infrastructure. - [34:46](https://www.youtube.com/watch?v=swQbA4zub20&t=2086s) To prevent cascading failures in a shuffle-sharded cluster, node assignments must remain strictly immutable, prohibiting automated dynamic failover to unassigned healthy hosts. - [39:42](https://www.youtube.com/watch?v=swQbA4zub20&t=2382s) AWS strictly enforces a rule never to mutate more than one Availability Zone at a time, deploying software through one-box canaries, soak times, and automated metric rollbacks. - [42:35](https://www.youtube.com/watch?v=swQbA4zub20&t=2555s) Under the 'builder-operator' culture, software engineers who build services are responsible for operating them on-call, driving continuous post-incident improvements through the Correction of Errors process. - [46:01](https://www.youtube.com/watch?v=swQbA4zub20&t=2761s) The 2008 Amazon S3 gossip protocol outage demonstrated how a single flipped bit on one server NIC bypassed an unchecksummed layer and triggered a fleet-wide cascade. - [48:49](https://www.youtube.com/watch?v=swQbA4zub20&t=2929s) While regions and AZs are customer-configurable primitives, AWS deliberately abstracts physical data center buildings within an AZ and treats cells and shuffle-sharding as platform-managed safety mechanisms. - [50:46](https://www.youtube.com/watch?v=swQbA4zub20&t=3046s) Phased, multi-stage deployments across cells and regions can span days or weeks, making backward and forward wire compatibility a critical engineering requirement during prolonged version skew. - [53:48](https://www.youtube.com/watch?v=swQbA4zub20&t=3228s) Cell architectures are best suited for hard state, whereas shuffle-sharding thrives in stateless or soft-state services, with hybrid patterns increasingly layered together in systems like DynamoDB.
## Detailed walkthrough ### [00:01](https://www.youtube.com/watch?v=swQbA4zub20&t=1s) Welcome, Laws of the Universe, and the Meaning of Blast Radius
Peter Vosshall, a Distinguished Engineer at AWS, opens by welcoming attendees to AWS re:Invent 2018. Reflecting on his career designing highly available, large-scale distributed systems, he explains that engineers must constantly contend with three unyielding properties of the physical and computational universe:
1. **The Speed of Light:** Light travels at approximately 186 miles per millisecond. While fast, distance imposes unavoidable latency limits on communication. He mentions that earlier that morning, the NASA Jet Propulsion Laboratory (JPL)—an AWS customer—successfully touched down their Mars lander, a feat complicated by interplanetary light-travel delays. 2. **The CAP Theorem:** Postulated by Eric Brewer in 1998 and later formally proven by Seth Gilbert and Nancy Lynch at MIT, the theorem shows that a distributed system cannot simultaneously provide consistency and availability under network partitions. 3. **Murphy's Law:** Vosshall observes, “Inevitably things will fail in a variety of interesting ways.”
Because security, availability, and durability are the top priorities at AWS, systems must be built to assume Murphy’s Law will strike. This introduces the concept of the *blast radius*. Failure in distributed systems is rarely binary; it is not simply working or failing, but rather a question of scope and degree of impact. Blast radius measures impact across three main dimensions: how many customers or workloads are affected, what fraction of functionality is broken, and across what geographic scope the disruption takes place (a rack, an entire data center, or a whole region).
AWS relentlessly works to shrink this blast radius. Vosshall highlights the internal *Correction of Errors* (COE) post-mortem process, which service teams undergo following any operational event to identify root causes and preventive actions. A core requirement in the COE template is a mandatory thought exercise: “How could you cut the blast radius for a similar event in half?”
---
[04:23](https://www.youtube.com/watch?v=swQbA4zub20&t=263s) Forms of Failure: Physical, Environmental, and Logical
Failures manifest in both physical and non-physical ways, and resilient architectures must anticipate both:
- **Hardware and Network Faults:** Servers crash, storage disks fail either outright or through silent, random I/O errors, and network switches or routers can introduce random bit flips in transit. - **Environmental Disruptions:** Outside the data centers, municipal or construction utility workers accidentally sever fiber cables, severe electrical storms trigger utility power drops, and catastrophic events like fires or storms physically compromise facilities. - **Traffic Overloads:** Sudden massive demand spikes or Distributed Denial of Service (DDoS) attacks can overwhelm system capacities. - **Poison Pills (Black Swans):** Problematic requests that are unusually resource-heavy or trigger latent edge-case software bugs. These are especially hazardous because failed client applications automatically retry, causing a single "poison pill" to cascade through internal dependencies and infect an entire service fleet. - **Deployments and Bugs:** Flawed software deployments, bad configuration pushes, or unintended software bugs can inadvertently compromise production stability.
To protect against these fault modes, Vosshall outlines four architectural pillars—**Region Isolation**, **Availability Zone Independence**, **Cell-Based Architecture**, and **Shuffle-Sharding**—complemented by disciplined operational practices.
---
[06:50](https://www.youtube.com/watch?v=swQbA4zub20&t=410s) Region Isolation and Cross-Region Orchestration
Vosshall begins with the highest containment boundary: region isolation. At the time of the presentation, AWS operates across 19 geographical regions globally, with 5 additional regions announced. Customers choose regions to optimize latency or comply with data residency regulations.
Each AWS region is constructed as a completely separate, independent stack of AWS services operating under a shared-nothing architecture. Services have their own dedicated regional API endpoints (for example, `ec2.us-west-1.amazonaws.com` versus an endpoint in `us-east-2`). There is no single centralized global Amazon EC2 control plane or data plane; Amazon SQS, Amazon SageMaker, and Amazon EC2 instances in one region possess zero runtime awareness of instances in another. Because the stacks do not communicate, a failure in one region cannot directly trigger a failure in another, providing the ultimate blast radius boundary.
```mermaid flowchart TD accTitle: AWS Inter-Region VPC Peering Architecture accDescr: The Cross-Region Orchestrator coordinates isolated EC2 control planes across distinct regions via external APIs.
subgraph CRO["Management Layer"] Orch["Cross-Region Orchestrator<br/>(Safety Ring-Fencing & Workflow Engine)"] end
subgraph RegionA["AWS Region: us-west-1"] APIA["EC2 Regional API Endpoint"] VPCA["Customer VPC A"] APIA --> VPCA end
subgraph RegionB["AWS Region: us-east-2"] APIB["EC2 Regional API Endpoint"] VPCB["Customer VPC B"] APIB --> VPCB end
Orch -->|"API Call (Front Door)"| APIA Orch -->|"API Call (Front Door)"| APIB VPCA <===>|"Encrypted Direct Network Peering"| VPCB ```
Vosshall explains how AWS maintains this isolation even when offering inter-region features such as Amazon S3 Cross-Region Replication, Amazon DynamoDB Global Tables, and Inter-Region Amazon VPC Peering. Taking VPC Peering as an example, establishing a virtual network link between VPCs in different regions involves coordinating customer approvals and updating routing tables in both control planes. Rather than permitting the EC2 control plane in `us-west-1` to speak directly to the EC2 control plane in `us-east-2`, AWS deploys a dedicated higher-level service: the **Cross-Region Orchestrator**.
The Orchestrator manages the workflow and sends requests into each region through its standard public-facing API front door, behaving like any other authorized caller. It incorporates safety mechanisms and strict "ring-fencing" to ensure that an operational error or bug cannot synchronously destabilize both regions at once. Even during physical disasters—such as earthquakes in Japan—the failure blast radius is guaranteed to stop at the regional boundary. However, because a region-wide outage is still unacceptable for customers hosting single-region workloads, AWS relies on Availability Zone independence to partition failures within a region.
[11:23](https://www.youtube.com/watch?v=swQbA4zub20&t=683s) Availability Zones, Physical Isolation, and Regional Topology
At the macro scale, an AWS region—such as Northern Virginia, Dublin, or Frankfurt—is not a single data center. Rather, it is composed of multiple distinct data centers dispersed across the metropolitan area, termed Availability Zones (AZs). These AZs are interconnected via high-speed, private fiber links. The physical placement follows a careful balance: they are spaced miles apart to drive the probability of a correlated failure down to near zero—barring widespread catastrophes like major regional earthquakes. By placing them miles apart, localized hazards like a passing tornado or an isolated municipal utility outage will not knock out multiple facilities at once, especially since AWS provisions them across independent utility suppliers within the region.
Simultaneously, the zones are kept close enough together to avoid latency penalties and circumvent “pesky speed of light issues.” Logically, systems can treat them as if they are co-located, easily supporting synchronous replication protocols. Each AZ is not restricted to a solitary building; because AWS enforces a fixed maximum physical size for its data centers, larger AZs may comprise several buildings. Across regions, AWS constructs at least three Availability Zones per region (a baseline guaranteed for all future region builds), which provides the quorum required for distributed consensus protocols to function reliably.
```mermaid flowchart TD accTitle: Regional Multi-AZ Topology accDescr: An AWS Region containing three distinct Availability Zones separated by miles yet interconnected by private fiber. subgraph Region["AWS Region (e.g., Northern Virginia)"] subgraph AZ1["Availability Zone A"] DC1["Data Center Building(s)"] P1["Utility Supplier 1"] end subgraph AZ2["Availability Zone B"] DC2["Data Center Building(s)"] P2["Utility Supplier 2"] end subgraph AZ3["Availability Zone C"] DC3["Data Center Building(s)"] P3["Utility Supplier 3"] end AZ1 <-->|"High-Speed Low-Latency Private Fiber"| AZ2 AZ2 <-->|"High-Speed Low-Latency Private Fiber"| AZ3 AZ1 <-->|"High-Speed Low-Latency Private Fiber"| AZ3 end ```
- Globally at the time of this presentation, AWS operated 19 regions containing 57 total AZs, with an additional 5 regions and 15 AZs planned for deployment. - Spreading data centers ensures that common disruptions—such as a construction worker severing a fiber line or localized power loss—do not cross AZ boundaries. - Minimum three-AZ designs satisfy consensus agreement requirements for distributed systems while avoiding single points of failure.
[13:40](https://www.youtube.com/watch?v=swQbA4zub20&t=820s) Multi-AZ Applications and Zero Blast Radius for Infrastructure Events
Because correlated failure across a region is minimized by design, application architectures can achieve fault tolerance by mirroring AWS's internal operational practices. In a standard multi-AZ deployment, compute instances run behind an Elastic Load Balancer (ELB) distributed across zones, backed by a relational database configured in a primary-standby pair across AZs.
If an entire Availability Zone drops offline due to a power outage or network severance, the ELB detects the failure and immediately halts traffic to the impaired zone. Meanwhile, Amazon RDS automatically initiates a database failover to the healthy standby located in the unaffected zone. Because failure detection and failover happen rapidly, the event registers as little more than a transient hiccup to end customers, effectively achieving “almost like a non-event that you lost, you know, one of the data centers in your application.” AWS relies on this exact model for durable, highly available regional services like Amazon S3, which utilizes multi-AZ distribution to reach its 11 nines of durability.
As the speaker emphasizes regarding this architectural model: > “And so with this architecture you can basically get to zero blast radius when you have a data center and get hit by tornado or a utility worker hitting a cutting out fiber connection.”
[15:36](https://www.youtube.com/watch?v=swQbA4zub20&t=936s) Zonal Services and Availability Zone Independence (AZI)
Certain AWS services are not purely regional abstractions; they offer zonal resources such as Amazon EC2 instances or Amazon EBS volumes. For these, customers explicitly choose the AZ where resources reside. To enforce minimum blast radius boundaries, AWS implements a design principle known as Availability Zone Independence (AZI), pairing physical isolation with independent control planes at the zone tier.
To illustrate this, the speaker contrasts control planes and data planes: - The **control plane** provides the administrative interface used to configure and manage resources (e.g., running `ec2:RunInstances`, which ingests an API call and orchestrates VM provisioning). - The **data plane** carries out the actual day-to-day workload (e.g., the running EC2 instance itself, SSH connections, or the network fabric that bridges instances within a VPC).
```mermaid flowchart TD accTitle: Availability Zone Independence Architecture accDescr: Regional Entry Point routing to independent zonal control and data planes across AZs. subgraph RegionalLayer["Regional Tier"] RCP["Regional Control Plane (Multi-AZ Resilient)"] Agg["Aggregation (e.g., DescribeInstances) & Non-Zonal Config (Security Groups)"] RCP --- Agg end subgraph AZ_A["Availability Zone A"] ZCP_A["Zone-Local Control Plane"] DP_A["Zonal Data Plane (EC2, EBS)"] ZCP_A --> DP_A end subgraph AZ_B["Availability Zone B"] ZCP_B["Zone-Local Control Plane"] DP_B["Zonal Data Plane (EC2, EBS)"] ZCP_B --> DP_B end RegionalLayer --> ZCP_A RegionalLayer --> ZCP_B ```
Under AZI, each zone runs its own fully autonomous control and data planes that do not share state with neighboring zones. When customers interact with EC2 via a regional endpoint, a multi-AZ fault-tolerant regional control plane serves as the routing facade. It handles zone-agnostic artifacts (such as security groups) and aggregates cross-zone queries (such as `ec2:DescribeInstances`). If a failure strikes an AZ, the zonal data plane and zone-local control plane within that zone may be lost. However, neighboring AZs remain unaffected, and the regional control plane continues routing API calls to the healthy zones without interruption.
[18:30](https://www.youtube.com/watch?v=swQbA4zub20&t=1110s) The Theoretical Blast Radius Dilemma and Bulkhead Compartmentalization
While multi-AZ isolation eliminates correlated infrastructure failures, it introduces a separate vulnerability when looking at the worst-case scenario. If an infrastructure event takes down an AZ, a regional service automatically shifts traffic away, remaining healthy, whereas a zonal service sustains impact strictly within the damaged zone.
However, considering theoretical blast radius—the "Black Swan event" or catastrophic non-infrastructure software bug—the profile flips: - For a purely zonal service, the worst-case failure boundary is still restricted to that single zone. - For a regional service, a critical software fault, poison-pill payload, or control-plane bug can bring down the entire service region-wide.
The speaker highlights this acute operational anxiety: > “For the regional service it is the entire service, and that’s the thing that we lose sleep at night every night thinking about.”
To resolve this asymmetry, AWS turned to an engineering metaphor from naval architecture. For centuries, ocean-going ships have been constructed with watertight compartments separated by transverse bulkheads. When a ship's hull is breached, flooding is isolated to a single bulkhead compartment, preserving buoyancy and overall structural integrity.
```mermaid flowchart LR accTitle: Cell-Based Architecture Compartmentalization accDescr: Traffic partition from entry router into isolated cells containing independent instances of the full application stack. Traffic["Customer Ingress Traffic"] --> Router["Regional Entry Point / Partitioning Router"] subgraph Cell0["Cell 0"] ELB0["ELB"] --> App0["App Stack"] --> DB0["Storage"] end subgraph Cell1["Cell 1"] ELB1["ELB"] --> App1["App Stack"] --> DB1["Storage"] end subgraph CellN["Cell N"] ELBN["ELB"] --> AppN["App Stack"] --> DBN["Storage"] end Router -->|"Partition: Customer Group 0"| Cell0 Router -->|"Partition: Customer Group 1"| Cell1 Router -->|"Partition: Customer Group N"| CellN ```
Translating this bulkhead concept into cloud services yielded *cellular architecture* (or *cell-based architecture*). Rather than maintaining one monolithic regional service stack spanning the AZs, AWS deploys multiple, completely independent instantiations of the entire stack—each known as a "cell."
Incoming regional traffic passes through an entry-point aggregation and routing layer that partitions workloads across these cells, such as grouping requests by customer identifier. The cells operate with zero knowledge of one another. The speaker notes with a grin that while the audience members “all look nice,” if a single “naughty” user introduces a malicious request or triggers a fatal edge-case bug, the ensuing failure remains quarantined within their assigned cell, leaving all other customer workloads unharmed.
[22:16](https://www.youtube.com/watch?v=swQbA4zub20&t=1336s) Principles of Cell-Based Architectures and Failure Containment
To preserve the appearance of a single, unified endpoint while partitioning underlying systems, AWS places a thin routing layer—called a cell router—in front of the fleet. The cell router makes incoming routing decisions to direct traffic to distinct, self-contained sub-units known as cells. These internal structures remain completely transparent to customers while delivering high resilience and fault tolerance. Conceptually, this mirrors the pattern of Availability Zone Independence (AZI), but operates along an orthogonal dimension.
```mermaid flowchart TD accTitle: Regional Cell-Based Architecture accDescr: Incoming traffic passes through a cell router to discrete cells distributed across Availability Zones.
Client["Client Traffic"] --> Router["Cell Router<br/>(Thinnest Possible Layer)"]
subgraph Cells["Cell Fleet (1/N Blast Radius)"] Router --> Cell1["Cell 1<br/>(AZ-a, AZ-b, AZ-c)"] Router --> Cell2["Cell 2<br/>(AZ-a, AZ-b, AZ-c)"] Router --> Cell3["Cell 3<br/>(AZ-a, AZ-b, AZ-c)"] end ```
In a traditional regional service, resilience is achieved by distributing components across multiple Availability Zones (AZs) so that the loss of an entire AZ does not drop the service. A cell-based architecture retains that cross-AZ resilience inside each cell, but adds a second layer of containment for internal software bugs, poison pills, or systemic issues. As the speaker highlights: “The other examples of failure, the ones that we lose sleep at night over, the failure in the cell-based service, it's contained to the cell, so the impact is 1 over N, where N is the number of cells, rather than the whole service.” While diagrams frequently illustrate three cells for simplicity, real production systems scale to much higher values of N, driving the overall impact of a failure down to a tiny percentage of the total customer workload.
This technique is applied not only to regional services, but also to zonal services—most notably within the Amazon EC2 control plane: - Dividing zonal services into sub-cells preserves expected resilience during an AZ failure while providing additional blast-radius reduction. - Because physical AZs often consist of multiple distinct data centers, aligning zonal cells directly with the underlying physical data center infrastructure bounds hardware-correlated failures to an even smaller blast radius. - Internal software bugs within a single zone remain constrained to that specific zonal cell rather than impacting the zone in its entirety.
[24:21](https://www.youtube.com/watch?v=swQbA4zub20&t=1461s) System Properties, Scaling Limits, and Cell Sizing Trade-offs
Beyond catastrophic failure containment, cell-based architectures provide critical day-to-day operational benefits, such as workload isolation against noisy neighbors. A fundamental advantage lies in how these systems scale. Rather than relying on traditional vertical scaling or endlessly growing a massive monolithic cluster, AWS imposes strict architectural ceilings: “Cells, like our data centers, have a maximum size; we won't let them grow past a certain point, and so if we need to continue to grow a system, rather than growing the cells past that point, we'll add another cell.”
Capacitating cells to a fixed maximum ceiling fundamentally alters system predictability: - **Exhaustive Testing at Cap:** Because cells have an absolute upper bound on size, teams can deploy realistic test harnesses to stress-test cells to the breaking point, proving exactly how each unit behaves under peak load. - **Operational Manageability:** Inspecting logs, troubleshooting node degradations, and querying fleet states is substantially easier on a smaller subset of nodes than across an unbounded fleet spanning millions of resources. - **Scale-Out Growth:** System expansion is achieved through adding more standardized cells, not by running uncharted configurations at unprecedented scale.
Engineering a cell-based system involves balancing the trade-offs of cell sizing:
| Dimension | Large Number of Smaller Cells | Smaller Number of Larger Cells | |:--- |:--- |:--- | | **Blast Radius** | Minimized to a tiny fraction ($1/N$). | Larger impact per cell incident. | | **Testability** | Cheap and simple to reproduce and push to failure. | More resource-intensive to simulate full scale. | | **Fixed Cost Overhead** | Higher infrastructure costs (e.g., dedicated load balancers per cell). | Lower cost overhead through shared fixed resources. | | **Customer Placement** | High probability of splitting large enterprise workloads across cells. | Accommodates massive tenants cleanly in a single cell without splits. | | **Operational Surface** | Many endpoints and metrics to monitor across the fleet. | Simpler mental models and fewer operational dashboards. |
Despite these operational tensions, AWS maintains a clear guiding principle: “There's no right answer here, except that, all things being equal, we will always prefer the lower blast radius to these other considerations.”
[27:46](https://www.youtube.com/watch?v=swQbA4zub20&t=1666s) The Routing Layer, Partitioning Dimensions, and Cross-Cell Operations
Because the cell router sits in front of the entire cell fleet, it represents a single shared ingress point. If the router fails, the system immediately regresses to a regional outage. To prevent this, AWS treats the router with extreme discipline. Teams invest heavily in stress-testing and battle-hardening the component to survive extreme "Black Swan" events. The guiding design rule is radical simplicity: “When we talk to teams about adopting a cell-based architecture, we call this component the 'thinnest possible layer' to kind of reinforce it should be really simple.”
Determining how to partition traffic across cells requires evaluating how workloads flow. While partitioning by AWS account or customer ID is common, the EC2 control plane partitions cells based on physical data center infrastructure. In other architectures, VPC boundaries are selected—especially where cross-account VPC interactions exist. The overarching design advice is to always "cut with the grain":
```mermaid flowchart TD accTitle: Cutting With the Grain in System Partitioning accDescr: Visual analogy contrasting splitting wood along its natural grain versus splitting against it.
subgraph Good["Cut With the Grain (Natural Boundaries)"] Nat["Customer ID / VPC / AZ Hardware"] Nat --> Clean["Clean, uncoordinated routing<br/>Low shared state"] end
subgraph Bad["Cut Across the Grain (Unnatural Boundaries)"] Cross["Arbitrary cross-cutting state"] Cross --> Entangled["Frequent cross-cell dependencies<br/>Complex coordinated logic"] end ```
Inevitably, some workloads cannot be cleanly isolated and require cross-cell operations, which must be strictly minimized to protect the router's simplicity: - **Scatter-Gather Queries:** Read APIs that interrogate multiple cells simultaneously and consolidate replies, such as the Amazon EC2 `DescribeInstances` API. - **Batch Operations:** Mutation APIs that target resources residing across disparate cells in a single call, such as an EC2 `TerminateInstances` request with multiple instance IDs. - **Coordinated Writes & Cell Migration:** The most complex scenarios involve moving customer workloads from one cell to another to balance hot cells or backfill newly launched capacity.
To execute cell migrations safely, AWS mirrors the mechanics of live virtual machine migrations: 1. An invisible clone of the workload state is instantiated in the target cell. 2. The clone continuously syncs updates from the actively mutating source cell. 3. At the final moment, traffic to both is briefly frozen to capture the terminal synchronization delta. 4. An atomic routing flip shifts all traffic to the target cell, managed cleanly at the router layer.
While the catastrophic events that cause widespread outages are exceedingly rare, the investment in cell-based architectures ensures that when Black Swan scenarios do materialize, the blast radius is reliably constrained to $1/N$.
[32:56](https://www.youtube.com/watch?v=swQbA4zub20&t=1976s) Transition to Shuffle-Sharding
While cell-based architectures provide robust isolation for stateful systems, AWS employs an even more powerful technique for stateless or soft-state services: shuffle-sharding. Like cell architectures, it focuses on blast radius containment, but leverages combinatorial mathematics to dramatically minimize the impact of poisoned requests or noisy neighbors without requiring an overwhelming multiplication of physical infrastructure.
[33:20](https://www.youtube.com/watch?v=swQbA4zub20&t=2000s) From Monolithic Pools to Cell-Based Architecture
To ground the discussion of blast radius reduction, the speaker presents a hypothetical setup: eight backend nodes serving requests distributed by a load balancer across eight distinct customers. Playing into the Las Vegas setting of re:Invent, the customers are represented with gambling and card-suit icons. The danger begins when one customer—designated as the "diamond" customer—introduces a toxic workload. Whether it is an unusually expensive query or a "poison pill" request that triggers an edge-case software bug, the result is fatal: diamond sends a request, and a server crashes.
```mermaid flowchart LR accTitle: Blast Radius Comparison accDescr: Diagram comparing monolithic architecture against cell-based architecture when a toxic workload hits.
subgraph Shared["Monolithic Shared Fleet (100% Impact)"] direction TB C1["Customer Diamond (Toxic)"] --> LB1["Load Balancer"] LB1 --> N1["Node 1 (Crashes)"] LB1 --> N2["Nodes 2-8 (Cascade Failures)"] N2 -.->|"All Customers Impacted"| Imp1["100% Blast Radius"] end
subgraph Cells["Cell-Based Architecture (25% Impact)"] direction TB C2["Customer Diamond (Toxic)"] --> Cell1["Cell 1 (Nodes 1-2)"] Cell1 -.->|"Only Cell 1 Down"| Imp2["25% Blast Radius"] OtherC["Other Customers"] --> Cell2["Cells 2-4 (Nodes 3-8)"] Cell2 --> Healthy["Healthy & Isolated"] end ```
In a traditional shared pool, the remaining seven servers take on the load, but diamond does not stop. The customer retries, systematically knocking down node after node until the entire fleet collapses. In this shared environment, the blast radius is 100% of the customer base—the ultimate worst-case scenario. To prevent this complete outage, systems evolve into a cell-based architecture where capacity is divided into discrete, independent partitions. By assigning a specific subset of customers to each cell, diamond's toxic traffic is trapped strictly within its assigned boundary. If eight nodes are split into four cells of two nodes each, diamond can only take down its own cell, instantly shrinking the blast radius from 100% down to 25%—a fourfold improvement.
- Blast radius in a standard cell partition is calculated simply as: $\text{Blast Radius} = \frac{\text{Number of Customers}}{\text{Number of Cells}}$. - Increasing resilience in this model requires either adding more cells or migrating to a more advanced partitioning scheme.
---
[34:46](https://www.youtube.com/watch?v=swQbA4zub20&t=2086s) The Mathematics and Mechanics of Shuffle-Sharding
When a system does not require pinning specific customers to dedicated physical infrastructure, it can leverage shuffle-sharding. Instead of grouping users into static physical silos, shuffle-sharding assigns each customer to an overlapping virtual shard consisting of a small subset of nodes chosen pseudo-randomly using deterministic hash functions. In an eight-node cluster where each customer is assigned a unique pair of two nodes, diamond might be assigned to nodes 1 and 4, while other customers are scattered across other two-node pairs.
```mermaid flowchart TD accTitle: Shuffle-Sharding Node Overlap accDescr: Flowchart illustrating how eight nodes are shared via combinations so non-toxic customers survive node outages.
subgraph Cluster["8-Node Cluster"] N1["Node 1 (Down)"] N2["Node 2 (Up)"] N3["Node 3 (Up)"] N4["Node 4 (Down)"] N5["Node 5 (Up)"] N6["Node 6 (Up)"] N7["Node 7 (Up)"] N8["Node 8 (Up)"] end
D["Diamond (Assigned 1 & 4)"] -.->|Crashes Both| N1 D -.->|Crashes Both| N4
H["Hearts (Assigned 1 & 2)"] -->|Fails| N1 H -->|Succeeds via Retry| N2
C["Clubs (Assigned 4 & 5)"] -->|Fails| N4 C -->|Succeeds via Retry| N5 ```
When diamond crashes nodes 1 and 4, other tenants sharing those machines are not completely knocked offline. For instance, customer "hearts" might be mapped to nodes 1 and 2; while node 1 is dead, node 2 remains completely healthy. Provided the client is fault-tolerant and retries failed requests, hearts survives the outage. Across the eight-node fleet, the total number of two-node combinations is governed by the binomial coefficient:
$$\binom{8}{2} = \frac{8!}{2!(8 - 2)!} = 28\text{ unique combinations}$$
Because there are 28 distinct combinations, a toxic tenant taking down its two assigned nodes affects only $\frac{1}{28}$ of the virtual shards, reducing the catastrophic failure blast radius to just 3.6%. While roughly half the fleet might experience a transient hiccup from sharing a single degraded node, only identical combinations face total service loss.
When scaled up to production proportions, the combinatorial power becomes staggering: - Expanding the cluster from 8 nodes to 100 nodes and assigning each customer a virtual shard of 5 nodes yields: $$\binom{100}{5} = \frac{100!}{5!(95!)} \approx 75{,}287{,}520\text{ combinations}$$ - When a bad customer knocks out all 5 of its assigned nodes out of 100, 77% of all other customers share zero nodes with that bad actor and experience zero impact. - 99.8% of customers retain a healthy majority (at least 3 out of 5) of their nodes, meaning they can route around the failure seamlessly without customer-visible downtime. - Only an astronomically tiny fraction of users—those dealt the exact same five-card hand out of over 75 million combinations—suffer a complete outage.
As the speaker emphasizes: “What's magical about this and it's all in the math is we've created a multi-tenant system and then used the shuffle sharding to create a single basically a single tenant experience which is obviously what AWS aspires to do.”
Executing shuffle-sharding in practice requires strict structural rules: - **Fault-tolerant clients:** Clients must implement automatic retries with backoff so that when requests to an impacted node fail, they retry against their remaining healthy nodes. - **Fixed assignments without failover:** Node assignments must remain immutable; dynamic failover to alternative healthy nodes must never be permitted. As the speaker warns, allowing a poisoned workload to fail over to new nodes breaks isolation and allows cascades to infect the entire system. - **Resource versatility:** Shuffle-sharding applies beyond compute instances to worker queues, database partitions, and storage endpoints. - **Routing layer:** Traffic can be steered using an intelligent shuffle-sharding proxy or through customer-specific DNS hostnames that resolve directly to the client's assigned set of IPs, delivering routing at virtually zero operational cost.
---
[39:42](https://www.youtube.com/watch?v=swQbA4zub20&t=2382s) Operational Rigor: One-Zone Deployment Rules and Staggered Waves
Architectural boundaries mean nothing if operational mechanisms do not actively respect them. Layered on top of cell-based isolation and shuffle-sharding is a disciplined operational philosophy regarding deployments and changes. The speaker quotes Werner Vogels' writing on compartmentalization: “I'd wager that every new AWS engineer knows within their first week if not their first day that we never want to touch more than one zone at a time.” If teams mutate multiple Availability Zones simultaneously, the foundational promise of independent fault domains collapses under the weight of correlated, human-induced failure.
```mermaid flowchart TD accTitle: Staggered Software Deployment Pipeline accDescr: Sequence diagram illustrating AWS's progressive canary and staggered deployment methodology.
subgraph Stage1["Phase 1: Canary Verification"] OB["One-Box Test / 5-10 Hosts"] --> Syn["Synthetic Canaries & Integration Tests"] end
subgraph Stage2["Phase 2: Zonal Rollout"] Syn -->|"Pass (Soak Time)"| AZ1["Availability Zone 1"] AZ1 -->|"Bake Period & Alarms Normal"| AZ2["Availability Zone 2"] AZ2 -->|"Bake Period & Alarms Normal"| AZ3["Availability Zone 3"] end
subgraph Stage3["Phase 3: Broad Regional Rollout"] AZ3 --> Reg2["Next Region"] Reg2 --> RegN["Global Fleet"] end
subgraph Rollback["Automated Safety Interlock"] Alarms{"Alarm Breached?"} -.->|Yes| AutoRB["Automatic Instant Rollback"] end
AZ1 -.-> Alarms AZ2 -.-> Alarms Syn -.-> Alarms ```
To maintain these blast radius barriers, software deployments proceed in strictly gated, staggered waves: - **Fractional / One-Box Deployments:** Changes launch first to a single server (a "one-box" deployment) or, in the case of Amazon EC2 hardware fleet updates, across an initial batch of five to ten physical machines. - **Synthetic Canaries and Continuous Testing:** During rollouts, automated test suites and continuous Canaries—software harnesses running end-to-end user workflows that invoke actual public APIs—monitor system health. - **Automated Rollbacks:** If metric thresholds degrade or Canaries register anomalies, deployment pipelines halt immediately and roll back without manual intervention while engineers investigate. - **Staggered Blast Boundaries:** Releases move progressively through cells, across one Availability Zone at a time, and then across regions over extended bake periods, balancing delivery velocity with rigorous failure containment.
---
[42:35](https://www.youtube.com/watch?v=swQbA4zub20&t=2555s) Automation and the Builder-Operator Culture
The discipline applied to deployments extends across every layer of cloud infrastructure management. Manual configuration of network devices or out-of-band credential rotation introduces unpredictable human error. By encoding these operational changes in software automation, routines are subjected to code reviews, pre-production testing, and deterministic, repeatable execution.
This rigorous automation is sustained by Amazon's end-to-end ownership model. AWS eschews the traditional organizational split between product developers and external operations teams. Instead, service teams consist of engineers acting as "builder-operators": they design, write, test, deploy, and support their own services in production 24/7.
This creates an immediate operational feedback loop. When a failure occurs, the engineers who wrote the software are the ones responding to the alerts and conducting the post-incident analysis. They author the Correction of Errors (COE) documents, examining root causes and identifying architectural flaws. Because the engineers who run the post-mortems are the same ones who write the code, they are uniquely empowered to alter service topologies and ensure that the blast radius of any future recurrence is cut in half or eliminated entirely.
[44:31](https://www.youtube.com/watch?v=swQbA4zub20&t=2671s) Summary: Compartmentalization, Shuffle-Sharding, and Operational Practices
The speaker concludes the presentation by summarizing the tiered compartmentalization mechanisms AWS uses to contain failures and restrict blast radius. The containment model begins at the highest level with independent AWS regions and the strict isolation enforced between them. Inside each region, the architecture subdivides into Availability Zones, followed by cell-based architectures that slice services into self-contained operational units. On top of that physical partitioning lies shuffle-sharding, which leverages mathematical combinatorics to map customers across subsets of resources, generating virtual cells that isolate customer impacts from one another.
```mermaid flowchart TD accTitle: AWS Blast Radius Containment Hierarchy accDescr: Diagram showing the layered containment boundaries from regions down to shuffle-sharding, protected by operational practices. subgraph IsolationLayers["Compartmentalization Layers"] R["Regions (Strong Isolation)"] AZ["Availability Zones (Fault Isolation)"] CELL["Cells (Zonal & Regional Partitioning)"] SS["Shuffle-Sharding (Virtual Cells & Combinatorics)"] R --> AZ --> CELL --> SS end subgraph OperationalShield["Operational Protection"] Deploy["Automated Phased Deployments"] Ops["Builder-Operators On-Call"] end OperationalShield -.->|"Protects & Enforces"| IsolationLayers ```
To prevent failures from jumping across these boundaries, AWS reinforces this compartmentalization with rigorous operational disciplines. Systems rely on automated, progressive, multi-stage deployments rather than broad, simultaneous updates. Furthermore, service teams operate under a "builder-operator" model where the software engineers who write the code run it in production. Because they are directly on the frontlines, engineers clearly see how technical and architectural decisions impact live system availability. The speaker wraps up the formal presentation by emphasizing that all of these designs share a unified objective: “all with the goal of reducing blast radius.”
- **Layered Isolation Hierarchy:** Regions $\rightarrow$ Availability Zones $\rightarrow$ Cells $\rightarrow$ Shuffle-sharding (virtual cells). - **Phased Automation:** Production changes roll out step-by-step through automated pipelines to catch regressions before they reach broader infrastructure. - **Builder-Operator Model:** Developers manage their own operational footprint, keeping feedback loops tight between code authoring and runtime failure modes.
---
[46:01](https://www.youtube.com/watch?v=swQbA4zub20&t=2761s) Q&A: The 2008 S3 Bit Flip and Human Error at the CLI
Opening the floor to questions, an attendee asks whether AWS has encountered an extreme Murphy's Law scenario where the team believed every single failure mode was accounted for, only for an unexpected issue to strike. The speaker immediately points to a historic incident from 2008 in Amazon S3 involving a silent network bit flip. S3 was engineered from the beginning with an obsession over data integrity, instrumented with multiple layers of checksumming throughout the software stack to detect data corruption. However, an issue arose on a single network interface card (NIC) on one server that occasionally flipped a single bit in passing network packets.
```mermaid flowchart LR accTitle: 2008 S3 Bit Flip Failure Propagation accDescr: Flow diagram showing how a single bit flip in a server NIC bypassed missing checksums and destabilized Amazon S3. subgraph Origin["Fault Inception"] NIC["Flaky Server NIC"] -->|"Flips single bit"| Packet["Corrupted Packet"] end subgraph Protocol["Gossip Protocol Layer"] Packet -->|"Bypasses unchecked layer"| Gossip["Gossip State Protocol"] Gossip -->|"Unknown host detected"| Recon["Trigger Expensive Reconciliation"] end subgraph Impact["Service Degradation"] Recon --> Storm["Resource Exhaustion & Cascade"] Storm --> Outage["Full Regional S3 Outage"] end ```
The corrupted packet hit S3's internal group communication layer, which relied on a gossip protocol to track node health across the fleet. Because of the flipped bit, the gossip protocol parsed a corrupted server hostname that it had never encountered before. Assuming an untracked node had joined the cluster, the protocol initiated an expensive reconciliation routine to synchronize state. As that bad packet propagated, it triggered cascading reconciliations across the fleet that ultimately overwhelmed the service. Reflecting on the disproportionate blast radius of that bug, the speaker notes: “So one server, one NIC, one bit took down our regional service, and that was the only layer we had checksumming all the way up and down the stack—that was the only layer that didn't have the checksumming, someone we'd forgotten to add it there.”
An attendee follows up by asking about a more recent incident where human error impacted S3. The speaker acknowledges the event, explaining that it illustrates the ongoing challenge of operational discipline. Even when an engineer thoroughly understands AWS fault isolation philosophies, a manual typo or miscalculated input on the command line can break through architectural boundaries if safety checks do not catch it. The lesson reinforced the necessity of removing manual CLI interventions in favor of strict automation, input validation, and canary testing.
- **The 2008 S3 Gossip Protocol Outage:** Caused by a single faulty network card flipping one bit in a hostname packet, exposing the sole unchecksummed software layer in the system. - **The Cascade Mechanism:** The unrecognized hostname forced nodes into intensive cluster reconciliation loops, exhausting system resources across the region. - **Public Post-Mortem:** Details of the outage remain published on the AWS Service Health Dashboard history. - **CLI Human Error:** Demonstrates that human fallibility can bypass logical isolation boundaries, underscoring why automated, guarded deployment tooling is mandatory.
---
[48:49](https://www.youtube.com/watch?v=swQbA4zub20&t=2929s) Q&A: Customer Visibility of Cells and Data Center Affinities
An audience member asks whether the compartmentalization primitives described in the presentation—specifically regions, Availability Zones, cells, and shuffle-sharding—are exposed directly to customers as purchasable services or if they are built into the platform automatically. The speaker clarifies the divide between customer-facing primitives and internal architectural mechanics:
> “Regions are given to you, these are given to you; cells and shuffle-sharding are sort of different things in that they are they're like the watertight compartments inside the ship. So you could ask the the purser on the boat to give you a tour of the lower decks and maybe they'd show you the compartments, but otherwise you know you don't really care about that and you get them for free—it's just part of the safety of the ship.”
The attendee presses further, asking if an engineer building their own service can explicitly align a cell with a specific underlying data center facility within an Availability Zone. The speaker explains that AWS allows customers to establish strict zonal affinity for resources such as Amazon EC2 instances, AWS CloudHSM modules, and Amazon EBS volumes. However, an Availability Zone is not always a single building; an individual AZ may consist of one or multiple discrete data centers engineered with low-latency links. AWS intentionally abstracts those specific physical data center facilities away from the customer API. While customers have full control over placing workloads into specific Availability Zones, they cannot target individual physical data center buildings within an AZ.
- **Customer-Controlled Boundaries:** Regions and Availability Zones can be targeted directly in AWS APIs. - **Underlying Topologies:** An Availability Zone comprises one or more discrete physical data centers, but physical building-level placement within that AZ is deliberately hidden from customers. - **Internal Safety Constructs:** Cells and shuffle-sharding function largely as invisible, built-in infrastructural safeguards for managed services.
---
[50:46](https://www.youtube.com/watch?v=swQbA4zub20&t=3046s) Q&A: Managing Version Skew Across Multi-Week Phased Rollouts
Another attendee asks about the operational realities of deployment pipelines as architectures transition from broad regional models down to fine-grained cell-based deployments. Specifically, the attendee asks how AWS tracks version management and operational insight during rollout windows when different cells or shards are running different versions of software. The speaker confirms that rolling out updates across a large fleet introduces prolonged periods of version skew:
> “That's definitely consideration, and a deployment may take, depending on the system, it may take several days to several weeks. In some operating structure, we're particularly careful about the pace of deployment. In fact, in some of the networking components for VPC, it's a particularly delicate affair to roll out changes, and it might take a while.”
Because a change might take days or even weeks to clear all staging environments, one-box canaries, individual cells, and regions, teams must treat version skew as an active design constraint. Systems must be engineered to support backward and forward wire compatibility so that nodes running newer revisions can communicate seamlessly with nodes running older builds without corrupting data or triggering protocol mismatches.
- **Deployment Velocity vs. Safety:** Rollouts span several days to multiple weeks depending on the criticality and risk of the service. - **VPC Networking Sensitivity:** Changes to underlying VPC virtual networking components are handled with exceptional caution and extended soak times. - **Operational Complexity:** Operators must monitor divergent software versions coexisting across cells and maintain strict API and wire-format backward compatibility.
---
[51:51](https://www.youtube.com/watch?v=swQbA4zub20&t=3111s) Q&A: Global Services and IAM Data Plane Independence
An attendee asks about the resilience architecture of global AWS services, specifically how control planes, data planes, and edge nodes are organized to maintain regional availability during broader failures. Using AWS Identity and Access Management (IAM) as the primary example, the attendee asks how a globally defined service avoids becoming a single point of failure.
The speaker explains that IAM is treated as a specialized architecture. IAM account credentials, policies, and configuration metadata are managed globally, meaning its control plane—where customers create users or update permissions—is centralized. However, AWS strictly decouples the control plane from the runtime data plane:
```mermaid flowchart TD accTitle: Decoupled IAM Control Plane and Regional Data Planes accDescr: Architecture diagram showing the global IAM control plane replicating asynchronously to isolated regional data planes that operate independently. subgraph GlobalControl["Global Scope"] CP["IAM Global Control Plane (Write / Admin)"] end subgraph Region1["AWS Region A"] DP1["Local IAM Data Plane Cache (Read / Auth)"] Workload1["Regional Services (EC2, S3, etc.)"] DP1 --> Workload1 end subgraph Region2["AWS Region B"] DP2["Local IAM Data Plane Cache (Read / Auth)"] Workload2["Regional Services (EC2, S3, etc.)"] DP2 --> Workload2 end CP -.->|"Asynchronous Metadata Sync"| DP1 CP -.->|"Asynchronous Metadata Sync"| DP2 ```
Every individual AWS region hosts its own independent IAM data plane containing a local cache of identity and credential information. When workloads authenticate requests or validate credentials within an AWS region, the regional services query their local data plane replica. As the speaker highlights regarding this core architectural rule:
> “There is another philosophy that we have, which is the separation between control plane and data plane, and ensuring that the data plane can continue to function even if there is a control plane issue.”
Even if an inter-region network disruption completely isolates a region from the global IAM control plane, or if the centralized source of truth experiences an outage, workloads in that disconnected region continue validating credentials without interruption.
- **Decoupled Architecture:** The global IAM control plane handles administrative state and updates, while isolated regional data planes evaluate authentication and authorization checks. - **Static Stability During Partitions:** If the global control plane goes down or connectivity drops, each regional data plane continues operating independently using its local state. - **Blast Radius Prevention:** Outages affecting IAM administration cannot propagate to disrupt runtime request authentication within individual regions.
---
[53:48](https://www.youtube.com/watch?v=swQbA4zub20&t=3228s) Q&A: Balancing State in Cells vs. Stateless Shuffle-Sharding
The final audience question explores the relationship between cell-based architectures and shuffle-sharding. The attendee asks whether shuffle-sharding is implemented at the same routing and control layers that establish cell boundaries, noting that shuffle-sharding might conflict with cell designs that partition workloads along specific service characteristics.
The speaker clarifies that the main distinction lies in state management. Traditional cell architectures are often adopted specifically because a service holds state that cannot easily be scattered across arbitrary instances; requests must route to the specific cell holding that customer's data. Conversely, shuffle-sharding delivers its greatest benefits in stateless systems or services that use "soft state" (where instances can pull down and locally cache data on demand):
> “So I guess maybe another way to answer that is shuffle-sharding is not an improvement on cell-based in all cases. It's really a system-specific on when you might be able to apply it.”
The speaker shares an advanced pattern AWS is actively implementing: combining both techniques into a hybrid design. By taking a cell-based architecture and applying shuffle-sharding *within* or across those cells, stateless request layers can route traffic across overlapping sub-clusters. The speaker notes that the team is actively implementing this combined approach within Amazon DynamoDB to deliver an even higher tier of fault tolerance.
Wrapping up the session, the speaker thanks the attendees, expresses hope that the session provided actionable insights, and wishes the audience an enjoyable week at re:Invent as the audience applauds.
- **Statefulness Constraints:** Services with hard state constraints rely on deterministic cell routing, whereas stateless services or soft-state caching layers are ideal candidates for shuffle-sharding. - **Context-Specific Application:** Shuffle-sharding is not an outright replacement for cell architectures, but a complementary pattern chosen based on system requirements. - **Hybrid Architectures in Practice:** AWS is layering shuffle-sharding over cell-based topologies in critical engines like DynamoDB to maximize both horizontal scalability and fault containment.
## Notable quotes > [39:42](https://www.youtube.com/watch?v=swQbA4zub20&t=2382s) I'd wager that every new AWS engineer knows within their first week if not their first day that we never want to touch more than one zone at a time. — Werner Vogels
> [24:21](https://www.youtube.com/watch?v=swQbA4zub20&t=1461s) Cells, like our data centers, have a maximum size; we won't let them grow past a certain point, and so if we need to continue to grow a system, rather than growing the cells past that point, we'll add another cell. — Peter Vosshall
## Mentioned Peter Vosshall, Werner Vogels, Eric Brewer, Seth Gilbert, Nancy Lynch, NASA Jet Propulsion Laboratory (JPL), Amazon Web Services (AWS), Amazon.com, Amazon EC2, Amazon S3, Amazon DynamoDB, Amazon RDS, Amazon EBS, Amazon SQS, Amazon SageMaker, AWS Identity and Access Management (IAM), AWS CloudHSM, Amazon Virtual Private Cloud (VPC), Elastic Load Balancing (ELB), CAP Theorem, Murphy's Law
## Video description At AWS, we obsess over operational excellence. We have a deep understanding of system availability, informed by over a decade of experience operating the cloud and our roots of operating Amazon.com for nearly a quarter-century. One thing we've learned is that failures come in many forms, some expected, and some unexpected. It's vital to build from the ground up and embrace failure. A core consideration is how to minimize the "blast radius" of any failures. In this talk, we discuss a range of blast radius reduction design techniques that we employ, including cell-based architecture, shuffle-sharding, availability zone independence, and region isolation. We also discuss how blast radius reduction infuses our operational practices.
[Source](https://www.youtube.com/watch?v=swQbA4zub20)