O blog da AWS

Educação remota através do Fire TV Stick e Laboratórios Virtuais com instâncias Amazon EC2 Spot

Por Cristiano Scandura, Arquiteto de Soluções, Educação no Setor Público (WWPS)

Como criar uma Infraestrutura virtual de desktop (VDI) de baixo custo com instâncias Amazon EC2 Spot e o projeto de código aberto Apache Guacamole, para ajudar alunos e universidades no acesso a educação à distância usando Fire TV Stick.

No Brasil, conforme o censo da educação superior publicada pelo Instituto Nacional de Pesquisas Espaciais (INPE) em 2020, ingressaram na educação superior 3.7 mi de novos alunos, muitos deles sem ter um computador para acompanhar as aulas. De acordo com dados do Instituto Brasileiro de Geografia e Estatística (IBGE), apenas 42,9% dos domicílios brasileiros tem computador ou tablet. Entretanto, o mesmo censo mostra que, em 2019, 82,7% dos domicílios tem acesso a Internet fixa, 94% com acesso por celular e 96,3% com televisão.

Desafio

Mesmo que boa parte dos alunos tenham acesso a Internet para acompanhar as aulas remotas, eles a fazem por meio de celulares, o que impacta bastante a experiência do aluno. Além daqueles que tem computadores antigos ou defasados e não conseguem executar softwares mais recentes.

Para as instituições de ensino, o desafio é disponibilizar recursos para as aulas virtuais sem comprometer a experiência de aprendizado dos alunos,  seja com o acesso a estrutura física utilizadas nas aulas presenciais ou através de soluções de virtualização tradicionais.

São necessárias infraestrutura física em data centers, custos de licenciamentos e times especializados, com muitas horas de configuração. A integração e automação destes processos são ainda mais complicados, quando olhamos para alunos acessando externamente computadores físicos ou maquinas virtuais dentro das instituições e como fazer todo o controle de acesso.

Solução

Para melhorar a experiência dos alunos, o time da AWS do Setor Público focado em Educação criou uma solução de baixo custo para aulas virtuais de laboratório, para serem acessadas usando o Amazon Fire TV Lite, um dispositivo que transforma qualquer TV com interface HDMI em uma Smart TV, além de um teclado e mouse sem fio conectados através de Bluetooth. O que torna a solução tão atrativa é o custo destes dispositivos, que juntos custam, no mercado brasileiro, menos que 100 dólares, muito mais acessível que um computador tradicional.

Usando o navegador instalado no Fire TV, os alunos podem acessar desktops remotos, com incríveis capacidades computacionais, através de um website usando o Apache Guacamole, um aplicativo de software livre, que utiliza HTML5 e com função de rotear os acessos aos desktops através de protocolos padrões como VNC, RDP e SSH.

Além da solução física para o acesso, existe a parte do VDI (Virtual Desktop Infrastructure ou infraestrutura de desktop virtual) de baixo custo, publicada neste repositório público de exemplos da AWS. Essa arquitetura utiliza serviços serverless (computação sem servidor) com automações para detectar eventos de novas desktops remotos rodando em instâncias Amazon EC2 Spot e com integração com o Apache Guacamole para criar novas conexões associado a grupo de alunos.

O uso do Amazon EC2 Spot, onde você aproveita a capacidade de EC2 não utilizada na nuvem da AWS, pode representar descontos de até 90% em comparação com os preços sob demanda. Apesar desse serviço ser indicado para cargas de trabalho sem estado, podemos enquadrar neste caso de uso, pois são execuções em curto períodos de tempo e sem manter dados dos alunos nas instâncias.

Arquitetura

A arquitetura da solução é representada na imagem abaixo:

Figura 1: Arquitetura da solução

A configuração inicial da solução utiliza um ambiente de múltiplas contas, permitindo que os gerentes de TI tenham a visão exata dos custos dos laboratórios virtuais separado por unidades universitárias e melhor governança dos ambientes. Em uma conta de Serviço Compartilhado reside a solução automatizada com o portfólio de produtos de nuvem, utilizando o AWS Service Catalog. Deste modo, pode-se ter produtos de EC2 Windows e Linux em frotas Spot padronizados para cada tipo de laboratório virtual usando scripts de inicialização ou imagens personalizadas do Amazon Machime Image (AMI).

O professor pode solicitar no sistema de gestão acadêmica o agendamento das aulas de laboratórios, por exemplo, imagine uma aula de codificação onde os alunos precisam de um computador Linux com uma aplicação para desenvolvimento de software pré-instalada (Ex.: Eclipse, Atom, etc). Logo, o professor insere os parâmetros de negócios, como número de alunos, tipo de aula, hora de inicio e de termino, tipo de laboratório, etc. Outros parâmetros técnicos são pré-definidos dentro do produto no catálogo de serviços, como, tags, tipo de instância, imagem, conta e região. Uma vez solicitado pelo professor, existe uma integração do LMS com o Amazon EventBridge para criar um evento agendado que será executado momentos antes da aula. O evento aciona uma função AWS Lambda para provisionar a frota de EC2 Spot usando StackSets do AWS CloudFormation. Ao termino da aula, outro evento agendado excluí todas as instâncias.

Dentro das contas de cada unidade da universidade existe uma VPC com três sub-redes. Uma sub-rede privada é para o banco de dados Amazon Aurora MySQL usado pelo Apache Guacamole, as credenciais de acesso são armazenadas no AWS Secrets Manager. Outra sub-rede privada é para aplicação Guacamole rodando em containers sem servidor usando Amazon Elastic Container Services (ECS) e o AWS Fargate. O Guacamole tem uma função de gateway que roteia o acesso dos navegadores clientes às instâncias spot dentro da sub-rede privada. O acesso público é exposto através de um AWS Application Load Balancer com certificado SSL fornecido pelo AWS Certificate Manager e com regras AWS Web Application Firewall (WAF) para elevar a postura de segurança e proteger o ambiente de incidentes.

Existem regras do Amazon EventBridge para acionar as funções Lambda e interagir com a API do Apache Guacamole para criar ou excluir conexões com as instâncias iniciadas ou terminadas e notificar os professores, alunos e gerentes de TI usando o Amazon Simple Notification Services.

Para controlar o acesso a Internet dos alunos dentro dos desktops remotos, existe em uma sub-rede pública um servidor proxy (Apache Squid) que deverá ser substituído pelo AWS Network Firewall, um serviço gerenciado pela AWS, escalável e que permite a administração centralizada das regras de acesso.

Custos

Em uma simulação, o custo médio por usuário por 18 horas executando uma instância t3.micro com Microsoft Windows Server 2019, com 2 vCPU, 4 GB de RAM e 90 GB de disco na região de São Paulo é de USD$ 0,87.

O custo de transferência de dados, está relacionada a resolução e a frequência de atualização da tela. Em uma amostra utilizando ferramentas de codificação a 720p, atingimos um pico de 2 MB/s usando o protocolo RDP, com um custo médio de USD$ 0,06 por hora.

Os outros serviços relacionados ao Apache Guacamole, como os containers serverless do Fargate, o Application Load Balancer, Relational Database Services e WAF, mais a parte de automação para o provisionamento das frotas Spot com funções Lambdas e regras do EventBridge, tem custo próximo a USD$ 200 mensais.

Conclusão

Agora, qualquer instituição de ensino pode replicar essa solução e aproveitar para integrar seus sistemas LMS, como o Moodle, para automatizar a integração com a AWS e ter uma solução VDI de baixo custo.


Sobre o autor

Cristiano Scandura trabalha com TI desde 1998 e ingressou na AWS em 2018 atuando em projetos para clientes de grande porte no setor comercial. Atualmente, é Arquiteto de Soluções no segmento de Educação em setor público.