Concuerdo con la recomendación de pruebas automatizadas y CI/CD como prioridad, pero quiero matizar un punto: en un monolito bien estructurado, el desacoplamiento interno es clave para evitar que se convierta en un 'big ball of mud'. La arquitectura hexagonal o clean architecture ayuda, pero no sustituye una disciplina rigurosa en los límites de módulos. Si se implementa correctamente, la migración futura a microservicios sería más una refactorización que una reescritura total.
Respecto a Docker y CI/CD, sugiero evitar la sobreingeniería inicial. Un workflow básico en GitHub Actions que ejecute pruebas y construya la imagen está bien, pero no te obsesiones con simular todos los servicios externos desde el día uno. Enfócate en tener un monolito funcional con pruebas de integración mínimas antes de escalar la complejidad del pipeline. Herramientas como Docker Compose pueden simplificar el entorno de desarrollo sin necesidad de microservicios prematuros.
¿Has considerado cómo manejarás la persistencia de datos en este monolito? Un error común es acoplar la lógica de negocio a un ORM específico, lo que dificulta cambios posteriores.