Se viene la oferta de Black Friday de la comunidad de Desplegando.cloud
0
DÍAS
0
HRS
0
MINS
0
SECS
Más info
Artículo Destacado

Cómo hacer webapps rápidas y baratas

Obviamente usando AWS Serverless

Por Marcia Villalba
AWS Serverless APIGateway Amplify Lambda DynamoDB

Muchas veces me preguntan cómo hago mis páginas web.

Dónde las hosteo, cómo son tan rápidas, cómo tienen elementos dinámicos y cómo las publico tan rápido.

Tengo muchísimas webs para cursos, programas, proyectos personales y más.

Y aun así, mi cuenta de AWS tiene una factura de menos de 5 dólares por mes. La mayoría del gasto se lo lleva Route53.

Loading...

¿Cómo es posible?

La respuesta no te va a sorprender: uso AWS Serverless para todas mis páginas web.

En este post te muestro cómo lo hago.

Arquitectura

Todas mis webs siguen un mismo patrón.

La estructura es sencilla y siempre repito los mismos componentes. Solo cambia el contenido.

Me gusta hacerlo así porque cuando vuelvo a un proyecto sé exactamente qué me voy a encontrar.

Loading...
  • Contenido estático: lo hosteo en AWS Amplify. Por debajo usa S3 + CDN y no tengo que configurar nada. Además, me da integración continua con GitHub, algo clave porque el frontend es lo que más cambio seguido.

  • Autenticación: uso Cognito. Muchas veces con el Hosted UI, que ya resuelve login y registro de usuarios sin esfuerzo. En proyectos donde quiero más control, construyo mi propia pantalla de login.

  • Backend: mi combo favorito es API Gateway + Lambda + DynamoDB. Resuelve el 99% de mis necesidades. Y siempre aseguro mis APIs con Cognito y authorizers en API Gateway.

Detalles de implementación

  • Frontend: uso mucho Astro con componentes de React. Astro genera sitios estáticos súper rápidos, y React me permite agregar partes dinámicas. Lo mejor de los dos mundos.

  • Backend: escribo mis funciones de Lambda en TypeScript. También la infraestructura la defino en TypeScript usando AWS CDK.

  • Despliegues: nunca despliego a mano. Tengo GitHub Actions que cada vez que hago un commit, se despliegan automáticamente la infraestructura y el código. Esto me ahorra errores y tiempo.

  • Analíticas: para entender quién visita mis sitios uso esta librería open source: serverless-website-analytics. Me encanta porque combina todas mis webs en un único dashboard.

Loading...

Reflexiones finales

  • A veces las arquitecturas más simples son las más potentes.

  • Esta arquitectura sencilla no es solo para proyectos personales. Empresas como Neiman Marcus y Noom la usan en producción todos los días.

  • Si necesitás GraphQL APIs, podés reemplazar API Gateway por AppSync fácilmente.

  • CI/CD e Infraestructura como Código no son opcionales, aunque tu proyecto sea personal. Te ayudan a mantener las aplicaciones en el tiempo, y tu futuro yo te lo va a agradecer.