Monolitos vs Microservicios

mrjo

Johan Espinoza

Posted on November 17, 2020

Monolitos vs Microservicios

Es una pregunta que suelen hacerse las empresas al momento de la creación o de algún sistema de información y para comparar estas dos arquitecturas necesitamos saber qué son:

Monolitos

Cuando todas las partes de un sistema de información existen en un solo proyecto o solución se le conoce como Monolito. Todos nosotros, en algún momento de nuestra vida como desarrolladores, jefes de proyecto, testers, etc, hemos trabajado en una aplicación Monolito y esto no es más que una aplicación que trabaja con diferentes capas (Datos, Presentación y Controladores por ej.) que luego de compilar se publica en un servidor y queda lista para su uso. A continuación una imagen que representa la arquitectura Monolítica.

a logo

Microservicios

Es un estilo de desarrollo arquitectural en el cuál la aplicación está conformada en varias partes que se comunican unas con otras directamente usando protocolos cómo HTTP.

a logo

Ahora a lo que vinimos, las diferencias entre estas arquitecturas.

MONOLITOS MICROSERVICIOS
Más Confiable: Microservicios pueden fácilmente ser distribuidos Más Simple: Monolitos son más simples de administrar pues todo se concentra en un solo lugar
Menos Recursos: Al estar distribuidos en muchas partes, se puede asignar recursos solo para aquellos componentes que lo requieran y mantener lo necesario en aquellos que no, cuando en los Monolitos se necesita asignar recursos a todo el conjunto Menor Latencia: Al estar todo en un solo proyecto, en un solo servidor las llamadas entre sus partes son completamente rápidas
Fácil Escalamiento: Los contenedores de microservicios pueden escalar fácilmente. Con menos recursos y una arquitectura diseñada para escalar, destacan en este apartado. Mayor rendimiento: Al no encontrarse en diferentes partes y evitarse el uso de contenedores y comunicación, en sistemas donde lo que mas importa es la rápidez destacan por sobre los microservicios.
Más Ágil: Con despliegues independientes, que son mas pequeños pueden ser puestas en producción de una manera mucho más rápida reduciendo el time to market.
Menos comunicación: Al dividir los componentes, los equipos de trabajo se vuelven mas independientes porque lo que los canales se puede reducir.
💖 💪 🙅 🚩
mrjo
Johan Espinoza

Posted on November 17, 2020

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related