que son los microservicios

Los microservicios han traído una revolución al desarrollo web, ya que han hecho posible la creación de grandes plataformas como Netflix o Amazon. Actualmente el sueño para cualquier desarrollador web es dominar esta tecnología, y para introducirte en ella, en este post te contamos de qué van los microservicios, y podrás picar algo de código para entenderlos mejor.

En esta ocasión, hemos tenido el placer de contar con uno de nuestros profesores de Keepcoding, Kevin Martínez, que además de impartir cursos online, es desarrollador web en una consultora del Reino Unido, especializada en la transformación digital y microservicios. Antes de entrar de lleno en el tema, debes conocer algunos terminos básicos:

¿Qué son los Microservicios?

También conocida como arquitectura de microservicios, es un tipo de arquitectura que organiza una aplicación como si se tratase de un cúmulo de servicios, los cuales son fácilmente testeados, tienen bajo acople, se efectúan de forma independiente, se organizan alrededor de necesidades de negocio y pueden ser manipulados por un equipo de pequeñas dimensiones. Se pueden separar por dominios, de manera que las partes de la aplicación no vayan en bloque, para así trabajar con ellas de forma individual.

¿Cómo integrar los microservicios al Front-end?

Con esto nos referimos a la práctica de convertir datos a una interfaz visual, a través de HTML, CSS y JavaScript, de forma que los usuarios puedan interactuar con los datos que llegarían de un servidor u otra fuente. Además, crea experiencias de usuario increíbles.

En este punto, el desarrollador se puede encontrar con que le pasan varias pantallas (comprar, notificaciones, etc.) y puede decidir probarlo en local. De ese modo, se encontraría con tres servicios, con un docker distinto cada uno, donde cada base de datos puede ser distinta. Así, se puede llegar a casos con infinitos terminales, entonces, ¿qué se debería hacer? Se pasaría a usar el concepto de Mocks, es decir, programación orientada a objetos, objetos que simulan el comportamiento de elementos reales y que es muy frecuente que sea parte de una iniciativa de prueba de software.

El que se va a utilizar en este momento es Cypress, que es una herramienta para hacer test end-to-end. De esa forma, los desarrolladores front no van a tener que llamar a estos servicios levantados en local; cada llamada que hagan hacia fuera va a ser interceptada por Cypress, así se crea una distinción entre lo que se desarrolla en el front y lo que se
desarrolla en el back.

Debes tener en cuenta que en algunas ocasiones los datos recibidos a través de Cypress Mock traen una variación y no son exactamente iguales a los datos reales, por esta razón, los mock deben ser validados siempre con los microservicios, para verificar que esos datos son los mismos que van a volver, iguales en estructura y tipo.

Para ello Kevin nos da la solución, cada microservicio que quiera ser parte de su ecosistema tiene que proveer un endpoint que les haga validar ese contrato, autenticado solo para los roles de tipo test. Es momento de llevar todo esto a la práctica y aquí te dejamos un ejercicio para que comprendas mejor los microservicios.

Los microservicios están revolucionando el desarrollo web y si quieres aprender a utilizarlos y llevarlos a tus proyectos, descubre nuestro Full Stack Web Bootcamp. En seis meses dominarás esta y otras tecnologías para convertirte en un Full Stack Web Developer. Conoce los detalles del Bootcamp descargando el temario aquí.

Otras entradas que te pueden interesar:

¡Conoce nuestros Bootcamps!

Descarga el temario y descubre cómo en 6 meses podrás ser un Full Stack DevOps Bootcamp.

¿Quieres más información?