Tag: arquitectura distribuida

¿Cuándo usar microservicios? Repaso de las ventajas y desventajas

¿Cuándo usar microservicios? Repaso de las ventajas y desventajas

En el post anterior, además de hacer una introducción a lo que son los microservicios, también vimos algunos conceptos claves que le podemos asociar.

La siguiente pregunta que podemos pensar es, ¿cuándo usar microservicios? Algo natural que suele pasar, y más en el rubro IT, es querer usar la última tecnología disponible o aquello que está de moda (que es un poco lo que pasa a día de hoy con los microservicios). Pero como suele pasar con muchas preguntas, la respuesta es: depende.

Para responder eso, primero debemos profundizar en algunas de las ventajas y desventajas que tienen los microservicios:

Ventajas:

Ciclo de vida de aplicaciones independiente: Cada uno de los microservicios que componen la solución es 100% independiente del otro desde el punto de vista tecnológico (arquitectura interna, lenguaje de programación, etc.), del equipo que lo trabaja y cómo se organiza. Esto permite que cada uno de esos microservicios evolucione, crezca o disminuya de forma independiente al resto de los microservicios.

Orientación a la evolución tecnológica: Al ser aplicaciones independientes cada una puede estar en un lenguaje o arquitectura diferente. Esto puede ayudar a hacer pruebas de nuevos conceptos o tecnologías en algún microservicio puntual que, dada la función de negocio particular que debe cumplir, se adapte a eso. Lo mismo ocurre con la actualización tecnológica, es mucho más simple actualizar versiones de SDKs y librerías de un microservicio puntual (o varios) que de una aplicación grande y monolítica. Esto último lo digo con experiencia, me ha pasado en aplicaciones grandes que actualizar una librería era una cuestión de estado en el proyecto. Y actualizar el SDK, era presentar una propuesta de páginas a los sponsors explicando el porqué se necesitaba hacer eso. Ahora mismo por ejemplo en el trabajo estamos actualizando microservicios en Go y Java de forma independiente a medida que cada equipo tiene tiempo y sin afectar en nada al resto de las aplicaciones.

Seguir leyendo “¿Cuándo usar microservicios? Repaso de las ventajas y desventajas”