Diferencia entre arquitectura monolítica y de microservicios
Conoce la principal diferencia entre una arquitectura monolítica y una arquitectura basada en microservicios.
Arquitectura monolítica
Una arquitectura monolítica se puede resumir con el siguiente esquema:
Normalmente tenemos un frontend y luego todos los servicios o módulos, que están integrados dentro de un desplegable, por ejemplo, en el caso de Java puede ser un JAR o un WAR.
Todos estos módulos están corriendo debajo de la misma máquina virtual, de forma que toda la comunicación entre todos los módulos, realmente pasa a memoria entre llamadas a métodos.
Arquitectura basada en microservicios
En los microservicios lo que se hace es particionar el dominio usando domain driven design.
En este caso, cada uno de los bounded context se aísla y se hace que se comuniquen entre ellos mediante red, evitando así que lo hagan a través de una llamada a un método local, con lo que conseguimos que todos los servicios se comuniquen remotamente.
La arquitectura basada en microservicios es realmente programación distribuida, porque vamos a conseguir agilidad a la hora de llevar nuestra aplicación desde desarrollo hasta producción, lo que se consigue gracias a técnicas como continuous delivery, continuous deployment y continuous improvement.
Con los microservicios conseguimos poder ser capaces de desplegar a producción de forma más continua y de una forma mucho más ágil.
Recuerda que puedes comenzar este curso con tu suscripción de OpenWebinars. Si todavía no estás suscrito, aprovecha para hacerlo ahora.