Deployé una API con Express + Prisma + Supabase en AWS Lambda mediante el framework de Serverless
		
Despliegue paso a paso de una API Express con Prisma y Supabase en AWS Lambda usando Serverless Framework. En este artículo explico cómo llevé una API en TypeScript con Express a un entorno serverless en AWS Lambda, integrando Prisma como ORM, Supabase como base de datos PostgreSQL gestionada y Amazon S3 para almacenamiento de archivos, manteniendo escalabilidad y coste eficiente.
Tecnologías empleadas: Node.js con TypeScript como runtime, Express para la API, Prisma ORM para acceso y migraciones, Supabase como proveedor de PostgreSQL, AWS S3 para uploads, AWS Lambda y API Gateway para despliegue serverless y Serverless Framework para orquestar y empaquetar la función.
Estructura del proyecto recomendada: src con carpetas controllers, middlewares y prisma, además de app.ts e index.ts en la raíz serverless.yml package.json y archivo .env con variables sensibles.
1. Inicializar el proyecto: crear un proyecto Node, instalar dependencias como express cors dotenv prisma @prisma/client serverless serverless-http serverless-offline serverless-esbuild e inicializar Prisma con npx prisma init. En prisma/schema.prisma definir el datasource apuntando a la variable de entorno DATABASE_URL.
2. Conectar Prisma a Supabase: en el panel de Supabase obtener la cadena de conexión para Node.js. Para funciones Lambda usar la opción de pooling que proporciona Supabase con pgbouncer, por ejemplo una URL con pgbouncer=true. Importante: si la contraseña contiene caracteres especiales hay que codificarla con encodeURIComponent antes de formar la URL de conexión para evitar errores.
3. Crear la app de Express: en src/app.ts configurar express, cors y json body parser, añadir rutas de autenticación y gestión de archivos y aplicar middlewares de autenticación y manejo de errores. Mantener rutas bajo prefijos como /api para coherencia.
4. Hacer compatible Express con Lambda: envolver la app con serverless-http en src/index.ts exportando handler para Lambda, de modo que API Gateway reenvíe todas las peticiones al mismo punto.
5. Configuración de Serverless Framework: en serverless.yml definir el proveedor aws con runtime nodejs20.x región y variables de entorno como JWT_SECRET DATABASE_URL y datos de S3. Declarar una función con handler src/index.handler y un evento httpApi con ruta comodín httpApi: *. Incluir plugins serverless-esbuild y serverless-offline y configurar el empaquetado para incluir las librerías de Prisma correctas para Linux y excluir binarios locales no compatibles.
Puntos clave: usar httpApi: * para que API Gateway gestione todas las rutas como catch all, asegurarse de empaquetar el motor de Prisma compatible con Linux para Lambda y gestionar correctamente las variables de entorno y secretos.
6. Despliegue a AWS: una vez configurado ejecutar npx serverless deploy y tras el despliegue se recibirá el endpoint público de API Gateway que apunta a la función Lambda. Mantener únicamente la ruta $default en la configuración de API Gateway para que actúe como catch-all para las rutas de Express.
7. Problemas comunes y soluciones: URL de BD inválida por caracteres especiales en la contraseña solucionar codificándola, advertencia de base de datos vacía crear al menos una tabla antes de introspección, binario de Prisma faltante por incompatibilidad de OS incluir el binario Linux en serverless.yml, rutas 404 por falta de ruta $default configurar httpApi: * y comprobar la integración.
8. Pruebas: usar Postman o curl para probar endpoints como registro login y gestión de archivos; validar subida a S3 y que las operaciones a la base de datos funcionen correctamente desde Lambda.
Conclusión: desplegar una API Express con Prisma y Supabase en AWS Lambda usando Serverless Framework ofrece una arquitectura rentable y escalable sin gestión de servidores, integrándose fácilmente con servicios AWS como S3. Es fundamental gestionar variables de entorno, asegurar la compatibilidad de los binarios de Prisma y configurar correctamente las rutas de API Gateway para que Express funcione sin problemas.
En Q2BSTUDIO ofrecemos servicios profesionales para desarrollar soluciones a medida y acompañar proyectos como este desde la arquitectura hasta el despliegue. Somos especialistas en desarrollo de aplicaciones a medida y software a medida, integración con servicios cloud y optimización para entornos serverless. Si buscas migrar o construir APIs escalables podemos ayudarte con diseño, seguridad y automatización.
Además de desarrollo ofrecemos consultoría en servicios cloud aws y azure para elegir la mejor plataforma y configurar despliegues automatizados, y trabajamos en proyectos de inteligencia artificial y soluciones de negocio para empresas, incluyendo IA para empresas y agentes IA. También proporcionamos servicios de ciberseguridad y pentesting para proteger tus aplicaciones y datos y servicios de inteligencia de negocio como Power BI para explotar tus datos.
Si necesitas una solución completa que combine aplicaciones a medida, seguridad y analítica avanzada en la nube contacta con nosotros. En Q2BSTUDIO podemos implementar pipelines CI/CD integraciones con Secrets Manager monitoreo con CloudWatch y generación de URLs firmadas para S3, todo alineado con buenas prácticas de ciberseguridad y rendimiento.
Palabras clave relacionadas incluidas: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA, power bi. Para proyectos de desarrollo de aplicaciones multiplataforma visita nuestra página de servicios en desarrollo de aplicaciones y software a medida y descubre cómo podemos acelerar tu proyecto.
						
						
						
						
						
						
Comentarios