Comencem el Capítol 24: Observabilitat, una de les habilitats que més distingeix un professional que sap operar en producció. Tenir una aplicació funcionant no n'hi ha prou: necessites saber què està passant dins d'ella en tot moment. Va bé? Hi ha errors? Està saturada? Per això existeix la observabilitat, i a AWS l'eina central és CloudWatch. Comencem pels seus tres pilars: logs, mètriques i alarmes.

El problema: operar a cegues

Imagina que tens la teva aplicació desplegada en producció. Els usuaris la fan servir. I de sobte... comença a anar lenta, o alguns usuaris reporten errors. Sense observabilitat, estàs a cegues:

  • Quants errors s'estan produint? No ho saps.
  • El servidor està saturat de CPU? Ni idea.
  • Què va passar exactament quan va fallar? No hi ha rastre.
  • Quan va començar el problema? Impossible saber-ho.

Operar així és com conduir amb els ulls tancats. L'observabilitat són els instruments del quadre de comandament de la teva aplicació: et diuen què passa, perquè puguis reaccionar.

Què és CloudWatch

CloudWatch és el servei d'observabilitat d'AWS: recopila i mostra informació sobre el funcionament dels teus recursos i aplicacions. És on mires per saber si tot va bé. Té diversos components; en aquest subcapítol veiem els tres fonamentals.

Pilar 1: Logs (registres)

Els logs són els missatges de text que les teves aplicacions i serveis van escrivint sobre el que fan. Són el diari de la teva aplicació:

[10:32:01] Usuari 4521 va iniciar sessió
[10:32:05] Processant comanda #8890
[10:32:06] ERROR: no s'ha pogut connectar a la base de dades
[10:32:07] Reintentant connexió...

CloudWatch Logs recopila i guarda aquests missatges de forma centralitzada. En comptes de tenir els logs dispersos a cada servidor (i perdre'ls si el servidor s'apaga), arriben tots a CloudWatch, on pots cercar-los, filtrar-los i consultar-los.

Analogia: els logs són com el diari de bord d'un vaixell: el capità anota tot el que passa («10:00 salpem», «12:00 tempesta a la vista», «12:30 reparada una via d'aigua»). Si alguna cosa surt malament, revises el diari per entendre què va passar i quan. CloudWatch Logs és el lloc on es guarden tots aquests diaris junts, llestos per consultar.

Els logs són la teva primera eina quan alguna cosa falla: vas als logs del moment de la fallada i llegeixes què va passar.

Pilar 2: Mètriques

Les mètriques són valors numèrics mesurats al llarg del temps: l'ús de CPU, la quantitat de memòria, el nombre de peticions per segon, els errors per minut... Mentre els logs són text («què va passar»), les mètriques són nombres («quant»):

Mètrica "Ús de CPU" del servidor al llarg del dia:
   10:00  →  20 %
   11:00  →  35 %
   12:00  →  85 %   ← pic!
   13:00  →  40 %

CloudWatch recopila automàticament moltes mètriques dels teus recursos (CPU de les EC2, peticions d'un ALB, invocacions d'una Lambda...) i tu pots enviar les teves pròpies (mètriques de negoci, com «comandes completades per minut»). Amb les mètriques veus tendències i detectes quan alguna cosa surt de la normalitat.

Analogia: les mètriques són com els indicadors del quadre de comandament del cotxe: velocitat, revolucions, temperatura del motor, nivell de gasolina. Són nombres que mires d'una ullada per saber si tot va bé. Si l'agulla de la temperatura puja massa, saps que hi ha un problema abans que el motor es trenqui.

Pilar 3: Alarmes

Aquí hi ha la peça que fa l'observabilitat proactiva. No pots estar mirant les mètriques 24 hores al dia. Una alarma vigila una mètrica per tu i t'avisa automàticament quan creua un llindar que tu defineixes:

Alarma: "si l'ús de CPU supera el 80 % durant 5 minuts → AVISA"
Alarma: "si els errors superen 10 per minut → AVISA"
Alarma: "si la base de dades es queda sense espai → AVISA"

Quan es dispara una alarma, pot notificar-te (per email, Slack, etc., usant SNS, recorda el subcapítol 15.2) o fins i tot disparar una acció automàtica (com afegir més servidors amb un Auto Scaling Group, recorda el subcapítol 13.3).

Analogia: una alarma és com el testimoni vermell del quadre de comandament que s'encén quan la temperatura del motor és perillosa, acompanyat d'un xiulet. No has de mirar l'agulla constantment: el cotxe t'avisa quan alguna cosa important requereix la teva atenció.

Com encaixen els tres junts

Els tres pilars treballen en equip perquè operis amb els ulls oberts:

MÈTRIQUES  → et diuen QUÈ està passant (nombres, tendències)
ALARMES    → t'AVISEN quan una mètrica surt de la normalitat
LOGS       → et diuen PER QUÈ va passar (el detall, per investigar)

El flux típic d'un incident: salta una alarma («errors alts!»), mires les mètriques per veure l'abast i quan va començar, i vas als logs d'aquell moment per entendre la causa exacta i arreglar-ho.

Exemple del món real: una botiga online té una alarma sobre la mètrica «errors HTTP 500». Un diumenge a la nit, un canvi introdueix un bug i els errors es disparen. L'alarma salta i notifica l'equip de guàrdia per Slack en un minut. L'enginyer mira les mètriques: els errors van començar just després del darrer desplegament, a les 22:14. Va als logs de les 22:14 i veu: «ERROR: camp 'preu' nul al carret». En 10 minuts identifica i reverteix el canvi. Sense observabilitat, s'hauria assabentat l'endemà al matí per les queixes dels clients i la caiguda de vendes.

El que has de recordar

  • Operar sense observabilitat és conduir amb els ulls tancats; necessites saber què passa dins de la teva aplicació en tot moment.
  • CloudWatch és el servei d'observabilitat d'AWS, amb tres pilars fonamentals:
  • Logs: els missatges de text que escriuen les teves apps («què va passar»), recopilats i consultables de forma centralitzada. Són el diari de bord.
  • Mètriques: valors numèrics en el temps («quant»: CPU, peticions, errors...). Són els indicadors del quadre de comandament; revelen tendències.
  • Alarmes: vigilen una mètrica i t'avisen automàticament (o disparen accions) quan creua un llindar. Són el testimoni vermell que t'avisa sense haver de mirar.
  • Treballen en equip: les alarmes avisen, les mètriques mostren l'abast, els logs expliquen la causa.

En el següent subcapítol veurem com ajuntar totes aquestes mètriques en panells visuals amb CloudWatch Dashboards.

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