Monolitos vs Microservicios
Johan Espinoza
Posted on November 17, 2020
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.
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.
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. |
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
November 30, 2024
November 30, 2024