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.
Te esperamos en los próximos artículos en donde hablaremos mas acerca de estos temas que hoy en día son de importancia e interés en el mundo de la tecnología.