Modernizar una aplicación existente no consiste en romper lo que ya funciona para decir que ahora es cloud-native.
En un proyecto antiguo trabajé con una aplicación distribuida que originalmente se ejecutaba directamente sobre un servidor Linux. El objetivo fue convertirla en un laboratorio real de migración progresiva.
Primero llegó la contenerización con Docker para aislar servicios y simplificar despliegue. Después, la migración a Kubernetes con K3s en un VPS real. Se separaron backend, base de datos y mensajería en componentes independientes.
Una parte especialmente delicada fue mantener compatibilidad con clientes legacy que dependían de puertos fijos. En Kubernetes muchas veces cambian los mecanismos de exposición de red, y hay que adaptar la arquitectura sin romper protocolos existentes.
La clave fue avanzar por fases, validar cada paso y mantener compatibilidad mientras la arquitectura evolucionaba.