Monolitos modulares | CREA aplicaciones monolíticas con esto ANTES de usar microservicios

preview_player
Показать описание
Los monolitos modulares son una tendencia MUY interesante que nos ayuda a construir mejores aplicaciones monoliticas, sin tener que llegar a microservicios (si no es estrictamente necesario).

MIS CURSOS

Secciones
00:00 - Bienvenida al video
00:26 - Arquitectura por capas y microservicios
03:54 - El monolito modular
04:18 - Separación por dominio
05:30 - Encapsulamiento e interacción
06:51 - Cómo organizar el código
09:07 - Bases de datos
11:35 - Ejemplo de código
13:57 - Tendencia y cierre
Рекомендации по теме
Комментарии
Автор

Excelente video, dejo una cita de Robert C. Martin (Tio Bob): "Los microservicios no son una arquitectura, son una estrategia de despliegue. El desacoplamiento y la división podran (y deberían) lograrse independientemente de si se impone el límite de servicio."

cmsalvado
Автор

Un companero de trabajo me envio este video, fue lo mejor del dia. Gracias Manuel excelente video!

cristiancamilosanchezardil
Автор

Excelente video gracias por compartir tus conocimientos Manuel.

cesarleon
Автор

Me parece una estrategia muy inteligente que la aplicación vaya marcando la evolución de la arquitectura. En los últimos años he hecho varias aplicaciones nuevas y no he necesitado los microservicios, no es resistencia al cambio simplemente las modas no me apantallan. Saludos!

Coderoll
Автор

Me gusto mucho el video, efectivamente pienso en monolitos y creo que para usar microservicios debe haber una experiencia- necesidad puntual y enorme.

andrair
Автор

Excelente video, explica super bien gracias por compartir sus conocimientos.

lilianrgg
Автор

muy bueno.. a la larga se reinventan las cosas con nombres y detalles diferentes.. Esto de separar en capas y proyectos ya se hacía en 2003 cuando vino .net . Lo hacíamos con otras arquitecturas más acopladas como remoting web services etc no existía mucho sobre APIs REST y menos Microservicios pero a grosos modos es una arquitectura super usada desde hace 20 años

moviedomof
Автор

Excelente video Manuel, leí por encima pero ahora con tu video me queda todo muy claro, gracias por compartir

yesidays
Автор

Que explicación tan excelente, muchas gracias

sebastianvalenciacarvajal
Автор

Buen video manuel, para complementar, cuando se utiliza una base de datos por monolitos modular, ya estas aplicando un patron de los microservicios y por lo que veo lo que se esta aplicando aqui es el desacople por capacidades de negocio. un microservicio no necesariamiente debe ser 'micro', el tamaño del MS va ligado con la parte del negocio que quiere cubrir.

lucashenry
Автор

Totalmente de acuerdo. El problema de hoy día es que hay personas en puestos de decisión que realmente no entienden la programación. Como tú bien dices, se mueven por modas. Hace falta una revolución en el sector de la programación, donde los programadores no se limiten a tirar líneas de código si no que vean una aplicación como algo vivo, que crecerá y que no sabemos por donde lo hará.
Esto debe hacer al programador tener un poquito más de formación sobre las tecnologías (si bien es cierto que no hay mejor ni peor, sino que dependerá de la finalidad del programa)

También es importante que nuestro código esté modularizado, de modo que la lógica de negocio no sea un galimatías para un posible programador que ocupe nuestro puesto a futuro.

En mi caso (y no digo que sea la mejor forma), uso .NET con EF y MVC 4 y conectada al dominio. Pero la aplicación es una especie de megaprograma modularizado, con secciones. Es decir, tengo una base monolítica que solo te lleva al login. Una vez te logueas ya tienes un menú lateral con todas las secciones o programas con su código standalone (Modelo de datos, con su controlador con sus vistas) y todo independiente de todas las demás secciones además como está conectada al dominio puedes gestionar fácilmente los permisos a las secciones mediante asignación de grupos en el controlador de dominio. Obviamente esto te hará usar métodos parecidos por no decir idénticos por lo que tiene un poco más de trabajo, pero es ROBUSTA, escalable y fácilmente entendible para otro programador. Éste programa nació como una idea en el 2017 y hoy día es una parte muy importante de la empresa.

Sigue así Manuel Zapata, tienes la visión clara de un buen programador!

agu
Автор

Los microservicios no aparecieron como consecuencia de una mala arquitectura monolítica, ni del mal uso de patrones de diseño, los microservicios son la consecuencia de la necesidad de balancear las diferentes cargas de la aplicación y de garantizar hasta cierto punto la resiliencia del sistema. La parte positiva que muchos desarrolladores ven es que pueden trabajar orientados a contratos donde cada microservicio sería una caja negra para el que no lo mantenga. Uno de los principales problemas vienen desde el punto transaccional, cuando más de un microservicio toma parte en la misma transacción, garantizar la consistencia y atomicidad se vuelve complicado. Otro gran problema viene con la mantenibilidad del código, al ser un desarrollo orientado a un contrato no tenemos la ventaja del tipado fuerte del compilador, cualquier cambio inocente en un nombre de una variable a consumir puede llevar a que el sistema no funcione, o peor, que funcione de forma errónea. Otros elementos a tener en cuenta son: hay que cambiar el proceso de cómo se hacen las liberaciones, como se hace el monitoreo y traceo de errores, como preparar datos válidos para las diferentes tipos de pruebas. Para decidirse por la arquitectura de microservicios debemos tener razones sólidas porque implica una inversión en tiempo, hardware y conocimiento.

dhalachian
Автор

Excelente material, muchas gracias !!!

josereynelchauxperez
Автор

Muy interesante Manuel muchas gracias por explicarlo tan claramente.

MrSfaundez
Автор

Excelente video!. y ahora en 2022 Modular monolith ya está en "Early majority", significa que ha tenido más adopción?

walterrodriguez
Автор

Muchas gracias amigo, saludos desde venezuela... Actualmente estoy incursionando en un framework de Typescript llamado NestJS y su diseno de arquitectura es completamente modular. Esto complementa con mi proceso de aprendizaje

thaeronmorales
Автор

Muy buen tema, me recordó que Zend Framework 1.0 + ya se trabajaba la arquitectura modular y para Zend Framework (2 y 3) ahora llamado Laminas su punto fuerte poder separar en modulos la aplicación. Y como bien mencionas al interior del modulo se aplica la arquitectura que más convienga, en Laravel también se podría usar implementanto la separación por package que sirven para extender las funciones.

rurouniize
Автор

Excelente explicación, quiero contarte que sin saber estaba implementa esta arquitectura, pero solo lo hice por organización ahora con este video voy a independizar un poco más, sería bueno un ejemplo de comunicación de esta arquitectura 👍🏼

davisayus
Автор

Me parece interesante y nosotros estamos pasando por un proceso conceptual de Modularización de un monolito, para luego ir a Microservicios. Creo que es el mejor path de migración para romper el monolito. Saludos

totobol
Автор

Muy interesante Manuel, se puede decir entonces que de esta forma, si se relaliza un simple cambio, hay que deployar todo el monolito modular no? como si de un monolito normal se tratara.

feyaluciano