Tanquem la Part I unint tot el que has après sobre la geografia d’AWS —regions, zones de disponibilitat i edge locations— sota tres conceptes que guiaran moltíssimes de les teves decisions d’arquitectura: latència, resiliència i sobirania de dades. Són les tres preguntes que et faràs cada cop que dissenyis alguna cosa al núvol.
Concepte 1: Latència — «com de ràpid respon?»
La latència és el temps que triguen les dades a anar d’un punt a un altre i tornar. Es mesura en mil·lisegons (ms). Com més baixa sigui la latència, més ràpida i fluida es percep la teva aplicació.
La latència depèn molt de la distància física: les dades viatgen ràpid, però no infinitament ràpid. Creuar un oceà sempre afegeix retard.
Exemple: Un usuari a Madrid accedint a un servidor a Madrid pot tenir ~5 ms de latència. El mateix usuari accedint a un servidor a Tòquio pot tenir ~250 ms. Aquesta diferència és perceptible: la web «va a batzegades» amb l’opció llunyana.
Com reduir la latència amb el que has après:
- Tria una regió propera als teus usuaris (subcapítol 3.1).
- Fes servir CloudFront i edge locations per servir contingut des del punt més proper (subcapítol 3.3).
Dada: Per a serveis on cada mil·lisegon compta (videojocs en línia, trading financer, videotrucades), la latència és la prioritat de disseny.
Concepte 2: Resiliència — «què passa quan alguna cosa falla?»
La resiliència és la capacitat del teu sistema de seguir funcionant malgrat les fallades. Com hem vist, al núvol s’assumeix que el maquinari fallarà, així que dissenyem perquè això no tombi el servei.
Com aconseguir resiliència amb el que has après:
| Estratègia | Protegeix contra | Cost/complexitat |
|---|---|---|
| Multi-AZ (diverses zones en una regió) | Fallada d’un datacenter | Baix |
| Multi-regió (diverses regions) | Fallada d’una regió sencera | Alt |
La paraula clau aquí és redundància: tenir còpies o components de recanvi repartits, de manera que la caiguda d’un no impliqui la caiguda de tot.
Exemple real: Una passarel·la de pagaments no pot caure mai. La dissenyen multi-AZ per sobreviure a fallades de datacenter, i repliquen dades en una segona regió per si una regió sencera tingués un problema catastròfic. Així garanteixen que els pagaments segueixen funcionant passi el que passi.
Veurem la resiliència en profunditat al Capítol 26 (alta disponibilitat i recuperació davant desastres), amb conceptes com RTO i RPO.
Concepte 3: Sobirania de dades — «on poden viure legalment les meves dades?»
La sobirania de dades es refereix a les lleis i regulacions que determinen on es poden emmagatzemar i processar certes dades, i quines lleis se’ls apliquen segons el país on es troben.
No és un tema tècnic, sinó legal, però condiciona decisions tècniques (quina regió tries).
Exemple real — el RGPD: El Reglament General de Protecció de Dades de la Unió Europea regula com es tracten les dades personals de ciutadans europeus. Moltes empreses, per complir-lo amb tranquil·litat, decideixen emmagatzemar les dades dels seus clients europeus en regions d’AWS dins la UE (Espanya, Irlanda, Frankfurt…).
Altres exemples de requisits de sobirania:
- Dades de sanitat que per llei han de romandre al país.
- Dades d’administracions públiques amb exigències de localització.
- Sectors financers amb normatives estrictes sobre on resideixen les dades.
Com ho gestiones amb el que has après: triant la regió adequada (subcapítol 3.1). Com que les regions estan aïllades i saps exactament en quin país es troba cadascuna, pots garantir que les dades no surten d’on han d’estar.
Les tres preguntes que et faràs sempre
Quan dissenyis qualsevol sistema a AWS, aquests tres conceptes es tradueixen en tres preguntes:
- Latència: On són els meus usuaris? → Tria regió propera + CloudFront.
- Resiliència: Què passa si falla un datacenter o una regió? → Multi-AZ i, si és crític, multi-regió.
- Sobirania: Hi ha lleis sobre on han d’estar les meves dades? → Tria regió que compleixi la normativa.
A vegades aquestes tres forces entren en tensió i cal equilibrar-les:
Exemple de compromís: Els teus usuaris més ràpids estarien servits des de Virgínia (latència baixa per a Amèrica), però la llei t’obliga a guardar dades europees a la UE (sobirania). Solució típica: allotges les dades a Europa (compleixes la llei) i fas servir CloudFront per accelerar l’entrega globalment (mitigues la latència).
El que has de recordar
- Latència: temps de resposta; es redueix apropant la regió i usant edge locations/CloudFront.
- Resiliència: capacitat de seguir funcionant davant fallades; s’aconsegueix amb redundància multi-AZ i, si és crític, multi-regió.
- Sobirania de dades: requisits legals sobre on resideixen les dades; es compleix triant la regió adequada.
- Gairebé tota decisió d’arquitectura geogràfica neix d’equilibrar aquestes tres forces.
Amb això tanques la Part I. Ja domines els fonaments conceptuals del núvol. A la Part II deixem la teoria i entrem en la pràctica: els serveis essencials d’AWS, començant pel còmput amb EC2.
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
