Modularización de un Monolito con Recarga de Código en Caliente de Elixir
Alzo, un monolito de Elixir implementado como una instancia por cliente, aprovecha la carga de código en caliente de Elixir y la VM de Erlang para funciones específicas del cliente. Esto evita fallas en cascada y pruebas complejas de microservicios. Las aplicaciones LiveView específicas del cliente residen en `/alzo/lib/clients/apps`, cargadas dinámicamente al inicio. El código del cliente se elimina durante el proceso de compilación, evitando que la aplicación principal dependa de aplicaciones de tiempo de ejecución. Las actualizaciones de código en caliente se evitan para simplificar. Este enfoque proporciona desarrollo eficiente, mantenibilidad, escalabilidad y la capacidad de refactorizar fácilmente funcionalidades comunes de aplicaciones dinámicas al código base principal.