¿Que es una arquitectura monolítica?
Una arquitectura monolítica es un enfoque de diseño de software en el que una aplicación se desarrolla y se despliega como una única unidad monolítica. En este modelo, todos los componentes y servicios de la aplicación están interconectados y forman parte de un solo código fuente y un único ejecutable. Es un enfoque tradicional y consolidado en el desarrollo de software.
Características clave de una arquitectura monolítica:
Estructura: En una arquitectura monolítica, la aplicación se desarrolla y se despliega como una única unidad. Todos los componentes, servicios y funciones están interconectados y forman parte de la misma aplicación.
Escalabilidad: La escalabilidad se logra típicamente a través de la replicación de toda la aplicación o mediante el escalado vertical, es decir, aumentando los recursos de una instancia única.
Desarrollo y Despliegue: El desarrollo y el despliegue son centralizados. Los cambios se realizan y se implementan en la aplicación como un conjunto coherente.
Tecnología y Stack: La aplicación utiliza un único conjunto de tecnologías y un stack de desarrollo uniforme para todos sus componentes.
Comunicación entre Componentes: La comunicación entre componentes se realiza generalmente a través de llamadas de función o mediante el uso de librerías compartidas.
Tolerancia a fallos: Un fallo en una parte de la aplicación puede afectar a toda la aplicación. La tolerancia a fallos se basa en la integridad general de la aplicación.