Comencem la Part VII: Arquitectures de referència i patrons experts, on fem el salt de «saber utilitzar serveis» a «dissenyar sistemes ben construïts». I comencem pel marc que AWS ofereix precisament per a això: el Well-Architected Framework (Marc de Bona Arquitectura). És un conjunt de bones pràctiques destil·lades de milers d’arquitectures reals, organitzades en sis pilars. En aquest subcapítol veiem què són aquests sis pilars: les sis dimensions que has d’equilibrar per construir un bon sistema al núvol.
El problema: què és una «bona» arquitectura?
Ja coneixes molts serveis d’AWS. Però saber quines peces existeixen no és el mateix que saber combinar-les bé. Com saps si el teu disseny és «bo»? És segur? Aguantarà fallades? És eficient en cost? Sense un marc de referència, és fàcil oblidar dimensions importants i construir quelcom que funciona... fins que falla, o es torna caríssim, o resulta insegur.
AWS va recopilar l’experiència de revisar milers d’arquitectures de clients i la va condensar en el Well-Architected Framework: una guia de bones pràctiques perquè qualsevol pugui avaluar i millorar els seus dissenys.
Què és el Well-Architected Framework
El Well-Architected Framework és un conjunt de principis i bones pràctiques d’AWS per dissenyar sistemes ben construïts al núvol. No és una eina ni un servei: és un marc de pensament, organitzat en sis pilars, que cobreixen totes les dimensions que importen en una bona arquitectura.
Els 6 pilars del Well-Architected Framework: 1. 🏆 Excel·lència operativa 2. 🔒 Seguretat 3. 🛡️ Fiabilitat 4. ⚡ Eficiència del rendiment 5. 💰 Optimització de costos 6. 🌱 Sostenibilitat
Analogia: el Well-Architected Framework és com les normes de construcció d’un edifici que un bon arquitecte ha de respectar. No n’hi ha prou que l’edifici «es mantingui dret»: ha de ser segur (no s’ensorra), habitable (funciona bé per viure-hi), eficient (no malgasta energia), sòlid (aguanta terratrèmols), etc. Els sis pilars són aquestes dimensions de qualitat que tot bon «edifici digital» ha de complir. Reconeixes que molts d’aquests temes ja els hem tractat al llibre; el framework els organitza en un tot coherent.
Pilar 1: Excel·lència operativa
Tracta de operar i millorar el sistema de manera eficaç: automatitzar tasques, monitoritzar-ho tot, respondre bé a incidents i aprendre dels errors per millorar contínuament.
- Pregunta clau: «Operem el nostre sistema de manera eficient i millorem constantment?»
- Relació amb el llibre: la infraestructura com a codi (Part II), CI/CD (Capítol 22) i l’observabilitat (Capítol 24) són la base d’aquest pilar.
Pilar 2: Seguretat
Tracta de protegir les dades, els sistemes i els accessos: controlar qui pot fer què, xifrar la informació, detectar amenaces i complir les normatives.
- Pregunta clau: «Estan protegides les nostres dades i sistemes davant accessos indeguts i atacs?»
- Relació amb el llibre: IAM (Capítol 7), xarxes (Capítol 6) i tota la seguretat en profunditat (Capítol 23).
Pilar 3: Fiabilitat
Tracta que el sistema funcioni correctament i es recuperi de les fallades: suportar caigudes, escalar davant la demanda i recuperar-se de desastres.
- Pregunta clau: «Segueix funcionant el nostre sistema quan alguna cosa falla?»
- Relació amb el llibre: balanceig i autoescalat (Capítol 13), alta disponibilitat i disaster recovery (Capítol 26).
Pilar 4: Eficiència del rendiment
Tracta de utilitzar els recursos de manera eficient per complir els requisits: triar els serveis i mides adequats, i adaptar-se a mesura que canvien les necessitats.
- Pregunta clau: «Utilitzem els recursos adequats i rendeixen bé segons evolucionen les necessitats?»
- Relació amb el llibre: triar el còmput adequat (Lambda, contenidors, EC2), rightsizing (Capítol 25), memòries cau i CDN (Capítol 16).
Pilar 5: Optimització de costos
Tracta d’obtenir el màxim valor al menor cost: evitar la despesa innecessària, dimensionar bé i aprofitar els models de preu avantatjosos.
- Pregunta clau: «Estem obtenint el màxim valor pel que gastem?»
- Relació amb el llibre: tot el Capítol 25 (Cost Explorer, rightsizing, Savings Plans, FinOps).
Pilar 6: Sostenibilitat
El més recent. Tracta de minimitzar l’impacte mediambiental de la teva infraestructura: utilitzar els recursos de manera eficient per reduir el consum d’energia i la petjada de carboni.
- Pregunta clau: «És el nostre sistema eficient i respectuós amb el medi ambient?»
- Relació amb el llibre: utilitzar recursos eficientment (serverless, rightsizing, apagar el que no s’utilitza) també redueix l’impacte ambiental. Eficiència i sostenibilitat van de la mà.
La idea clau: equilibri entre pilars
El més important: els sis pilars cal equilibrar-los, perquè a vegades competeixen entre si. Millorar-ne un pot afectar-ne un altre, i l’art de la bona arquitectura està a trobar l’equilibri adequat per al teu cas:
Exemples de tensions entre pilars: Més fiabilitat (duplicar-ho tot) ↔ més cost Més seguretat (controls extra) ↔ menys rendiment o agilitat? Més rendiment (recursos potents) ↔ més cost i més consum
No existeix una arquitectura «perfecta» en abstracte: existeix la adequada per a les teves necessitats i prioritats. Una startup potser prioritzi cost i agilitat; un banc prioritzarà seguretat i fiabilitat per sobre del cost. El framework no et diu què prioritzar, sinó que et fa pensar en les sis dimensions i a decidir conscientment l’equilibri.
Exemple del món real: un equip ha de dissenyar una nova aplicació. En lloc de llançar-se a muntar serveis, repassen els sis pilars com una llista de comprovació: com l’operarem i monitoritzarem (excel·lència operativa)?, com protegim les dades (seguretat)?, què passa si una regió cau (fiabilitat)?, quin còmput és el més eficient (rendiment)?, com evitem gastar de més (cost)?, podem utilitzar recursos eficients (sostenibilitat)? Aquest simple repàs els fa descobrir buits que haurien passat per alt, com que no tenien pla de recuperació davant desastres. Pensar en els sis pilars abans de construir els estalvia problemes greus després.
El que has de recordar
- El Well-Architected Framework és un conjunt de bones pràctiques d’AWS (destil·lades de milers d’arquitectures reals) per dissenyar sistemes ben construïts, organitzat en sis pilars. És un marc de pensament, no una eina.
- Els sis pilars: Excel·lència operativa (operar i millorar), Seguretat (protegir), Fiabilitat (resistir fallades), Eficiència del rendiment (recursos adequats), Optimització de costos (màxim valor) i Sostenibilitat (impacte ambiental).
- Cada pilar connecta amb temes ja vistos al llibre; el framework els organitza en un tot coherent. Són com les normes de construcció d’un bon edifici.
- L’essencial és equilibrar els pilars, perquè a vegades competeixen (més fiabilitat ↔ més cost, etc.). No hi ha arquitectura «perfecta», sinó la adequada a les teves prioritats.
- El framework et fa pensar en les sis dimensions conscientment, ajudant-te a descobrir buits abans de construir.
En el següent subcapítol veurem l’eina que AWS ofereix per avaluar les teves arquitectures contra aquests pilars de manera sistemàtica: la Well-Architected Tool.
Cloud, AWS & Terraform — De zero a expert
Capítol 1 · Què és el cloud computing
- 1.1 El model client-servidor tradicional
- 1.2 Problemes que venia a resoldre el núvol
- 1.3 On-premise vs cloud vs híbrid
- 1.4 Els tres models de servei: IaaS, PaaS, SaaS
- 1.5 Els cinc pilars del cloud (segons NIST)
- 1.6 Avantatges reals: elasticitat, pagament per ús, disponibilitat global
Capítol 2 · El mercat cloud i els grans proveïdors
- 2.1 AWS, Azure i GCP: diferències i quotes de mercat
- 2.2 Per què aprendre AWS primer
- 2.3 Conceptes que són universals entre proveïdors
Capítol 3 · Regions, zones de disponibilitat i edge
- 3.1 Què és una regió AWS i com triar-la
- 3.2 Availability Zones: alta disponibilitat des del disseny
- 3.3 Edge locations i CloudFront
- 3.4 Latència, resiliència i sobirania de dades
Capítol 4 · Càlcul: EC2
- 4.1 Instàncies: tipus, famílies i quan triar cadascuna
- 4.2 AMIs, key pairs i Security Groups
- 4.3 Cicle de vida d'una instància
- 4.4 Elastic IPs i Placement Groups
- 4.5 Savings Plans vs Reserved vs On-Demand vs Spot
Capítol 5 · Emmagatzematge: S3
- 5.1 Buckets, objectes i claus
- 5.2 Classes d'emmagatzematge (Standard, IA, Glacier…)
- 5.3 Versionat i cicle de vida d'objectes
- 5.4 Polítiques de bucket i ACLs
- 5.5 Hosting de llocs web estàtics
Capítol 6 · Xarxes: VPC
- 6.1 Què és una VPC i per què la necessites
- 6.2 Subxarxes públiques i privades
- 6.3 Internet Gateway i NAT Gateway
- 6.4 Route Tables i Network ACLs
- 6.5 VPC Peering i endpoints
Capítol 7 · Identitat i accés: IAM
- 7.1 Usuaris, grups, rols i polítiques
- 7.2 El principi de mínim privilegi
- 7.3 Polítiques basades en identitat vs en recurs
- 7.4 MFA i credencials temporals (STS)
- 7.5 Bones pràctiques de seguretat IAM
Capítol 8 · Bases de dades gestionades
- 8.1 RDS: motors, Multi-AZ i rèpliques de lectura
- 8.2 Aurora i els seus avantatges sobre RDS vanilla
- 8.3 DynamoDB: model clau-valor / documents
- 8.4 ElastiCache per a memòria cau en memòria
- 8.5 Quan utilitzar cada tipus de base de dades
Capítol 9 · Per què Infraestructura com a Codi
- 9.1 Problemes del provisionament manual
- 9.2 IaC declaratiu vs imperatiu
- 9.3 Terraform vs CloudFormation vs Pulumi vs CDK
- 9.4 El cicle plan → apply → destroy
Capítol 10 · HCL: el llenguatge de Terraform
- 10.1 Blocs resource, variable, output, locals
- 10.2 Tipus de dades: string, number, bool, list, map, object
- 10.3 Expressions, referències i funcions built-in
- 10.4 Condicionals i bucles (count, for_each, for)
Capítol 11 · Providers i estat
- 11.1 Com funciona el provider d'AWS
- 11.2 El fitxer terraform.tfstate i la seva importància
- 11.3 State local vs state remot (S3 + DynamoDB)
- 11.4 Comandes essencials: init, plan, apply, destroy, fmt, validate
Capítol 12 · La teva primera infraestructura real amb Terraform
- 12.1 Crear una VPC amb subxarxes des de zero
- 12.2 Posar en marxa una instància EC2 pública
- 12.3 Associar un Security Group i una Elastic IP
- 12.4 Outputs i referències entre recursos
- 12.5 Flux de treball en equip: PR review de plans
Capítol 13 · Balanceig de càrrega i autoescalat
- 13.1 Application Load Balancer vs Network Load Balancer
- 13.2 Target Groups, listeners i regles
- 13.3 Auto Scaling Groups: polítiques i mètriques
- 13.4 Warm pools i lifecycle hooks
Capítol 14 · Serverless amb Lambda
- 14.1 El model d'execució de Lambda
- 14.2 Triggers: API Gateway, S3, DynamoDB Streams, SQS
- 14.3 Gestió de dependències i capes (Layers)
- 14.4 Cold starts i estratègies per reduir-los
- 14.5 Límits i antipatrones
Capítol 15 · Missatgeria i esdeveniments
- 15.1 SQS: cues estàndard vs FIFO, DLQ
- 15.2 SNS: topics, subscripcions, fan-out
- 15.3 EventBridge: event buses i regles
- 15.4 Patrons: pub/sub, desacoblament, saga
Capítol 16 · Lliurament de contingut i DNS
- 16.1 Route 53: tipus de registres i routing policies
- 16.2 CloudFront: distribucions, memòries cau i origins
- 16.3 ACM: certificats SSL/TLS gratuïts
- 16.4 WAF integrat amb CloudFront
Capítol 17 · Contenidors a AWS
- 17.1 Docker: repàs exprés de conceptes clau
- 17.2 ECR: registre privat d'imatges
- 17.3 ECS: task definitions, services, Fargate vs EC2
- 17.4 EKS: quan Kubernetes i quan no
Capítol 18 · Mòduls: reutilització i composició
- 18.1 Anatomia d'un mòdul Terraform
- 18.2 Variables d'entrada, outputs i dependències
- 18.3 Mòduls locals vs mòduls del Terraform Registry
- 18.4 Versionat de mòduls amb Git tags
- 18.5 Disseny de mòduls genèrics vs específics de domini
Capítol 19 · Workspaces i gestió d'entorns
- 19.1 Workspaces de Terraform: casos d'ús i limitacions
- 19.2 Estratègia de directoris per entorn (dev/stg/prod)
- 19.3 Terragrunt: DRY per a configuracions d'entorn
- 19.4 Variables d'entorn i fitxers .tfvars
Capítol 20 · Backends remots i locking
- 20.1 Configurar S3 + DynamoDB com a backend
- 20.2 State locking: evitar corrupció en equip
- 20.3 Migració d'estat entre backends
- 20.4 terraform import: portar recursos existents a l'estat
Capítol 21 · Testing d'infraestructura
- 21.1 Terraform validate i fmt en CI
- 21.2 Checkov i tfsec: anàlisi de seguretat estàtica
- 21.3 Terratest: tests d'integració en Go
- 21.4 Contract testing entre mòduls
Capítol 22 · Terraform en CI/CD
- 22.1 Pipeline bàsic: lint → plan → apply a GitHub Actions
- 22.2 Atlantis: GitOps per a Terraform
- 22.3 Terraform Cloud / HCP Terraform
- 22.4 Drift detection i reconciliació automàtica
Capítol 23 · Seguretat en profunditat
- 23.1 AWS Organizations i Service Control Policies
- 23.2 AWS Config: compliment continu
- 23.3 GuardDuty: detecció d'amenaces
- 23.4 Security Hub: visió centralitzada
- 23.5 KMS: gestió de claus i rotació
- 23.6 Secrets Manager vs Parameter Store
Capítol 24 · Observabilitat: logs, mètriques i traces
- 24.1 CloudWatch Logs, mètriques i alarmes
- 24.2 CloudWatch Dashboards i Contributor Insights
- 24.3 X-Ray: traçat distribuït
- 24.4 OpenTelemetry a AWS
- 24.5 Managed Grafana i Managed Prometheus
Capítol 25 · Optimització de costos
- 25.1 AWS Cost Explorer i pressupostos amb alertes
- 25.2 Trusted Advisor i Compute Optimizer
- 25.3 Rightsizing: com detectar sobredimensionament
- 25.4 Savings Plans vs Reserved Instances: decisió estratègica
- 25.5 FinOps: cultura i processos per controlar la despesa
Capítol 26 · Alta disponibilitat i disaster recovery
- 26.1 RTO i RPO: definir els objectius
- 26.2 Estratègies: backup/restore, pilot light, warm standby, multi-site
- 26.3 Route 53 health checks i failover automàtic
- 26.4 AWS Backup: política centralitzada de còpies
Capítol 27 · Well-Architected Framework d'AWS
- 27.1 Els sis pilars: excel·lència operacional, seguretat, fiabilitat, eficiència de rendiment, optimització de costos, sostenibilitat
- 27.2 Well-Architected Tool: revisions formals
- 27.3 Com aplicar el framework en decisions de disseny
Capítol 28 · Arquitectures serverless a escala
- 28.1 Event-driven architecture amb Lambda + EventBridge
- 28.2 Saga pattern per a transaccions distribuïdes
- 28.3 Step Functions: orquestració de workflows complexos
- 28.4 Lambda@Edge i CloudFront Functions
Capítol 29 · Plataformes de dades a AWS
- 29.1 Data Lake amb S3, Glue i Athena
- 29.2 Kinesis Data Streams i Firehose per a streaming
- 29.3 Redshift: data warehousing a escala
- 29.4 Lake Formation: govern del dada
Capítol 30 · Multi-compte i landing zones
- 30.1 Per què separar workloads en comptes diferents
- 30.2 AWS Control Tower i Account Factory
- 30.3 Gestió centralitzada de logs i seguretat
- 30.4 Terraform a escala multi-compte amb mòduls compartits
Capítol 31 · Platform Engineering i Internal Developer Platform
- 31.1 Golden paths i abstraccions sobre Terraform
- 31.2 Service Catalog d'AWS
- 31.3 Backstage com a portal de desenvolupadors
- 31.4 Mòduls Terraform com a producte intern
Capítol 32 · Certificacions AWS rellevants
- 32.1 Cloud Practitioner: val la pena?
- 32.2 Solutions Architect Associate → Professional
- 32.3 DevOps Engineer Professional
- 32.4 Specialty: Security, Database, Networking
- 32.5 HashiCorp Terraform Associate
Capítol 33 · Projectes per consolidar el que s'ha après
- 33.1 Projecte 1: blog serverless (S3 + CloudFront + Lambda + DynamoDB)
- 33.2 Projecte 2: API REST amb ECS Fargate + RDS + ALB
- 33.3 Projecte 3: plataforma de dades amb Glue + Athena + Redshift
- 33.4 Projecte 4: landing zone multi-compte amb Terraform i Control Tower
