El modelo monolítico es una forma de estructurar aplicaciones donde todos los componentes están agrupados en una única unidad indivisible. Desde la lógica de negocio hasta el acceso a datos y la interfaz de usuario, todo vive en un solo despliegue.
Durante años, la forma más natural de desarrollar software fue en forma de un único programa: una aplicación que se compila, se empaqueta y se despliega como un todo. Este enfoque es simple, directo y fue el estándar durante décadas, especialmente en aplicaciones empresariales construidas con Java EE, .NET, PHP y otros entornos populares.
Imaginá un restaurante donde una sola persona cocina, cobra, lava los platos, toma pedidos y además administra el negocio. Todo en un solo cuerpo. Funciona bien si hay pocos clientes, pero si el negocio crece, esa persona colapsa.
// En un monolito típico Java con Spring Boot
@RestController
public class ProductoController {
@Autowired
private ProductoService productoService;
@GetMapping("/productos")
public List listar() {
return productoService.obtenerTodos();
}
}
El controlador, el servicio y el acceso a datos viven en el mismo proyecto y se despliegan juntos.
Aunque hoy está de moda hablar de microservicios, lo cierto es que muchas startups y equipos pequeños deben empezar con monolitos. Son rápidos de desarrollar, fáciles de probar, y permiten enfocarse en el valor de negocio.
El modelo monolítico no está muerto. Al contrario: es el punto de partida natural de muchos sistemas. Lo importante es saber cuándo conviene migrar a otra arquitectura, como los microservicios, sin caer en el hype.