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 experts

Recorda 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

Capítol 2 · El mercat cloud i els grans proveïdors

Capítol 3 · Regions, zones de disponibilitat i edge

Capítol 4 · Càlcul: EC2

Capítol 5 · Emmagatzematge: S3

Capítol 6 · Xarxes: VPC

Capítol 7 · Identitat i accés: IAM

Capítol 8 · Bases de dades gestionades

Capítol 9 · Per què Infraestructura com a Codi

Capítol 10 · HCL: el llenguatge de Terraform

Capítol 11 · Providers i estat

Capítol 12 · La teva primera infraestructura real amb Terraform

Capítol 13 · Balanceig de càrrega i autoescalat

Capítol 14 · Serverless amb Lambda

Capítol 15 · Missatgeria i esdeveniments

Capítol 16 · Lliurament de contingut i DNS

Capítol 17 · Contenidors a AWS

Capítol 18 · Mòduls: reutilització i composició

Capítol 19 · Workspaces i gestió d'entorns

Capítol 20 · Backends remots i locking

Capítol 21 · Testing d'infraestructura

Capítol 22 · Terraform en CI/CD

Capítol 23 · Seguretat en profunditat

Capítol 24 · Observabilitat: logs, mètriques i traces

Capítol 25 · Optimització de costos

Capítol 26 · Alta disponibilitat i disaster recovery

Capítol 27 · Well-Architected Framework d'AWS

Capítol 28 · Arquitectures serverless a escala

Capítol 29 · Plataformes de dades a AWS

Capítol 30 · Multi-compte i landing zones

Capítol 31 · Platform Engineering i Internal Developer Platform

Capítol 32 · Certificacions AWS rellevants

Capítol 33 · Projectes per consolidar el que s'ha après

Capítol 34 · Recursos i comunitat

© Copyright 2024. Tots els drets reservats