Tanquem la Part VII amb el Capítol 31: Platform Engineering i Internal Developer Platform, una disciplina molt actual que representa el cim de la maduresa en infraestructura. La idea: en comptes que cada equip de desenvolupament hagi d’aprendre i configurar tota la infraestructura pel seu compte, un equip especialitzat construeix una plataforma interna que ho dona fet de manera fàcil i segura. Comencem pel concepte fonamental d’aquesta disciplina: els golden paths (camins daurats), recolzats en Terraform.
El problema: cada equip reinventant la roda
Imagina una empresa amb molts equips de desenvolupament. Cada un necessita infraestructura: xarxes, bases de dades, servidors, pipelines... Sense una plataforma comuna, cada equip ha de:
Cada equip, pel seu compte: - aprendre Terraform, AWS, xarxes, seguretat a fons - configurar la seva infraestructura des de zero - prendre decisions de seguretat (ho faré bé?) - mantenir-ho tot al dia → molta feina duplicada, decisions inconsistents, errors de seguretat
Això té problemes greus: es duplica moltíssima feina, cada equip fa les coses diferent (inconsistència), i els desenvolupadors —experts en la seva aplicació, no necessàriament en infraestructura— poden cometre errors de seguretat o de disseny. A més, es distreuen del que realment aporta valor: el seu producte.
Analogia: és com si en una empresa cada empleat hagués de construir-se el seu propi ordinador, instal·lar el sistema operatiu i configurar la xarxa abans de poder treballar. Seria una pèrdua enorme de temps, cadascú ho faria diferent, i molts ho farien malament. El lògic és que un equip d’IT prepari ordinadors estàndard, llestos per usar i segurs, i cada empleat es centri en la seva feina. El Platform Engineering aplica aquesta mateixa idea a la infraestructura cloud.
Què és el Platform Engineering
El Platform Engineering (enginyeria de plataformes) és la disciplina de construir una plataforma interna que facilita als equips de desenvolupament crear i gestionar la seva infraestructura de manera fàcil, ràpida i segura, sense haver de ser experts en tots els detalls. Un equip de plataforma construeix «eines i camins» que la resta d’equips utilitzen.
L’objectiu: que els desenvolupadors puguin autoservir-se la infraestructura que necessiten (recorda el self-service del núvol, subcapítol 1.2) de manera senzilla i segura, centrant-se en el seu producte en lloc dels detalls d’infraestructura.
Què és un golden path
La peça central del Platform Engineering és el golden path (camí daurat): una forma recomanada, fàcil i ben dissenyada de fer alguna cosa, que l’equip de plataforma prepara perquè els desenvolupadors la segueixin. És el «camí preparat» que porta a bon resultat sense esforç i sense riscos.
Golden path = el camí preparat i recomanat:
"Necessites una base de dades? Segueix AQUEST camí daurat:
omple aquestes poques dades i obtindràs una base de dades
correctament configurada, segura i seguint les normes."Un golden path no obliga (els equips podrien sortir-se’n si tenen una necessitat especial), però és tan fàcil i bo que la majoria el segueix encantada. Fa que el correcte sigui també el més còmode.
Analogia: un golden path és com un sender ben senyalitzat i pavimentat en una muntanya. Podries pujar camp a través (fer-ho tot pel teu compte), però és difícil, arriscat i fàcil perdre’s. El sender daurat està preparat, és segur i et porta directe al cim amb el mínim esforç. La majoria el pren perquè és, simplement, la millor manera d’arribar-hi. L’equip de plataforma «pavimenta» aquests senders per a les necessitats comunes.
Com es construeixen els golden paths: sobre Terraform
Aquí connecta amb tot el que saps. Els golden paths d’infraestructura es construeixen, típicament, sobre Terraform i mòduls (Capítol 18). L’equip de plataforma crea mòduls ben dissenyats, segurs i conformes que encapsulen les bones pràctiques, i els ofereix als desenvolupadors com a golden paths:
Equip de plataforma crea mòduls Terraform experts:
mòdul "base-de-dades-estàndard" (segura, amb còpies, ben configurada)
mòdul "aplicació-web-estàndard" (amb balanceig, autoescalat, logs...)
│
▼
Els desenvolupadors els usen amb uns pocs paràmetres
→ obtenen infraestructura experta sense ser expertsRecorda els mòduls (Capítol 18) i la idea de mòduls com a producte intern (que veurem al subcapítol 31.4): l’equip de plataforma actua com un equip de producte els «clients» del qual són la resta de desenvolupadors, i el seu «producte» són aquests golden paths. Tota la disciplina de mòduls, versionat (subcapítol 18.4) i testing (Capítol 21) que has après s’aplica aquí per crear camins daurats de qualitat.
Per què importa: velocitat, seguretat i consistència
Els golden paths sobre Terraform aporten tres grans beneficis alhora:
- Velocitat: els desenvolupadors obtenen la seva infraestructura en minuts, sense haver d’aprendre-ho tot ni configurar-ho des de zero.
- Seguretat i bones pràctiques «de sèrie»: com que el camí l’ha dissenyat l’equip expert, la infraestructura surt segura i ben feta per defecte, sense que el desenvolupador hagi de ser un expert en seguretat.
- Consistència: tots els equips que utilitzen el mateix golden path obtenen infraestructura coherent, cosa que facilita mantenir i governar tot.
Sense golden paths: cada equip lent, inconsistent, amb risc d’errors Amb golden paths: tots ràpids, segurs i consistents "de sèrie"
Exemple del món real: una empresa amb 15 equips de desenvolupament munta un equip de Platform Engineering. Aquest crea golden paths sobre Terraform: per exemple, un mòdul «servei web estàndard» que, només indicant el nom i uns pocs paràmetres, desplega una aplicació amb balanceig de càrrega, autoescalat, logs, seguretat i còpies ja configurats segons les millors pràctiques de l’empresa. Abans, muntar tot això li portava a cada equip dies (i a vegades ho feien malament). Ara, un desenvolupador ho té en minuts, sense ser expert en infraestructura, i surt segur i consistent amb la resta. Els 15 equips van més ràpid, cometen menys errors i l’empresa manté el control. Els desenvolupadors es centren en el seu producte, que és el que aporta valor.
El que has de recordar
- Sense una plataforma comuna, cada equip reinventa la roda amb la infraestructura: feina duplicada, inconsistència i risc d’errors de seguretat, distreient-se del seu producte. Com si cada empleat hagués de construir-se el seu propi ordinador.
- El Platform Engineering és la disciplina de construir una plataforma interna que facilita als equips crear i gestionar la seva infraestructura de manera fàcil, ràpida i segura, sense ser experts en tot (autoservei).
- Un golden path (camí daurat) és la forma recomanada, fàcil i ben dissenyada de fer alguna cosa, preparada per l’equip de plataforma. No obliga, però és tan bona i còmoda que la majoria la segueix: fa que el correcte sigui també el més fàcil. Com un sender senyalitzat i pavimentat cap al cim.
- Els golden paths d’infraestructura es construeixen sobre Terraform i mòduls (Cap. 18): l’equip expert crea mòduls segurs i conformes que els desenvolupadors utilitzen amb pocs paràmetres.
- Aporten velocitat (infraestructura en minuts), seguretat i bones pràctiques de sèrie, i consistència entre equips.
Al següent subcapítol veurem una eina d’AWS per oferir aquest tipus de recursos preaprovats de manera autoservei: el Service Catalog.
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
