Cloud Computing en educación

IaaS como herramienta didáctica

Alberto Molina Coballes / @alberto_molina y José Domingo Muñoz Rodríguez / @Pledin_JD

Theme by reveal.js

Evolución de las herramientas didácticas

A la par de la evolución tecnológica se ha producido una evolución en las herramientas didácticas para el aprendizaje de la informática, que podríamos de forma muy general clasificar en tres fases diferentes:

  • Primera fase: Utilización de equipos físicos
  • Segunda fase: Utilización de máquinas virtuales
  • Tercera fase: Utilización de IaaS

Estas fases no son excluyentes: una fase siempre puede incluir las anteriores.

Primera fase: Utilización de equipos físicos

Utilización de equipos fíısicos:

  • Una máquina por alumno
  • Algunos servidores compartidos
  • El alumno gestiona su propio equipo
  • El alumno no gestiona los servidores
  • Ventajas:
    • Fácil despliegue inicial y puesta en marcha
  • Desventajas:
    • Entorno poco versátil
    • Prácticas muy limitadas por número de equipos y tipo de configuraciones
    • Hardware poco variado
    • Prácticas en general muy "académicas"
    • Prácticas reales complicadas de preparar
    • Tiempos muertos entre prácticas
    • Posibles conflictos entre asignaturas

Segunda fase: Utilización de máquinas virtuales

Utilización de máquinas virtuales:

  • Un equipo por alumno
  • Varias máquinas virtuales por máquina física
  • El alumno gestiona su equipo
  • El alumno gestiona sus máuquinas virtuales
  • Ventajas:
    • Cada alumno dispone de un entorno "completo" e independiente
    • Prácticas menos rígidas
    • Más sencillo simultanear prácticas
    • Se aprende virtualización de forma transversal
  • Desventajas:
    • Entorno más complejo
    • Requiere equipos actualizados para los alumnos
    • Los alumnos tienen que administrar el gestor de máquinas virtuales

Tercera fase: Utilización de IaaS

Utilización de IaaS:

  • Un equipo convencional por alumno
  • IaaS privado de la organización
  • Los alumnos gestionan sus instancias en el cloud
  • Los alumnos no gestionan el software de IaaS
  • Ventajas:
    • Creación/uso/eliminación de instancias rápido y sencillo
    • Mayor variedad de prácticas
    • Fácil utilización de entornos preconfigurados
    • Utilización de entornos más complejos
    • Equipos básicos para los alumnos
    • Aprendizaje transversal de Cloud Computing
  • Desventajas:
    • Sistema muy centralizado
    • Imprescindible administración del Cloud
    • La inversión inicial puede ser importante

Simulación de entornos reales

Un entorno real es difícil de simular con MVs en un PC por sus propias limitaciones, pero en un cloud es asumible:

  • Se puede simular una red con un número importante de equipos
  • Se puede utilizar la diversidad que se quiera de SOs
  • Este entorno real pueden utilizarlo conjuntamente todos los alumnos
  • Puede estar disponible durante todo el curso sin interferir con otras asignaturas
  • Con el tiempo y el uso irán apareciendo conflictos y problemas reales

Nueva forma de aprendizaje

  • La utilización de IaaS en el ámbito académico proporciona una nueva forma de aprendizaje
  • Con el uso de MVs se ha impuesto una forma de aprender que no siempre es la mejor:
    • Configurar una red en modo NAT cuando el alumno no sabe todavía qué es enrutar
    • Instalar Tomcat (o mejor JBoss) para probar "Hola mundo!"
    • ¿Hay mundo más allá de localhost?
  • El uso de MVs es muy conveniente, pero no debería condicionar la forma de aprender.
  • Un cloud puede contar con gran cantidad de imágenes preconfiguradas de sistemas con muy diversas configuraciones ⇒ La forma de aprender no viene condicionada por la necesidad de una configuración previa.

Escenarios

Escenario 1: Instalación y configuración de un servicio

Los pasos típicos a seguir serían:

  • Cada alumno inicia una instancia del SO en el que va a instalar el servicio (no es necesario que previamente sepa instalar ese SO).
  • Realiza la instalación del servicio.
  • Realiza la configuración del servicio. Si esta configuración dura más de una clase, suspende la instancia y la reinicia en la siguiente clase.
  • Una vez terminada la configuración puede crear una instantánea para utilizarla como base en posteriores prácticas.
  • Si algún alumno no ha podido realizar la configuración correctamente podría utilizar la instantánea de un compañero en clases posteriores.

Escenario 2: Despliegue de una aplicación web

Los pasos típicos a seguir serían:

  • Se prepara una imagen de un sistema en el que se configura de forma precisa un completo servidor web con todos los módulos necesarios. Se instala y configura un servidor git u otro scm.
  • Cada alumno inicia una instancia de la imagen anterior y transfiere la aplicación web desde su equipo.
  • Comprueba el funcionamiento en un servidor remoto (la instancia) con similares características que tendría en un servidor remoto real.
  • En caso de que tenga que utilizar la instancia durante más de una clase, suspende y reinicia cuando sea necesario.
  • En caso de fallos o errores, puede crear una nueva instancia a partir de la imagen inicial o de una instantánea guardada previamente.

Escenario 3: Test de intrusión

Los pasos típicos a seguir serían:

  • Se levanta una instancia y se configuran algunos servicios vulnerables. Se hace una instantánea y se almacena.
  • Cada alumno inicia una instancia de la imagen anterior sin conocer las características de las vulnerabilidades ni en los servicios en las que se producen.
  • Cada alumno tiene que realizar un test de intrusión tal como se haría en un escenario real.

Otros escenarios...

  • Prácticas de almacenamiento: particionado, LVM, RAID, sistemas de ficheros
  • Prácticas de redes: direccionamiento, enrutamiento, servicios, switches configurables
  • Trabajo con aplicaciones: gestores de bases de datos o entornos de desarrollo

Escenarios. Resumen

  • Esto no son más que algunos ejemplos suficientemente diversos para ver las enormes posibilidades que se abren.
  • En general, pueden plantearse pr ́cticas m ́s complejas, inviables en el esquema tradicional de uso de máquinas virtuales por la complejidad de configurar el escenario inicial y por los problemas que acarrea una equivocación del alumno durante el desarrollo de la práctica.
  • Además las prácticas no interfieren con otras asignaturas, parar la práctica y continuar otro día es tan simple como suspender la instancia y reanudarla cuando se precise.

Aprendizaje transversal

  • El hecho de utilizar tecnología de cloud no como fin en sí mismo sino como herramienta en el aprendizaje de temas provoca que el alumno se familiarice fácilmente con la tecnología.
  • Este aprendizaje adquirido de forma continua es mucho más significativo que si se impartiera como un tema en una asignatura.
  • Esto no significa que no deban tratarse específicamente diversos aspectos del cloud computing en diferentes asignaturas.

Administración del Cloud

  • La administración de los sistemas y en particular del cloud de una organización no siempre se valora adecuadamente.
  • La instalación, configuración y administración del cloud es una tarea compleja ⇒ exige personal cualificado y con suficiente dedicación.
  • El cloud privado se convierte en el elemento fundamental para el desarrollo de prácticas, esto puede suponer un inconveniente en caso de errores y hay que planificar alternativas para momentos puntuales.