¡Hola! Este es un proyecto simple que imita una pizzería usando funciones en la nube con AWS y el framework Serverless.
Imagina que tienes una pizzería. Este código te ayuda a:
- Recibir pedidos de pizza a través de internet.
- Guardar esos pedidos en una cola, como si fuera una lista de espera.
- Preparar la pizza automáticamente cuando el pedido llega a la cocina.
Así, todo sucede solo, sin que tú tengas que estar pendiente. Eso es lo mágico de la nube.
- Node.js: el lenguaje en que está escrito el código (como JavaScript, pero en el servidor).
- AWS Lambda: una forma de ejecutar funciones sin tener que usar un servidor.
- Amazon SQS: una cola donde se guardan los pedidos hasta que alguien (una función) los toma.
- Serverless Framework: una herramienta que hace que desplegar todo esto en la nube sea súper fácil.
Primero, necesitas tener instalado el comando serverless en tu computadora.
npm install -g serverlessEste comando es como una varita mágica que envía tu código a la nube.
Dentro de la carpeta del proyecto, ejecuta:
npm installEsto instalará todas las librerías que tu proyecto necesita para funcionar.
Ahora sí, ¡a la nube!
serverless deployEste comando sube tu código, crea funciones, la cola de pedidos, y lo conecta todo en AWS.
Imagina que quieres pedir una pizza. Puedes hacerlo usando una herramienta como Postman o escribiendo un comando en la terminal.
- Método:
POST - URL:
https://<tu-api-id>.execute-api.<region>.amazonaws.com/order - Cuerpo (Body):
{
"pizza": "Margarita",
"customerId": "abc123"
}Esto crea un pedido nuevo y lo pone en la lista de espera.
Luego, puedes ver en qué estado está tu pedido:
- Método:
GET - URL:
https://<tu-api-id>.execute-api.<region>.amazonaws.com/order/<orderId>
Te dirá si tu pizza está "Procesando".
Cuando hay un pedido nuevo, la función prepOrder se activa sola. Es como si alguien en la cocina leyera la lista de pedidos y comenzara a prepararlo.
Puedes ver qué está pasando en los registros con este comando:
serverless logs -f prepOrderpizzaApp/
├── handler.js # Aquí está el código principal de las funciones Lambda
├── serverless.yml # Aquí se describe cómo se despliega todo a AWS
├── package.json # Aquí están las dependencias del proyecto- No necesitas servidores. ¡Todo corre automáticamente en la nube!
- Aprendes sobre funciones Lambda, colas SQS, y cómo enviar datos desde internet.
- ¡Es como pedir una pizza real, pero con programación!
¿Terminaste de probar? Puedes borrar todo con este comando:
serverless removeEsto eliminará las funciones, colas y configuraciones en la nube.