We begin Part VII: Reference Architectures and Expert Patterns, where we make the leap from "knowing how to use services" to "designing well-built systems." And we start with the framework that AWS offers precisely for that: the Well-Architected Framework. It is a set of best practices distilled from thousands of real-world architectures, organized into six pillars. In this subsection, we see what those six pillars are: the six dimensions you must balance to build a good system in the cloud.

The Problem: What is a "Good" Architecture?

You already know many AWS services. But knowing what pieces exist is not the same as knowing how to combine them well. How do you know if your design is "good"? Is it secure? Will it withstand failures? Is it cost-efficient? Without a frame of reference, it's easy to forget important dimensions and build something that works... until it fails, becomes extremely expensive, or turns out to be insecure.

AWS gathered the experience of reviewing thousands of customer architectures and condensed it into the Well-Architected Framework: a guide of best practices so anyone can evaluate and improve their designs.

What is the Well-Architected Framework

The Well-Architected Framework is a set of AWS principles and best practices for designing well-built systems in the cloud. It is not a tool or a service: it is a framework for thinking, organized into six pillars, that cover all the dimensions that matter in a good architecture.

   The 6 pillars of the Well-Architected Framework:
   1. ๐Ÿ† Operational Excellence
   2. ๐Ÿ”’ Security
   3. ๐Ÿ›ก๏ธ Reliability
   4. โšก Performance Efficiency
   5. ๐Ÿ’ฐ Cost Optimization
   6. ๐ŸŒฑ Sustainability

Analogy: the Well-Architected Framework is like the building codes for a building that a good architect must respect. It's not enough for the building to "stand up": it must be safe (won't collapse), habitable (works well for living), efficient (doesn't waste energy), solid (withstands earthquakes), etc. The six pillars are those quality dimensions that every good "digital building" must meet. You recognize that many of these topics have already been covered in the book; the framework organizes them into a coherent whole.

Pillar 1: Operational Excellence

It's about operating and improving the system effectively: automating tasks, monitoring everything, responding well to incidents, and learning from mistakes to continuously improve.

  • Key question: "Are we operating our system efficiently and constantly improving?"
  • Relation to the book: infrastructure as code (Part II), CI/CD (Chapter 22), and observability (Chapter 24) are the foundation of this pillar.

Pillar 2: Security

It's about protecting data, systems, and access: controlling who can do what, encrypting information, detecting threats, and complying with regulations.

  • Key question: "Are our data and systems protected against unauthorized access and attacks?"
  • Relation to the book: IAM (Chapter 7), networks (Chapter 6), and all defense-in-depth security (Chapter 23).

Pillar 3: Reliability

It's about ensuring the system works correctly and recovers from failures: withstanding outages, scaling to meet demand, and recovering from disasters.

  • Key question: "Does our system keep working when something fails?"
  • Relation to the book: load balancing and autoscaling (Chapter 13), high availability and disaster recovery (Chapter 26).

Pillar 4: Performance Efficiency

It's about using resources efficiently to meet requirements: choosing the right services and sizes, and adapting as needs change.

  • Key question: "Are we using the right resources and do they perform well as needs evolve?"
  • Relation to the book: choosing the right compute (Lambda, containers, EC2), rightsizing (Chapter 25), caches and CDN (Chapter 16).

Pillar 5: Cost Optimization

It's about getting the most value at the lowest cost: avoiding unnecessary spending, sizing correctly, and taking advantage of favorable pricing models.

  • Key question: "Are we getting the most value for what we spend?"
  • Relation to the book: all of Chapter 25 (Cost Explorer, rightsizing, Savings Plans, FinOps).

Pillar 6: Sustainability

The most recent. It's about minimizing the environmental impact of your infrastructure: using resources efficiently to reduce energy consumption and carbon footprint.

  • Key question: "Is our system efficient and environmentally friendly?"
  • Relation to the book: using resources efficiently (serverless, rightsizing, turning off what is not used) also reduces environmental impact. Efficiency and sustainability go hand in hand.

The Key Idea: Balance Between Pillars

The most important thing: the six pillars must be balanced, because sometimes they compete with each other. Improving one can affect another, and the art of good architecture lies in finding the right balance for your case:

Examples of tensions between pillars:
   More reliability (duplicate everything)    ↔  higher cost
   More security (extra controls)             ↔  less performance or agility?
   More performance (powerful resources)      ↔  higher cost and more consumption

There is no "perfect" architecture in the abstract: there is the right one for your needs and priorities. A startup may prioritize cost and agility; a bank will prioritize security and reliability over cost. The framework does not tell you what to prioritize, but forces you to think about the six dimensions and consciously decide the balance.

Real-world example: a team is going to design a new application. Instead of jumping in to set up services, they review the six pillars as a checklist: how will we operate and monitor it (operational excellence)?, how do we protect the data (security)?, what happens if a region goes down (reliability)?, what compute is most efficient (performance)?, how do we avoid overspending (cost)?, can we use efficient resources (sustainability)? This simple review makes them discover gaps they would have overlooked, such as not having a disaster recovery plan. Thinking about the six pillars before building saves them serious problems later.

What You Should Remember

  • The Well-Architected Framework is a set of AWS best practices (distilled from thousands of real-world architectures) for designing well-built systems, organized into six pillars. It is a framework for thinking, not a tool.
  • The six pillars: Operational Excellence (operate and improve), Security (protect), Reliability (withstand failures), Performance Efficiency (right resources), Cost Optimization (maximum value), and Sustainability (environmental impact).
  • Each pillar connects with topics already covered in the book; the framework organizes them into a coherent whole. They are like the building codes of a good building.
  • The essential thing is to balance the pillars, because sometimes they compete (more reliability โ†” higher cost, etc.). There is no "perfect" architecture, only the one suited to your priorities.
  • The framework forces you to think about the six dimensions consciously, helping you discover gaps before building.

In the next subsection, we will look at the tool AWS offers to systematically evaluate your architectures against these pillars: the Well-Architected Tool.

Cloud, AWS & Terraform โ€” From Zero to Expert

Chapter 1 ยท What is cloud computing

Chapter 2 ยท The cloud market and major providers

Chapter 3 ยท Regions, availability zones and edge

Chapter 4 ยท Compute: EC2

Chapter 5 ยท Storage: S3

Chapter 6 ยท Networking: VPC

Chapter 7 ยท Identity and access: IAM

Chapter 8 ยท Managed databases

Chapter 9 ยท Why Infrastructure as Code

Chapter 10 ยท HCL: the Terraform language

Chapter 11 ยท Providers and state

Chapter 12 ยท Your first real infrastructure in Terraform

Chapter 13 ยท Load balancing and auto scaling

Chapter 14 ยท Serverless with Lambda

Chapter 15 ยท Messaging and events

Chapter 16 ยท Content delivery and DNS

Chapter 17 ยท Containers on AWS

Chapter 18 ยท Modules: reuse and composition

Chapter 19 ยท Workspaces and environment management

Chapter 20 ยท Remote backends and locking

Chapter 21 ยท Infrastructure testing

Chapter 22 ยท Terraform in CI/CD

Chapter 23 ยท Defense in depth

Chapter 24 ยท Observability: logs, metrics and traces

Chapter 25 ยท Cost optimization

Chapter 26 ยท High availability and disaster recovery

Chapter 27 ยท AWS Well-Architected Framework

Chapter 28 ยท Serverless architectures at scale

Chapter 29 ยท Data platforms on AWS

Chapter 30 ยท Multi-account and landing zones

Chapter 31 ยท Platform Engineering and Internal Developer Platform

Chapter 32 ยท Relevant AWS certifications

Chapter 33 ยท Projects to consolidate what you've learned

Chapter 34 ยท Resources and community

© Copyright 2024. All rights reserved