En el artículo anterior explicamos qué son los microservicios, recomendamos su lectura para tener una idea de lo que vamos a introducir ahora.
🟢 Los Microservicios presentan una serie de ventajas y desventajas que es conveniente conocer antes de aventurarse a la migración de las aplicaciones de una empresa a esta arquitectura.
🟢 En este artículo entramos en profundidad en algunas de ellas para que conozca a lo que se va a enfrentar en caso de que decida migrar a este tipo de aplicaciones.
Una de las principales ventajas de los microservicios. Sus componentes trabajan por separado y de forma independiente, lo que permite que en caso de error la aplicación no caiga y pueda seguir dando el servicio de una forma controlada y segura.
Facilita un desarrollo mucho más ágil y rápido, lo que permite desplegar apps de una forma mucho más rápida y sencilla, así como una facilidad más grande para actualizar las aplicaciones.
Requiere mayor coordinación entre los equipos de desarrollo para poder realizar el despliegue conjunto final de forma correcta.
Los componentes separados ayudan a que sean fácilmente escalables e incluso elásticos, es decir que se adapten al tráfico que les llega en ese momento ahorrando recursos y dinero a la empresa.
Incluso se podría mantener el mismo microservicio en diferentes servidores para acelerar el tiempo de servicio a nivel global.
Al ser micro aplicaciones interconectadas por APIs, no importa el lenguaje que utilicemos en ellas, ya que siempre utilizamos una capa de comunicación entre medias y no importa si una parte está escrita en un lenguaje de programación distinto de otra,.
Los microservicios, si bien son muy útiles presentan una serie de desafíos a los que debemos tener en consideración, ya que no solo cambiamos la forma de hacer aplicaciones.
Cambiamos la forma de trabajar de las personas, debe haber una muy buena planificación, formación y comunicación en todo el proceso para que se haga de la mejor forma posible.
El equipo debe invertir tiempo en identificar las dependencias entre los diferentes nodos de la aplicación a fin de que se cumplan siempre para evitar posibles errores entre nodos.
Los test, tanto de integración como los test finales serán vitales a la hora de comprobar que un despliegue se ha realizado correctamente y que la aplicación realizada no tiene ningún tipo de fallo.
Habrá que llevar un control estricto de las versiones de las distintas herramientas y frameworks que se utilicen dentro de nuestra app a fin de identificar posibles errores de incompatibilidad entre versiones.
La implementación inicial de la aplicación será un engorro y por ello debemos defender mucho de la automatización para evitar muchos factores que serían incluso agobiantes debido a la cantidad de cosas que tendríamos que hacer.
El tener un registro común y centralizado en el que se puedan revisar todos los elementos de forma integral, de lo contrario, no se podría controlar en caso de necesitar expandir el sistema distribuido.
Por desgracia, todavía no existe una forma consensuada de depurar errores en esta clase de sistemas por lo menos cuando el sistema escala a decenas o cientos de servicios, en los que la depuración remota deja de ser viable.
🔉 Para más información sobre nuestros productos o nuestra empresa, visita: https://deditec.es/
¿Quieres compartirlo en las redes sociales?
No hay comentarios, anímate y deja el primero.