logo

Ventajas y desventajas de los microservicios

octubre 5, 2021, Sin comentarios

En el artículo anterior explicamos qué eran los micro servicios sirve de introducción a este, recomendamos su lectura para tener una idea de que estamos hablando en este:

¿Qué son los microservicios?

Los micro servicios presentan una serie de ventajas y desafíos que son convenientes de 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.

Ventajas:

Capacidad de recuperación

Una de las principales ventajas de los microservicios es, precisamente que sus componentes trabajan por separado y de forma independiente, lo que permite que en caso de error la aplicación entera no se caiga y pueda seguir dando el servicio de una forma controlada y segura, volviendo a levantar lo antes posible una nueva instancia del servicio caído en otro servidor para que continúe funcionando con el menor tiempo de parada posible.

Facilidad de implementación

Además de la seguridad, que los componentes sean separados entre sí, 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 mucho más grande para actualizar las aplicaciones.

Gran capacidad de expansión

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.

Facilidad de implementación

Una de las ventajas principales ventajas de los microservicios es su facilidad de implementación, ya que al ser piezas pequeñas unidas para formar un programa completo, se pueden ir desplegando de forma independiente para su testeo y conectarlas al final, aunque requiere mayor coordinación entre los equipos de desarrollo para poder realizar el despliegue conjunto final de forma correcta.

Aplicaciones más abiertas

Al ser micro aplicaciones interconectadas por APIs, da igual que lenguajes utilicemos en ellas, ya que siempre utilizamos una capa de comunicación entre medias a la que le da igual si una parte está escrita en un lenguaje de programación distinto de otra, podrán comunicarse como si de una aplicación sola se tratase. Esto da la flexibilidad de poder hacer aplicaciones multi lenguaje utilizando el mejor en cada caso de uso.

Desafíos que presenta esta arquitectura

Los micro servicios, 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.

Diseño

 El primer desafío al que se enfrentaría un equipo de desarrolladores para microservicios sería el diseño de la aplicación, 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.

Testing

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.

Control de versiones

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.

Implementación

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.

Registro

Con esta clase de sistemas distribuidos en nodos, 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.

Depuración de errores

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.

¿Quieres compartirlo en las redes sociales?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

No hay comentarios, anímate y deja el primero.

SERVICIOS
PRODUCTOS
clicktec logolocustec
CONTACTO
Horario: Lunes a viernes de 8.30 a 14.00h y 16.00 a 19.30h
Av. de Andalucía, 56, B, bajo, 23006 Jaén – Españainfo@deditec.es(+34) 953 195 077
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram