Primeros pasos con Fastify ⚡️

Qué es Fastify

Fastify es un framework de NodeJS (lado de servidor) que destaca por combinar su gran rendimiento con una gran experiencia para el desarrollador, inspirándose en Hapi o Express, dos de los frameworks más queridos y usados por la comunidad.

Por qué usar Fastify 👍

Podríamos destacar 3 puntos fuertes de Fastify:

  • 🔥 Rendimiento: tiene el mejor rendimiento entre los principales frameworks de NodeJS, por lo que puedes procesar más peticiones por el mismo hardware, lo que redunda en menor gasto en infraestructura
  • 🧩 Modularidad: hay casi 200 plugins disponibles para cualquier cosa que necesites hacer o añadir en una API
  • 👍 Desarrollo fácil: desde código limpio y claro, logger Pino, validación de esquemas JSON o soporte de Typescript, entre otros.

Cómo instalar Fastify 💡

Para instalar Fastify basta con ejecutar:

npm install fastify -s

💡 Recuerda que con -s se guardará en tu package.json

Si usas yarn, ejecuta:

yarn add fastify

Desarrollo de una API con Fastify 🧑‍💻

Después de instalarlo como hemos visto en el punto anterior, con el siguiente código tendriamos un endpoint básico:

const fastify = require('fastify')({ logger: true })

fastify.get('/', async (request, reply) => {
    return { hello: 'world' }
})

const start = async () => {
    try {
        await fastify.listen(3000)
    } catch (err) {
        fastify.log.error(err)
        process.exit(1)
    }
}
start()

💡 Si arrancamos con node server.js ya estaría listo y si accedemos a localhost:3000 en el navegador o ejecutamos curl http://localhost:3000 veremos la respuesta

Si deseas el modo bonito de Pino, instala la dependencia pino-pretty con npm i -s pino-pretty y cambia la primera línea del ejemplo a:

const fastify = require('fastify')({ logger: { prettyPrint: true } })

Y a partir de aquí, ya es ir añadiendo los endpoints y plugins que necesites según tu proyecto 👍

Desplegando Fastify 🤖

Si uno de los puntos fuertes de Fastify es el rendimiento y el poder reducir el gasto en infraestructura, podemos potenciarlo si usamos un proveedor como Clouding.io y tener nuestra API disponible por 3 euros al mes, por ejemplo. Menos de 4 euros incluyendo IVA.

Creamos una cuenta o entramos aquí en la que tengamos y pulsamos el botón naranja de abajo para crear un servidor:
Crear servidor en clouding

Después elegimos la configuración del servidor. Aquí elijo Ubuntu Server 20.04 y la mínima configuración: 1/2 Core + 1 GB RAM + 5 GB SSD, suficiente para ejecutar nuestra API basada en Fastify.

Por supuesto, puedes elegir cualquier otro sistema operativo o versión, así como aumentar cada parámetro: nº de cores de CPU, GB de SSD y proporción de 2 o 4 GB RAM por core de CPU.

Configuración servidor VPS clouding

Por último, pulsamos el botón Enviar de abajo y ya tenemos nuestro servidor en Clouding.io 🚀

Como puedes ver, antes de crearlo puedes asegurarte del precio con y sin IVA, útil para saber cuánto pagarás a final de mes en función de la configuración que hayas elegido. Asi evitas sorpresas 🙂
Configuración servidor VPS clouding

Con los datos de acceso (IP, usuario/contraseña o nuestro PEM que hayas elegido), nos conectaremos al VPS vía consola para el siguiente paso.

💡 Si no tienes claro cómo, ya escribí sobre Cómo conectarse por SSH via terminal.

En este punto, ya tienes tu API con Fastify y tu servidor, decide cómo desplegar y arrancar tu código como prefieras: con git/node, con PM2, etc.

¡Boom! ⚡️ Ya tienes tu API con Fastify corriendo en Clouding con un gran rendimiento y precio, deja un comentario con tus preguntas o comentarios

David Burgos

Read more posts by this author.