Blog de Amazon Web Services (AWS)

Mineduc Digital: una plataforma educativa para estudiantes de instituciones públicas en Guatemala, basada en AWS

Por Jesús Guzmán y Rafael Cordon, Cloud Solutions Architect y Chief Cloud Architect en ITZ Data.
Manuel Cuellar, Arquitecto de Soluciones en Amazon Web Services para Sector Público.

Introducción

Al inicio de la pandemia del COVID-19, el Ministerio de Educación de Guatemala tomó la decisión de cerrar las escuelas públicas para mitigar la propagación del virus. El cierre de las escuelas obligó al Ministerio a implementar diversas soluciones innovadoras para apoyar a estudiantes, maestros y padres de familia a darle continuidad a la experiencia educativa.

ITZ Data (AWS Advanced Consulting Partner / Government Competency), con el apoyo de Unicef y la embajada de Canadá, ayudó al Ministerio de Educación a lanzar, el 14 de Julio de 2020, Mineduc Digital: la primer plataforma de educación en línea del país, en donde estudiantes de todos los niveles educativos pueden acceder a guías de auto estudio digitales, desde cualquier dispositivo conectado a internet. El proyecto se  implementó y desplegó en un lapso de dos meses, siendo el principal foco la importancia y urgencia de mantener el Sistema Educativo del país en funcionamiento.

ITZ Data diseñó e implementó una arquitectura cloud-native en AWS para desplegar Open edX, el software open source líder para cursos masivos en línea (MOOCs por sus siglas en inglés), en una infraestructura escalable y simple de administrar. Se integraron servicios como Amazon Elastic Kubernetes Service (Amazon EKS), Amazon Aurora, Amazon Elasticache y Amazon Elasticsearch Service (Amazon ES); todos orquestados mediante AWS Cloud Development Kit (AWS CDK).

edX es el servicio de aprendizaje en línea fundado por Harvard y MIT en el 2012. La visión de edX es ofrecer cursos de alta calidad, de las mejores universidades e instituciones, a estudiantes en todo el mundo. Es un facilitador de cursos masivos en línea (MOOCs) basado en un modelo sin fines de lucro y open source. La misión de edX es:

  • Incrementar acceso a educación de calidad para todos, en todos los lugares
  • Mejorar la enseñanza y aprendizaje en campus, así como, en línea
  • Impulsar la enseñanza y aprendizaje por medio de la investigación

La plataforma Open edX provee la tecnología de software de aprendizaje masiva y escalable, detrás de edX.

Imagen 1. Plataforma en línea de Mineduc Digital

El Reto

ITZ Data se concentró en construir una plataforma educativa, de acceso público, para todos los estudiantes a nivel nacional que cumpliera con una disponibilidad del 100%, soportando a 10,000 estudiantes y cumpliendo, en su totalidad, las mejores prácticas de seguridad en la nube sugeridas por AWS.

Para asegurar que la plataforma fuera escalable y robusta, ITZ Data y su equipo, utilizó como base el software libre Open edX, el cual se implementó en una arquitectura nativa en la nube, sobre Amazon Web Services, para facilitar la administración, monitoreo, automatización y escalabilidad.

Arquitectura

Imagen 2. Diagrama de Arquitectura

Despliegue Automatizado

El despliegue de la solución se automatizó utilizando AWS Cloud Development Kit (AWS CDK), el permite crear recursos en AWS por medio de código, utilizando lenguajes de programación, i.e. Python. Con AWS CDK, un desarrollador de nube adquiere mayor flexibilidad para la creación de infraestructura, permitiendo ahorrar tiempo en la creación de recursos por medio de constructores, los cuáles pre-configuran recursos con valores por defecto, optimizados y seguros.

La solución fue desplegada integrando Alta Disponibilidad de forma orgánica, mediante el uso de dos zonas de disponibilidad (AZ) en la región de AWS seleccionada. Los recursos se encuentran creados dentro de un Amazon Virtual Private Cloud (Amazon VPC), utilizando subredes públicas y privadas en las cuales se despliegan las capas de aplicación y bases de datos, respectivamente. Dentro del Amazon VPC se utiliza un NAT Gateway, que permite a los recursos de las subredes privadas obtener salida a internet de forma segura, además de un Bastion Host, el cual funge como punto de entrada para la administración de los recursos de AWS, subyacentes a la plataforma de Mineduc Digital. En términos de seguridad, además de otros servicios, se configuraron Grupos de Seguridad, asignados a cada componente desplegado, los cuales limitan, a nivel de red, el acceso a los diferentes servicios.

La Capa de Aplicación

En la capa de aplicación, se desplegó la versión contenerizada de Open edX, utilizando como base el proyecto open source Tutor. Para gestionar y orquestar los contenedores se creó un cluster de Amazon Elastic Kubernetes Service (Amazon EKS), constituido por dos instancias Amazon Elastic Compute Cloud (Amazon EC2), definidas como nodos de trabajo (worker nodes). Kubernetes Cluster Autoscaler permite el incremento o decremento en la cantidad de workers para el cluster de EKS, y, en conjunto con Horizontal Pod Autoscaler, el cual se utiliza en la creación de Kubernetes pods (contenedores) adicionales, permite la elasticidad dinámica necesaria por la solución, la cual es directamente proporcional a la demanda de usuarios.

La Capa de Datos

Open Edx integra diferentes soluciones de almacenamiento, dependiendo el tipo datos, para asegurar su funcionamiento. Los siguientes servicios de AWS fueron seleccionados para robustecer y asegurar la capa de datos de la aplicación:

  • Datos de configuración de Open Edx: Para el resguardo de Información referente a usuarios, y sus interacciones, se utiliza Amazon Aurora MySQL.
  • Los datos de los cursos disponibles en la plataforma, son almacenados en una base de datos orientada a documentos, MongoDB; dicha BD se desplegó sobre instancias de Amazon EC2.
  • La información de sesiones establecidas por los usuarios finales son almacenados en una capa de cacheo con tecnología Memcached, utilizando Amazon ElastiCache.
  • El procesamiento en batch, o tareas programadas, se realiza mediante celery workers, que a su vez integran una segunda capa de cacheo, Redis, implementada con Amazon ElastiCache.
  • Open Edx permite realizar búsquedas sobre el contenido de los cursos, para lo cual se integró Amazon Elasticsearch Service.
  • Los usuarios finales también pueden personalizar el ambiente mediante imágenes de perfil, o interactuar en foros específicos compartiendo archivos, etc., guardándolos como objetos en Amazon Simple Storage Service (Amazon S3).

Finalmente, el registro de todos los endpoints privados necesarios se realiza en Amazon Route53, facilitando la gestión de los mismos, garantizando que todos los nombres de dominio estarán disponibles y serán accesibles desde la VPC.

La solución interactúa entre los servicios de AWS implementados, mediante resolución de nombres, lo cual facilita la elasticidad y escalabilidad de la plataforma. La resolución de nombres se realiza mediante zonas privadas (private hosted zone), las cuales son repositorios de información que indican a Route 53 como responder a las peticiones de DNS para dominios y subdominios dentro de un mismo VPC.

Adicionalmente, el equipo de desarrollo de ITZ Data, ha construido tableros visualesinteractivas con Amazon Quicksight, integrando el motor SPICE que permite realizar cálculos avanzados sobre la información recopilada de la plataforma; entre otras cosas, se utiliza actualmente para analizar las interacciones de usuarios dentro de la aplicación.

Conclusiones

La arquitectura creada por ITZ Data para el Ministerio de Educación, está diseñada para garantizar alta disponibilidad, escalabilidad y facilidad de administración. El soporte de operaciones de la plataforma completa requiere de un par de horas, a la semana, de un arquitecto de soluciones. El resto de actividades administrativas se ha delegado a AWS mediante la implementación de técnicas de automatización.

Es así como se logró la entrega de una plataforma educativa, de acceso público para todos los estudiantes a nivel nacional, con la mayor disponibilidad, escalabilidad y seguridad, en un tiempo récord, permitiendo al Ministerio de Educación de Guatemala responder rápidamente a la pandemia, y, en paralelo, representar un agente de cambio pionero en la región.

Video 1. Introducción a Mineduc Digital

Contenido Adicional


Sobre los autores

Jesús Guzmán es Cloud Solutions Architect en ITZ Data. Jesús asesora a instituciones públicas y empresas en el diseño y optimización de sistemas en AWS.

Rafael Cordon es Fundador y Chief Cloud Architect en ITZ Data. Trabajando con el equipo de ingenieros de ITZ, Rafael ayuda a las instituciones públicas y empresas a diseñar soluciones en la nube balanceando criterios como rendimiento, disponibilidad, agilidad y costo.

Manuel Cuellar es Arquitecto de Soluciones para Amazon Web Services en Sector Público. Manuel colabora con Dependencias de Gobierno, Instituciones Educativas y Organizaciones sin fines de lucro en el territorio de CentroAmérica y Caribe, apoyándolos en su camino a la innovación y adopción tecnológica.

Sobre los revisores técnicos

Cristian David Romero es Arquitecto de Soluciones en Amazon Web Services para Sector Público. Cristian ha ayudado a múltiples instituciones de Sector Público y Privado en la adopción tecnológica de nube en los últimos 8 años y ha llevado de manera satisfactoria proyectos que marcan impacto social a nivel de ciudadanos y estudiantes alrededor de América Latina.

Bettina Cuevas es Arquitecta de Soluciones en Amazon Web Services para Sector Público en México. Bettina trabaja de la mano con las instituciones del Gobierno Federal ayudándolos a analizar sus cargas de trabajo actuales, para encontrar posibles mejoras y encaminarlas a las tendencias actuales.

ITZ Data es un Socio AWS de Consultoría nivel Advanced, con participación en los programas AWS Amazon Aurora, Amazon RDS, Immersion Day, Solution Provider y Government Competency Partner. Basados en Guatemala, tiene presencia en Latinoamérica y El Caribe.