Hoy vamos a explicar de la forma más clara y otaku que son los microservicios, para que se usan y porque lo hacen, y si estas interesad@ en conocer el porque de este post con una temática tan diferente de la usual, esta explicado al final.
La Wikipedia no ofrece una definición de microservicio, en cambio lo hace de "Arquitectura de Microservicios", que consiste en desarrollar la aplicación como servicios pequeños, Microservicios, que se ejecutan en su propio proceso y mantienen cierta comunicación interna.
Si lo has entendido, fantástico, significa que tienes cierto bagaje con términos de programación y desarrollo de software, en el caso de que no lo hayas hecho, voy a poner un ejemplo para dejarlo todo más claro.
Nosotros somos una compañía de animación japonesa, hacemos anime o colaboramos con otras animadoras. Un día tenemos que decidir como trabajaremos en el siguiente proyecto, el grupo más tradicional propone hacer episodio por episodio a la vez, es decir animación, música y doblaje de cada episodio en la misma fase de producción; mientras que las jóvenes promesas del estudio proponen que luego de hacer el guion de cada episodio, cada grupo trabaje por separado, devolviendo al director los resultados para su aprobación o posterior corrección.
En este ejemplo, el grupo tradicional, estaría proponiendo una arquitectura monolítica, donde todo funciona en la misma máquina y si algo falla se debe de reiniciar todo, aunque no hay problemas de comunicación. En cambio los jóvenes, han propuesto una arquitectura de microservicios, que al no depender de la velocidad de otros elementos, cada elemento individual es más rápido, aunque esto puede llevar a ciertos errores de comunicación.
La mayoría de grandes webs de contenido digital usan de una forma u otra los microservicios, por ejemplo Netflix se subdivide en varias capas de servicios, para obtener la mayor velocidad y los resultados deseados, siendo servicios diferentes los que comprueban los gustos del usuarios, las recomendaciones por país y los que te dicen que series aún no has terminado, luego están los que al reproducir los vídeos, cargan el vídeo, el audio y los subtítulos. Youtube y Twitch hacen lo mismo que Netflix o por ejemplo Twitter es una red social construida con la arquitectura de Microservicios, Facebook por contra utiliza una arquitectura monolítica, pero distribuida en servidores alrededor del mundo.
Este post al igual que los anteriores que hablaban sobre tecnología, tienen la finalidad de transmitir los conocimiento técnicos adquiridos con mi formación académica de la forma más Otaku friendly, para aquellas personas que busquen sobre el tema, puedan entenderlo con ejemplos cercanos en lugar de utilizar la nomenclatura técnica clásica.