Migración de servicios del IOC a Amazon Web Services

Migramos cuatro servicios clave del Institut Obert de Catalunya (Portal, Campus, Secretarías y ePortfolio) a la nube de AWS.


Reto

El Institut Obert de Catalunya (IOC) es el instituto de enseñanza a distancia del Departamento de Educación de la Generalitat de Catalunya, que pone en disposición de las personas una amplia oferta formativa que les permite estudiar de una manera flexible y adaptada a sus necesidades.

La Dirección del IOC quería aprovechar las ventajas del cloud público para mejorar la calidad y la escalabilidad de algunos de sus servicios. Los escogidos fueron los cuatro servicios relacionados con la Gestión Académica y la plataforma de Aprendizaje: el Portal web, el Campus, las Secretarías Académicas de los diferentes centros y el ePortfolio del estudiante.

En este contexto se nos planteó llevar a cabo este proyecto, que titulamos Proyecto de migración del servicio IOC a AWS, para aprovechar toda la experiencia previa satisfactoria que habíamos obtenido realizando la migración de otros servicios a la nube dentro del Departamento de Educación (ÀGORA, ODISSEA, etc.).

El nuevo servicio IOC tenía que disponer de una nueva arquitectura para poder adaptarse a:

  • Las necesidades variables de carga del servicio (escalabilidad y coste).
  • La calidad y el tiempo de respuesta del servicio (robustez, resiliencia y confiabilidad).

Proyecto

El objetivo final del proyecto era llevar a cabo una migración a AWS en modalidad Lift & Shift de los cuatro servicios del IOC (Portal, Campus, Secretarías y ePortfolio) con un mínimo de cambios en el software.

Para cumplir con este objetivo, desde IThinkUPC propusimos una estrategia de migración de los servicios del IOC a AWS, basada en las buenas prácticas de migraciones de servicios a la nube de AWS, que cuenta con las siguientes fases:

Fase 1. Analizar la conveniencia de migrar a AWS: en esta fase llevamos a cabo el asesoramiento necesario para escoger los servicios de AWS y diseñar la arquitectura que más se adecuara a las necesidades del IOC. Algunas de las tareas más relevantes fueron:

  • Diseñar e implementar una arquitectura del servicio más adecuado a las necesidades reales del servicio y aprovechar toda la potencialidad de AWS sin cambios significativos en el software. En concreto, se usaron principalmente los siguientes servicios AWS: servidores EC2, almacenamiento EFS, bases de datos RDS Serverless y frontends en Auto-Scalling Groups (ASG).
  • Analizar los costes de la nueva infraestructura en los diferentes perfiles de consumo identificados.
  • Diseñar las adaptaciones necesarias del software.
  • Identificar, planificar y ejecutar todas las POC (pruebas de concepto) necesarias, tanto técnicas como funcionales.

Fase 2. Trasladar los servicios a AWS: una vez validada la conveniencia y la viabilidad de la migración para abordar esta fase se decidió migrar primero en bloque los servicios Portal, Campus y ePortfolio y, justo a continuación, el servicio Secretaría. Algunas de las tareas más relevantes fueron:

  • Crear la nueva infraestructura sobre AWS según el resultado de la Fase 1.
  • Implementar las adaptaciones del software.
  • Definir y validar la estrategia de migración hacia AWS.
  • Hacer pruebas de migración de los cuatro servicios.
  • Hacer pruebas de rendimiento de los cuatro servicios.
  • Ejecutar la migración siguiendo la estrategia aprobada previamente.

Fase 3. Optimizar la plataforma IOC AWS: una vez los cuatro servicios estuvieron en marcha, seguimos monitorizando la infraestructura y sus costes y hemos identificado propuestas de optimización y reducción de costes de esta. El proceso de optimización debe ser un proceso constante después de la puesta en funcionamiento y en los años sucesivos.

Resultados

La nueva plataforma de servicios del IOC en la nube de AWS, administrada por IThinkUPC, tiene las siguientes ventajas:

  • Capacidad de seguir creciendo en cuanto a volumen y nuevos servicios.
  • Escalabilidad automática en función de la demanda.
  • Reducción de los costes de mantenimiento.
  • Adaptación a los nuevos estándares de integración continua.
  • Mejora de la seguridad.