Microservicios y código de ejemplo

Estaba preparando una propuesta de charla de [microservicios] y mientras buscaba información para el código de ejemplo, me di con la sorpresa de que lo que encontraba en la web era de complejidad media/alta (o no se entendía) o peor aún, a pesar de que muchos (podría afirmar que más del 50%) indicaban que se trataban de microservicios, pues no lo eran.

Fuente: [microservices]

¿Cómo confirmas si estás viendo un microservicio?

Siendo concretos, un microservicio debe:

  1. Responder a un solo trabajo, es decir, una sola funcionalidad
  2. Ser autónomo incluso en su instalación

Okey, hay [otras consideraciones] a tomar en cuenta, pero a mi entender si no pasamos los dos primeros filtros, no tiene sentido seguir avanzando.

¿Qué hice al respecto?

Sin ir en muchos detalles, se me ocurrió detener lo que estaba haciendo para ponerme a escribir códigos de ejemplo de microservicios.

Ojo, no me considero un experto pero creo que mi idea es sencilla, crear un proyecto para compartir lo que voy aprendiendo.

¿En qué consiste el proyecto?

El requitisto principal es que el código sea fácil de entender y que además permita aprender a construir microservicios. Es así que lo que tengo en mente hasta ahora es:

  • Una plantilla de código (incluye soporte de HTTP GET)
  • Código de ejemplos para:
    1. Soporte de HTTP GET
    2. Soporte de HTTP GET y parámetros
    3. Soporte de HTTP POST y parámetros
    4. Soporte de HTTP GET y Docker para desplegar el microservicio

Inicialmente pensé en escribir todo en NodeJS pero luego dije ¿Por qué no más lenguajes?

¿Qué he avanzado hasta ahora?

Pues como dije líneas arriba, me animé a escribir algo de código 🙂 El proyecto se llama microservices-templates y ya está en GitHub, aquí la url: https://github.com/jersson/microservices-templates

Si bien es cierto tengo en mente programar en al menos cinco lenguajes, decidí que no podía esperar tanto para liberar algo, así que aquí va la versión en NodeJS: https://github.com/jersson/microservices-templates/tree/master/00-node

Como podrán notar en el código, este incluye descripciones sobre como probar cada microservicio. Además, cada archivo tiene pocas líneas de código y cada una de ellas la he escrito de manera que busqué facilitar su lectura.

Este proyecto me gusta bastante y estoy seguro de que si consigo ayuda podré avanzar más rápido, así que si les interesa aprender o ya saben como escribir o mejorar lo que estoy construyendo, anímense, estaré aquí o en GitHub 🙂

Sin más que decirles me despido esperando que tengan un excelente nuevo año.

Un abrazo.

Fuente imagen cabecera:[what are microservices?]

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.