Llegamos al Capítulo 33: Proyectos para consolidar, uno de los más valiosos de la Parte VIII. Porque hay una verdad ineludible en este oficio: se aprende construyendo. Puedes leer todo el libro y entenderlo, pero hasta que no construyes algo real con tus manos, el conocimiento no se asienta del todo. Este capítulo propone cuatro proyectos, de menor a mayor complejidad, que atan todo lo aprendido. Empezamos por el más accesible y perfecto para principiantes: un blog serverless, donde combinarás S3, CloudFront, Lambda y DynamoDB.

Por qué los proyectos son tan importantes

Antes del proyecto, entendamos su valor. Leer y entender es necesario, pero insuficiente: el conocimiento de verdad se consolida aplicándolo. Construir un proyecto real te obliga a:

   Lo que te da construir un proyecto (y la teoría no):
   ✓ Juntar muchas piezas que estudiaste por separado
   ✓ Enfrentarte a problemas reales (y resolverlos)
   ✓ Entender de verdad cómo encajan los servicios
   ✓ Tener algo TANGIBLE que mostrar (portafolio)
   ✓ Ganar CONFIANZA real (no solo teórica)

Analogía: estudiar sin construir es como leer todos los libros sobre cómo montar en bici sin subirte nunca a una. Por mucho que entiendas la teoría del equilibrio y el pedaleo, no sabrás montar hasta que te subas, te tambalees, quizá te caigas un par de veces, y finalmente lo consigas. Los proyectos son «subirse a la bici»: donde el conocimiento teórico se convierte en habilidad real.

💡 Sobre estos proyectos: la idea no es darte el código exacto paso a paso (eso lo encontrarás en tutoriales y en la documentación), sino mostrarte qué construir, qué servicios combinar y cómo encajan los conceptos del libro. El reto de implementarlo es precisamente donde aprendes.

El proyecto: un blog serverless

El primer proyecto es un blog serverless: una web donde se pueden leer artículos, construida sin gestionar ningún servidor (recuerda la filosofía serverless del Capítulo 14). Es ideal para empezar porque es sencillo, barato (casi todo cabe en la capa gratuita) y combina varios servicios fundamentales de forma clara.

   Lo que vas a construir: un blog donde
   - los visitantes ven la web (rápida, en todo el mundo)
   - se muestran artículos guardados
   - todo SIN servidores que mantener (serverless)

Las piezas y cómo encajan

Este proyecto combina cuatro servicios que ya conoces, cada uno con su papel:

S3: alojar la web (los archivos estáticos)

S3 (Capítulo 5) guarda los archivos de la web (el HTML, CSS, imágenes... la parte «estática» que no cambia). Recuerda que S3 puede servir un sitio web estático directamente. Es el «almacén» de tu blog: barato, duradero y sin servidores.

S3 → guarda y sirve los archivos de la web (HTML, CSS, imágenes)

CloudFront: entregar la web rápido en todo el mundo

CloudFront (subcapítulo 16.2), la CDN de AWS, sirve la web desde ubicaciones cercanas a cada visitante, haciéndola rápida globalmente. Además, le da HTTPS (recuerda ACM, subcapítulo 16.3). Pones CloudFront «delante» de S3.

Visitante → CloudFront (cercano y rápido, con HTTPS) → S3 (los archivos)

Lambda: la lógica (la parte dinámica)

Lambda (Capítulo 14) ejecuta la lógica del blog sin servidores: por ejemplo, una función que obtiene los artículos cuando alguien los pide. Es la parte «dinámica» (que hace cosas), y se ejecuta solo cuando se la necesita, escalando sola.

Petición de "dame los artículos" → Lambda (obtiene los datos) → responde

DynamoDB: guardar los datos (los artículos)

DynamoDB (la base de datos NoSQL serverless que vimos en el Capítulo 8) guarda los artículos del blog. Es serverless (encaja perfecto con el resto), rápida y se gestiona sola.

DynamoDB → guarda los artículos del blog (la base de datos)

La arquitectura completa

Así encajan las cuatro piezas en un sistema coherente:

   Visitante
      │
      ▼
   CloudFront (rápido, global, HTTPS)
      │
      ├──► S3 (la web: HTML, CSS, imágenes)
      │
      └──► Lambda (la lógica: obtener artículos)
                 │
                 ▼
            DynamoDB (los artículos guardados)

El visitante llega por CloudFront; la web (de S3) se carga rápido; cuando pide los artículos, una Lambda los obtiene de DynamoDB. Todo serverless: sin un solo servidor que mantener, escala solo y cuesta muy poco (pagas por uso).

Lo que practicas y consolidas

Este proyecto, pese a su sencillez, te hace juntar y afianzar muchos conceptos clave:

   Conceptos del libro que consolidas:
   - S3 y sitios web estáticos (Cap. 5)
   - CloudFront y CDN (Cap. 16) + HTTPS con ACM (Cap. 16.3)
   - Lambda y serverless (Cap. 14)
   - DynamoDB / NoSQL (Cap. 8)
   - ¡Y todo desplegado con Terraform! (Partes II-V)

💡 Hazlo con Terraform: despliega todo este proyecto con Terraform (lo que aprendiste en las Partes II-V), en vez de a mano por la consola. Así consolidas a la vez AWS y la infraestructura como código. Es la mejor práctica posible: construyes algo real y lo haces de forma profesional.

Ejemplo del mundo real: alguien que acaba de terminar el libro quiere afianzar lo aprendido y tener algo que enseñar en entrevistas. Decide construir su blog personal como blog serverless: guarda sus artículos en DynamoDB, la lógica en Lambda, la web en S3 y la sirve con CloudFront, todo definido en Terraform. Al construirlo, se topa con problemas reales (cómo conectar CloudFront con S3, cómo dar permisos a la Lambda para leer DynamoDB...) y al resolverlos entiende de verdad cómo encajan las piezas, mucho mejor que leyéndolo. Acaba con un blog real, funcionando, baratísimo, y un proyecto de portafolio que demuestra que sabe construir en AWS con Terraform. Ese «aprender haciendo» le da una confianza que la teoría sola nunca le habría dado.

Lo que debes recordar

  • Se aprende construyendo: leer y entender es necesario pero insuficiente; el conocimiento se consolida aplicándolo en proyectos reales. Como aprender a montar en bici subiéndote, no solo leyendo.
  • El blog serverless es un proyecto ideal para empezar: sencillo, barato (capa gratuita) y combina servicios fundamentales sin gestionar servidores.
  • Combina cuatro piezas: S3 (aloja la web estática, Cap. 5), CloudFront (la sirve rápido y global con HTTPS, Cap. 16), Lambda (la lógica dinámica, Cap. 14) y DynamoDB (guarda los artículos, Cap. 8).
  • Arquitectura: el visitante llega por CloudFront → web desde S3 → para los datos, Lambda → que lee de DynamoDB. Todo serverless: escala solo, cuesta poco.
  • 💡 Despliégalo con Terraform (Partes II-V) para consolidar AWS y la infraestructura como código a la vez, y tener un proyecto de portafolio.

En el siguiente subcapítulo subiremos un escalón con un proyecto más completo: una API REST con contenedores (ECS Fargate, RDS y ALB).

Cloud, AWS & Terraform — De cero a experto

Capítulo 1 · Qué es el cloud computing

Capítulo 2 · El mercado cloud y los grandes proveedores

Capítulo 3 · Regiones, zonas de disponibilidad y edge

Capítulo 4 · Cómputo: EC2

Capítulo 5 · Almacenamiento: S3

Capítulo 6 · Redes: VPC

Capítulo 7 · Identidad y acceso: IAM

Capítulo 8 · Bases de datos gestionadas

Capítulo 9 · Por qué Infraestructura como Código

Capítulo 10 · HCL: el lenguaje de Terraform

Capítulo 11 · Providers y estado

Capítulo 12 · Tu primera infraestructura real en Terraform

Capítulo 13 · Balanceo de carga y autoescalado

Capítulo 14 · Serverless con Lambda

Capítulo 15 · Mensajería y eventos

Capítulo 16 · Entrega de contenido y DNS

Capítulo 17 · Contenedores en AWS

Capítulo 18 · Módulos: reutilización y composición

Capítulo 19 · Workspaces y gestión de entornos

Capítulo 20 · Backends remotos y locking

Capítulo 21 · Testing de infraestructura

Capítulo 22 · Terraform en CI/CD

Capítulo 23 · Seguridad en profundidad

Capítulo 24 · Observabilidad: logs, métricas y trazas

Capítulo 25 · Optimización de costes

Capítulo 26 · Alta disponibilidad y disaster recovery

Capítulo 27 · Well-Architected Framework de AWS

Capítulo 28 · Arquitecturas serverless a escala

Capítulo 29 · Plataformas de datos en AWS

Capítulo 30 · Multi-cuenta y landing zones

Capítulo 31 · Platform Engineering e Internal Developer Platform

Capítulo 32 · Certificaciones AWS relevantes

Capítulo 33 · Proyectos para consolidar lo aprendido

Capítulo 34 · Recursos y comunidad

© Copyright 2024. Todos los derechos reservados