> Markdown version of [/videos/1389-building-systems-that-last](https://www.wearedevelopers.com/videos/1389-building-systems-that-last). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # Building Systems that Last Amazon S3 scaled to 300 microservices with zero downtime. Building evolvable systems requires cell-based architecture. Discover how to leverage efficient languages like Rust to survive extreme cloud scale. - **Speakers:** [Werner Vogels](https://www.wearedevelopers.com/@werner-vogels) - **Event:** World Congress 2025 - **Published:** August 20, 2025 - **Duration:** 34:36 - **URL:** https://www.wearedevelopers.com/videos/1389-building-systems-that-last ## Summary Amazon's three-decade architectural evolution began with a stateless monolith known as Obidos, which relied on unscalable commercial relational databases. As user volume grew, reliance on centralized database administrators created severe bottlenecks, causing developer productivity to plummet. To escape this trap and survive the internet's scale, the company authored the Distributed Computing Manifesto, pioneering a shift toward service-oriented architectures. After discovering that data-driven decomposition created unmanageable distributed monoliths, engineering teams transitioned to functional decomposition based on scaling and security boundaries. This paved the way for modern microservices and internal infrastructure as a service (IaaS) tooling, allowing engineers to provision capacity programmatically rather than manually. Building systems that last requires prioritizing evolvability—architecting software to easily accommodate continuous structural changes without incurring downtime. This is exemplified by Amazon S3, which seamlessly scaled from eight to over 300 microservices without ever taking the platform offline. To safeguard reliability at this scale, deploying a cell-based architecture isolates application traffic into self-contained units. By applying mathematical sharding to route overlapping customer traffic combinations across these cells, engineering organizations can drastically limit the blast radius of localized code failures and prevent systemic outages. Modern cloud-scale engineering must also treat cost and sustainability as upfront, non-functional requirements. Applying principles from the Frugal Architect, providing developers with constant, pervasive visibility into the financial metrics of their development environments naturally incentivizes cost-conscious behavior. Furthermore, language choice directly impacts both the pocketbook and the planet. Migrating critical components to the Rust programming language offers up to a 75x improvement in energy efficiency over interpreted languages like Python or Ruby, while its strict compiler guarantees the memory safety necessary to secure long-lived enterprise applications. **Keywords:** software architecture evolution, monolithic to microservices transition, service-oriented architecture design, functional vs data-driven decomposition, infrastructure as a service platforms, database scaling bottlenecks, evolvability in software systems, cell-based architecture routing, mathematical system sharding, failure blast radius reduction, frugal cloud architecture, non-functional cost requirements, software carbon footprint sustainability, rust programming language efficiency, memory-safe compiler security, autonomous engineering teams, cloud infrastructure cost visibility ## Chapters 1. **Pioneering web architectures before e-commerce platforms existed** (00:05) — Lacking pre-packaged e-commerce solutions, developers invented massively scalable infrastructure patterns previously unseen on the web. 1. **Overcoming scaling bottlenecks caused by commercial database limitations** (02:58) — Growing architectural scale against traditional relational databases caused persistent site failures and stalled developer iteration. 1. **Inventing service orientation to restore evolutionary delivery speed** (09:34) — Breaking down monolithic database dependencies into service-oriented APIs enables autonomous iteration without bottlenecking concurrent teams. 1. **Transitioning from data-driven decomposition to functional microservices** (11:02) — Correcting data-driven decomposition mistakes by building functional microservices isolates differing security, access, and scaling requirements. 1. **Abstracting capacity management with internal infrastructure services** (13:07) — Migrating common database and capacity workflows into infrastructure services eliminates redundant toil blocking developer productivity. 1. **Designing system architectures for long-term platform evolvability** (15:28) — Establishing evolvability as a day-one objective through high modular cohesion ensures codebases survive unknown future demands. 1. **Evolving storage infrastructure continuously without operational downtime** (18:07) — Decoupling storage operations into distinct microservices permits continuous backend upgrades without imposing downtime on connected customers. 1. **Limiting issue blast radius using cell-based system architecture** (20:56) — Routing individual workloads into isolated architectural cells substantially limits the blast radius of cascading technical disruptions. 1. **Reducing failure impact using advanced mathematical request sharding** (23:53) — Distributing customer traffic across overlapping system nodes mathematically shrinks the percentage of users impacted by localized outages. 1. **Treating cost and sustainability as foundational architectural constraints** (28:09) — Treating financial and energetic footprints as primary constraints drives architectural frugality and the adoption of memory-safe efficiency. ## Related Moments - [Architecting the platform with modern cloud and mobile technologies](https://www.wearedevelopers.com/videos/64-shared-mobility-for-everyone) (from "Shared mobility for everyone!") - [Building engineering cultures that support long-term software architecture](https://www.wearedevelopers.com/videos/1998-from-code-to-culture-why-leadership-determines-software-quality) (from "From Code to Culture: Why Leadership Determines Software Quality") - [How the inevitable march of time breaks software patterns](https://www.wearedevelopers.com/videos/647-defeat-that-legacy-monster-guerilla-refactoring-with-web-standards) (from "Defeat that legacy monster! Guerilla refactoring with web standards") - [Common pitfalls in scaling modern data systems](https://www.wearedevelopers.com/videos/100203-from-messy-queries-to-scalable-systems-how-data-engineering-actually-works) (from "From Messy Queries to Scalable Systems - How Data Engineering actually works") - [Architecting for structural flexibility across all system layers](https://www.wearedevelopers.com/videos/1003-the-lifehacker-s-guide-to-software-architecture) (from "The Lifehacker's Guide to Software Architecture") - [Optimizing software architectures to minimize infrastructure resource drain](https://www.wearedevelopers.com/videos/988-times-of-climate-crisis-how-and-why-sustainable-software-is-a-must) (from "Times of (climate) crisis - How and why sustainable software is a must!") ## Related Articles - [How to Avoid Over-Engineering](https://www.wearedevelopers.com/magazine/546-how-to-avoid-over-engineering) - [Now is the time for industrialized software development](https://www.wearedevelopers.com/magazine/601-now-is-the-time-for-industrialized-software-development) - [Why Event-Driven Architecture Isn’t About Speed (and When You Actually Need It)](https://www.wearedevelopers.com/magazine/745-why-event-driven-architecture-isn-t-about-speed-and-when-you-actually-need-it) - [What is Software Engineering in the Age of AI?](https://www.wearedevelopers.com/magazine/640-what-is-software-engineering-in-the-age-of-ai) ## Related Jobs - [Cloud Foundations Team](https://www.wearedevelopers.com/jobs/ext/1483289-cloud-foundations-team) at **GitHub** - [Principal Software Engineer, Enterprise AI Platform](https://www.wearedevelopers.com/jobs/ext/1467292-principal-software-engineer-enterprise-ai-platform) at **GitHub** - [Principal Software Engineer, Database Infrastructure](https://www.wearedevelopers.com/jobs/ext/1465908-principal-software-engineer-database-infrastructure) at **GitHub** - [Senior Software Engineer, Enterprise Products](https://www.wearedevelopers.com/jobs/ext/1841248-senior-software-engineer-enterprise-products) at **GitHub** - [Staff Software Engineer](https://www.wearedevelopers.com/jobs/ext/1425755-staff-software-engineer) at **GitHub** - [Senior Software Engineer, Client Apps Platform](https://www.wearedevelopers.com/jobs/ext/1773893-senior-software-engineer-client-apps-platform) at **GitHub**