Me encontré escribiendo API GraphQL sin servidor a mano con demasiada frecuencia a mediados de año. Así que tomé el kit Starter NodeJS Starter de la gente encantadora que hizo el tutorial de Serverless Stack y lo adapté para admitir consultas y mutaciones GraphQL . ¡Así se presenta el Kit de inicio GraphQL Serverless !
Este kit está dirigido a AWS Lambda específicamente con Apollo Server . Sin embargo, estoy bastante seguro de que puede configurarlo con GCP y Azure, ya que Apollo tiene implementaciones para ellos. Una vez instalado, puede implementar la función, extenderla vinculando otros recursos como tablas de DynamoDB , S3 Buckets, etc.
Si desea adoptar un enfoque de microservicios, deberá experimentar con la federación Apollo y estar preparado para ensuciarse las manos. Además, si está buscando usar suscripciones para casos de uso en tiempo real, le recomendaría usar AWS AppSync, que es un backend administrado GraphQL sin servidor. Entonces solo necesitaría configurar su Cliente en su interfaz para aceptar múltiples puntos finales API , entonces Bob es su tío.

¿Qué pasa con la integración de diferentes tipos de bases de datos? 🤔

Mi consejo sería utilizar una instancia regular RDS MySQL / PostgreSQL para su desarrollo local y luego combinar dos clústeres Aurora sin servidor para MySQL / PostgreSQL para sus etapas de desarrollo y producción. Esto se debe a que Lambda debe estar en la misma VPC que Aurora, y cuando trabaje localmente recibirá el temido mensaje de error Token S inesperado en JSON en la posición 0 ", si está intentando acceder a sus clústeres Aurora sin servidor. A menos que alguien tenga una alternativa de trabajo, comparta 🙃.
Además, no pude hacer que la lambda funcionara con Knex y Sequelize como ORM. Una vez que me instalé en el módulo MySQL sin servidor , estaba listo para comenzar. Recibí errores internos del servidor demasiadas veces y me alegró comprometer la escritura de SQL sin formato para poner en marcha el proyecto.
Si eres nuevo en Serverless o GraphQL, en Pimp My Book creamos un recurso para capacitar a los ingenieros para que se pongan al día con estas increíbles tecnologías llamadas #CodeJavascript .
La sensación de no mantener ninguna API REST de producción.
GraphQL todos los thiiiings !!! 🎉🌟🎈