Arribem al Capítol 33: Projectes per consolidar, un dels més valuosos de la Part VIII. Perquè hi ha una veritat ineludible en aquest ofici: s’aprèn construint. Pots llegir tot el llibre i entendre’l, però fins que no construeixes alguna cosa real amb les teves mans, el coneixement no s’assenta del tot. Aquest capítol proposa quatre projectes, de menor a major complexitat, que lliguen tot el que has après. Comencem pel més accessible i perfecte per a principiants: un blog serverless, on combinaràs S3, CloudFront, Lambda i DynamoDB.

Per què els projectes són tan importants

Abans del projecte, entenguem el seu valor. Llegir i entendre és necessari, però insuficient: el coneixement de veritat es consolida aplicant-lo. Construir un projecte real t’obliga a:

   El que et dona construir un projecte (i la teoria no):
   ✓ Juntar moltes peces que has estudiat per separat
   ✓ Enfrontar-te a problemes reals (i resoldre’ls)
   ✓ Entendre de veritat com encaixen els serveis
   ✓ Tenir alguna cosa TANGIBLE per mostrar (portafoli)
   ✓ Guanyar CONFIANÇA real (no només teòrica)

Analogia: estudiar sense construir és com llegir tots els llibres sobre com anar en bici sense pujar-hi mai. Per molt que entenguis la teoria de l’equilibri i el pedaleig, no sabràs anar en bici fins que t’hi pugis, et tambalegis, potser caiguis un parell de vegades, i finalment ho aconsegueixis. Els projectes són «pujar a la bici»: on el coneixement teòric es converteix en habilitat real.

💡 Sobre aquests projectes: la idea no és donar-te el codi exacte pas a pas (això ho trobaràs en tutorials i en la documentació), sinó mostrar-te què construir, quins serveis combinar i com encaixen els conceptes del llibre. El repte d’implementar-ho és precisament on aprens.

El projecte: un blog serverless

El primer projecte és un blog serverless: una web on es poden llegir articles, construïda sense gestionar cap servidor (recorda la filosofia serverless del Capítol 14). És ideal per començar perquè és senzill, barat (gairebé tot cap a la capa gratuïta) i combina diversos serveis fonamentals de manera clara.

   El que construiràs: un blog on
   - els visitants veuen la web (ràpida, arreu del món)
   - es mostren articles desats
   - tot SENSE servidors per mantenir (serverless)

Les peces i com encaixen

Aquest projecte combina quatre serveis que ja coneixes, cadascun amb el seu paper:

S3: allotjar la web (els fitxers estàtics)

S3 (Capítol 5) guarda els fitxers de la web (l’HTML, CSS, imatges... la part «estàtica» que no canvia). Recorda que S3 pot servir un lloc web estàtic directament. És el «magatzem» del teu blog: barat, durador i sense servidors.

S3 → guarda i serveix els fitxers de la web (HTML, CSS, imatges)

CloudFront: lliurar la web ràpid arreu del món

CloudFront (subcapítol 16.2), la CDN d’AWS, serveix la web des d’ubicacions pròximes a cada visitant, fent-la ràpida globalment. A més, li dona HTTPS (recorda ACM, subcapítol 16.3). Poses CloudFront «davant» de S3.

Visitant → CloudFront (pròxim i ràpid, amb HTTPS) → S3 (els fitxers)

Lambda: la lògica (la part dinàmica)

Lambda (Capítol 14) executa la lògica del blog sense servidors: per exemple, una funció que obté els articles quan algú els demana. És la part «dinàmica» (que fa coses), i s’executa només quan se la necessita, escalant sola.

Petició de "dóna’m els articles" → Lambda (obté les dades) → respon

DynamoDB: guardar les dades (els articles)

DynamoDB (la base de dades NoSQL serverless que vam veure al Capítol 8) guarda els articles del blog. És serverless (encaixa perfecte amb la resta), ràpida i es gestiona sola.

DynamoDB → guarda els articles del blog (la base de dades)

L’arquitectura completa

Així encaixen les quatre peces en un sistema coherent:

   Visitant
      │
      ▼
   CloudFront (ràpid, global, HTTPS)
      │
      ├──► S3 (la web: HTML, CSS, imatges)
      │
      └──► Lambda (la lògica: obtenir articles)
                 │
                 ▼
            DynamoDB (els articles desats)

El visitant arriba per CloudFront; la web (de S3) es carrega ràpid; quan demana els articles, una Lambda els obté de DynamoDB. Tot serverless: sense ni un sol servidor per mantenir, escala sol i costa molt poc (pagues per ús).

El que practiques i consolides

Aquest projecte, tot i la seva senzillesa, et fa juntar i afermar molts conceptes clau:

   Conceptes del llibre que consolides:
   - S3 i llocs web estàtics (Cap. 5)
   - CloudFront i CDN (Cap. 16) + HTTPS amb ACM (Cap. 16.3)
   - Lambda i serverless (Cap. 14)
   - DynamoDB / NoSQL (Cap. 8)
   - I tot desplegat amb Terraform! (Parts II-V)

💡 Fes-ho amb Terraform: desplega tot aquest projecte amb Terraform (el que has après a les Parts II-V), en comptes de fer-ho a mà per la consola. Així consolides alhora AWS i la infraestructura com a codi. És la millor pràctica possible: construeixes alguna cosa real i ho fas de manera professional.

Exemple del món real: algú que acaba de llegir el llibre vol afermar el que ha après i tenir alguna cosa per ensenyar a entrevistes. Decideix construir el seu blog personal com a blog serverless: desa els seus articles a DynamoDB, la lògica a Lambda, la web a S3 i la serveix amb CloudFront, tot definit amb Terraform. En construir-lo, es troba amb problemes reals (com connectar CloudFront amb S3, com donar permisos a la Lambda per llegir DynamoDB...) i en resoldre’ls entén de veritat com encaixen les peces, molt millor que llegint-ho. Acaba amb un blog real, funcionant, baratíssim, i un projecte de portafoli que demostra que sap construir a AWS amb Terraform. Aquest «aprendre fent» li dona una confiança que la teoria sola mai li hauria donat.

El que has de recordar

  • S’aprèn construint: llegir i entendre és necessari però insuficient; el coneixement es consolida aplicant-lo en projectes reals. Com aprendre a anar en bici pujant-hi, no només llegint.
  • El blog serverless és un projecte ideal per començar: senzill, barat (capa gratuïta) i combina serveis fonamentals sense gestionar servidors.
  • Combina quatre peces: S3 (allotja la web estàtica, Cap. 5), CloudFront (la serveix ràpid i global amb HTTPS, Cap. 16), Lambda (la lògica dinàmica, Cap. 14) i DynamoDB (guarda els articles, Cap. 8).
  • Arquitectura: el visitant arriba per CloudFront → web des de S3 → per a les dades, Lambda → que llegeix de DynamoDB. Tot serverless: escala sol, costa poc.
  • 💡 Desplega-ho amb Terraform (Parts II-V) per consolidar AWS i la infraestructura com a codi alhora, i tenir un projecte de portafoli.

Al següent subcapítol pujarem un esglaó amb un projecte més complet: una API REST amb contenidors (ECS Fargate, RDS i ALB).

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