Modernización de una plataforma legacy sobre Kubernetes

Una plataforma digital con años de desarrollo que funcionaba en un único servidor y se actualizaba a mano.
0
Cambios manuales
100%
Despliegues trazables
Automático
Escalado
Por fases
Modernización

El reto

La plataforma llevaba años creciendo sobre el mismo servidor. Tenía varias interfaces web, procesos en segundo plano y datos persistentes, y algunas dependencias solo funcionaban en esa máquina. El código, la configuración y los datos estaban mezclados, y nadie podía garantizar que una instalación nueva fuera igual que producción.

Cada actualización dependía de alguien que conociera bien cómo estaba montado ese servidor. Reescribir el producto desde cero llevaba demasiado tiempo y dinero, y además era arriesgado, porque buena parte de lo que hacía seguía siendo útil. Había que cambiar la forma de operarlo sin parar el negocio ni perder funciones.

La solución

Empezamos estudiando cómo se comportaba la plataforma en producción y de qué dependía cada parte. Con eso decidimos qué se podía separar, qué tenía que seguir funcionando junto y qué datos debían quedarse fuera de las imágenes de la aplicación.

Después montamos un entorno reproducible con contenedores y Kubernetes. Cada versión se construye y se guarda de forma automática, y la infraestructura se gestiona desde Git, así que cada cambio queda revisado y ligado al código que lo generó. Cuando se aprueba un cambio, la plataforma de despliegue actualiza los servicios sola. Los procesos que más recursos consumen los separamos para que solo arranquen cuando hay trabajo pendiente.

Lo hicimos por fases, manteniendo la compatibilidad con el producto y trabajando junto a su equipo de desarrollo.

Qué obtuvimos

La plataforma ya no depende de lo que alguien recuerde sobre un servidor concreto. Cada versión se construye, se valida y se despliega siempre igual, los cambios quedan registrados y la configuración sensible está separada del código.

El equipo publica versiones nuevas sin pasos manuales y, si algo falla, vuelve a la anterior. Los recursos se ajustan a la actividad real, y la empresa conserva el producto en el que ya había invertido, ahora sobre una base que puede seguir evolucionando.

Tecnologías usadas

Kubernetes
Docker
Argo CD
GitHub Actions
Redis

Servicios aplicados en este caso

DevOps y automatización

Pipelines automatizados, despliegues sin riesgo, entornos reproducibles.

Administración y mantenimiento de servidores

Orquestación de cargas de trabajo, escalado automático, gestión de recursos.