Blog de Amazon Web Services (AWS)

Una solución VDI de bajo costo para habilitar la educación remota a través de Fire TV Stick

Por: Cristiano Scandura, Arquitecto de Soluciones para sector Educación en el Sector Público en Amazon Web Services (AWS).

Cómo crear una infraestructura de escritorio virtual (VDI) de bajo costo con Instancias Spot de Amazon EC2 y Apache Guacamole para ayudar a estudiantes y universidades a acceder a la educación a distancia usando Fire TV Stick.

En Brasil, según un censo de educación superior publicado por el Instituto Nacional de Investigaciones Espaciales (INPE) en 2020, 3,7 millones de nuevos estudiantes ingresaron a la educación superior, muchos de ellos sin tener una computadora para asistir a las clases remotas. Según datos del Instituto de Geografía y Estadística (IBGE), solo 42,7% de los hogares brasileños tienen una computadora personal o tableta. El mismo censo muestra que, en 2021, 83,5% de los hogares cuentan con acceso a Internet por cable y 96.1% cuentan con dispositivos de televisión (84,2% son TV plana).

Desafío

Aunque la mayoría de los estudiantes tiene acceso a internet para asistir a clases remotas, lo harían utilizando teléfonos móviles, lo que impacta la experiencia del estudiante. Además de los que tienen computadoras y no pueden ejecutar software actualizado.

Para las instituciones educativas, el desafío es poner a disposición los recursos para las clases virtuales, ya sea con acceso a la estructura física utilizada en las clases presenciales o mediante soluciones tradicionales de virtualización.

Se requiere infraestructura física en centros de datos, costos de licencias y equipos especializados, con muchas horas de configuración. La integración y automatización de estos procesos son aún más complicados cuando consideramos que los estudiantes acceden externamente a computadoras físicas o máquinas virtuales dentro de las instituciones y es necesario controlar esos accesos.

Solución

Para mejorar la experiencia del estudiante, el equipo de AWS Educación ha creado una solución para clases de laboratorio a las que se puede acceder con Amazon Fire TV Lite, un dispositivo que convierte cualquier TV con interfaz HDMI en un Smart TV, además de un teclado y mouse inalámbricos conectados a través de Bluetooth. El precio de este paquete actualmente en el mercado brasileño es de menos de USD$ 100, mucho más asequible que una computadora tradicional.

Usando una aplicación de navegador instalada en el Fire TV, los estudiantes pueden acceder a pantallas de escritorio remoto, con increíbles capacidades informáticas, a través de un sitio web usando Apache Guacamole, una aplicación web HTML5 y una puerta de enlace de escritorio remoto que admite protocolos como VNC, RDP y SSH.

Además de la solución física, el equipo de AWS trabajó en una infraestructura de escritorio virtual de bajo costo (VDI), publicada en este ejemplo de repositorio público, creada usando un stack serverless con automatización para detectar cualquier nuevo evento de instancias spot de Amazon EC2 en la universidad, Amazon VPC y activación de las funciones de AWS Lambda para interactuar con las API de Apache Guacamole para administrar las conexiones de estudiantes, autenticación y autorización.

Con Amazon EC2 Spot, se aprovecha la capacidad EC2 no utilizada en la nube de AWS, accediendo a descuentos de hasta el 90% en comparación con los precios bajo demanda. Aunque este servicio es indicado para cargas de trabajo sin estado, podemos enmarcar este caso de uso porque son ejecuciones en períodos cortos de tiempo y sin preservar los datos de los alumnos en instancias.

Arquitectura

La siguiente imagen representa la arquitectura de la solución:

Figura 1: Arquitectura de la solución

La configuración inicial de la solución utiliza un entorno multicuenta, lo que permite a los gerentes de TI distribuir los costos del laboratorio virtual con las unidades universitarias. En una cuenta de servicios compartidos, ejecute la solución automatizada, donde el administrador de TI puede crear un portafolio de AWS Service Catalog con productos de flotas Spot EC2 de Windows y Linux utilizando Amazon Machine Image (AMI) o scripts de UserData personalizados; esto será útil para abstraer los requisitos técnicos al aprovisionar las instancias de la interfaz del sistema de gestión de aprendizaje (LMS).

El profesor puede solicitar en el LMS una clase de laboratorio; por ejemplo, imagine una clase de codificación donde los alumnos necesiten una computadora Linux con una aplicación para desarrollo de software preinstalada (por ejemplo: Eclipse, Atom, etc.). Por lo tanto, el profesor inserta los parámetros del laboratorio, como el número de alumnos, tipo de clase, hora de inicio y fin, tipo de laboratorio, etc. Otros parámetros técnicos están predefinidos dentro del producto en el catálogo de servicios, como etiquetas, tipo de instancia, imagen, cuenta y región.

Una vez solicitada por el profesor, existe una integración del LMS con Amazon EventBridge para crear una regla de evento programada que se ejecutará momentos antes de la clase. El evento activa una función de AWS Lambda para aprovisionar la flota de spot EC2 mediante AWS CloudFormation StackSets. Al final de la lección, otro evento programado eliminará todas esas instancias.

Dentro de la cuenta de la Unidad Universitaria hay una red privada virtual (VPC) con tres subredes en una Zona de Disponibilidad (AZ). Una subred privada es para la base de datos Amazon Aurora MySQL utilizada por Apache Guacamole, y las credenciales se almacenan dentro de AWS Secrets Manager. En otra subred privada se ejecutan los contenedores sin servidor Apache Guacamole usando Amazon Elastic Container Services (ECS) y AWS Fargate. El Guacamole tiene una función de puerta de enlace que proporciona acceso desde los navegadores del estudiante a las instancias puntuales dentro de la subred privada a través de un balanceador de carga de aplicaciones de AWS con certificado SSL proporcionado por AWS Certificate Manager y con reglas de AWS Web Application Firewall (WAF) para restringir y proteger el acceso contra ataques.

Existen reglas de Amazon EventBridge para activar las funciones de Lambda e interactuar con la API Apache Guacamole y crear o eliminar la conexión con la instancia iniciada o detenida dentro de la subred y notificar a los profesores, estudiantes y gerente de TI usando Amazon Simple Notification Services.

Para controlar el acceso a Internet de los estudiantes dentro de escritorios remotos, existe un proxy Apache Squid en una subred pública que debe ser reemplazado por AWS Network Firewall, un servicio administrado por AWS, escalable y que permite la administración centralizada de reglas de acceso.

Costo de la solución

En una simulación, el costo promedio por usuario por 18 horas mensuales ejecutando una instancia con Microsoft Windows Server 2019, con 2 vCPU, 4 GB de RAM y 90 GB de disco en la región de São Paulo es de USD 0.87.

El costo de la transferencia de datos está relacionado con la resolución y frecuencia de actualización de la pantalla. En una muestra usando herramientas de codificación 720p, alcanzamos un pico de 2 MB/s usando el protocolo RDP, con un costo promedio de USD 0.06 por hora.

Otros servicios relacionados con Apache Guacamole, como los contenedores sin servidor Fargate, el balanceador de carga de aplicaciones, los servicios de base de datos relacionales y WAF, además de la parte de automatización para aprovisionar flotas puntuales con funciones Lambdas y reglas de EventBridge, cuestan cerca de USD 200 mensuales.

Conclusión

Ahora cualquier institución educativa puede replicar esta solución y aprovechar para integrarse con sistemas LMS, interactuando con AWS para utilizar la solución VDI de bajo costo.


Acerca del autor

Cristiano Scandura

Cristiano Scandura lleva más de 20 años trabajando con TI y se unió a AWS en 2018 para trabajar en proyectos para grandes clientes en el sector comercial. Actualmente, es Arquitecto de Soluciones enfocado para Educación del Sector Público en Brasil.