It is always looking forward to the moment when perhaps the most interesting keynote at AWS re:Invent takes place: that of Werner Vogels, CTO of Amazon. During the 2024 edition, he took the stage wearing a Linkin Park T-shirt.
During his keynote, Vogels dwelt on a common problem within technology: how do you manage the growing complexity of systems and maintain usability for the end user? The topic of his keynote was “Simplexity,” as he described it.
Difficult simplicity
“Simplicity is not simple,” Dr. Vogels argued. While services like Amazon S3 and DynamoDB deliver on the promise of simplicity for users, under the hood these systems have grown into highly complex ecosystems. Vogels calls this phenomenon “Simplexity”: building complex systems that remain uncluttered despite their complexity.
He illustrates this with an example: Amazon’s S3, launched in 2006, began as a fairly simple storage service. Today, S3 processes billions of requests per day, has strong consistency and uses microservices architectures that work together seamlessly. The bottom line? Complexity is inevitable, but it must be purposeful.
Vogels he refers to “Tethers Law,” the idea that complexity cannot be avoided, but it can be moved. At AWS, this law is applied by concentrating complexity where it is most valuable, such as in S3’s back-end to ensure strong consistency. This eases the burden on customers and prevents them from having to deal with this complexity themselves.
Evolvability is number one
“Make evolvability a requirement from day one,” Vogels emphasizes. When designing software, organizations must consider scalability and changing requirements. Vogels defines evolvability as “the ability of a system to easily support future changes.”
One example is the move from monolithic architectures to microservices. In the early years of AWS, applications consisted of large, integrated systems. Today, thousands of microservices operate independently of each other, accelerating innovation. “Any change of size in scale requires an overhaul of your architecture,” Vogels said.
read also
Re:Invent 2024: AWS focuses entirely on AI
Two pizzas and cell architectures
One of the most iconic innovations at Amazon is the “Two Pizza Rule”: teams must be small enough to be fed just two pizzas. This concept has led to autonomous teams that can innovate quickly without depending on other teams or superiors.
The second iconic innovation at AWS is cellular architectures, where systems are divided into independent cells. This limits the impact of failures to a single cell, making the system as a whole more resilient to such failures. Customer cases such as Route 53 and CloudFront demonstrate how AWS assigns customer requests to cells via smart algorithms.
Lessons for the future
Dr. Vogels concludes with six key lessons for keeping systems simple:
- Build systems that can evolve. To stand still is to regress.
- Break down complexity into smaller building blocks. Small manageable components make managing easy.
- Tune systems to the needs of the business. Use principles such as the KISS rule (“Keep It Simple, Stupid”) to do so.
- Organize work into cells. Cell-based architectures help isolate failures.
- Anticipate unintended complexity. Keep systems predictable, flexible and understandable. This reduces the margin of error.
- Automate. Automation should be the standard, at least in cases that do not require great human power.