Nombre de la práctica
Premios y reconocimientos
Segundo accésit al Premio Santander correspondiente al año 2014, concedido por la Cátedra Banco Santander de la Universidad de Zaragoza. Más información en https://catbs.unizar.es/articulos/premiados-2014-2
Palabras clave
cloud computing, hardware, software, ingeniería, informática
Síntesis
Trabajo desarrollado por los profesores Francisco Javier Fabra Caro y Sergio Hernández de Mesa, del Departamento de Informática e Ingeniería de Sistemas.
En el último curso del Grado en Ingeniería Informática de la Universidad de Zaragoza se enmarca la asignatura de “Sistemas y Tecnologías Web” (Sistemas y Tecnologías Web., 2015). Se trata de una asignatura de nueva impartición que abarca las cinco especialidades disponibles en el Grado, siendo su impartición obligatoria en tres de ellas. Como resultado, durante el curso académico 2013/2014 existían 43 alumnos matriculados, mientras que la predicción para el curso siguiente es de 67 alumnos. De esta forma, uno de los problemas a los que se enfrenta la asignatura es la masificación de los grupos de prácticas debido al elevado número de alumnos.
Dada la importancia creciente de Internet y todas las tecnologías relacionadas con ella, tanto en nuestra vida diaria como en el mundo empresarial, la asignatura de Sistemas y Tecnologías Web tiene como vocación proporcionar al alumno los conocimientos necesarios en lo que se refiere a tecnologías de última generación en el área de Internet. El objetivo es que el alumno sea capaz de conocer los fundamentos de las tecnologías Web que están siendo utilizadas actualmente en las empresas mejorando su preparación para el mercado laboral.
Por ello, se trata de una asignatura eminentemente práctica ya que la familiarización del alumno con estas tecnologías se antoja fundamental en el proceso de aprendizaje del alumno. La realización de estas sesiones y trabajos prácticos implica que se necesitan varios requisitos computacionales tanto a nivel hardware, son necesarias diversas máquinas de gama medio/alta, como software, se deben utilizar específicos Sistemas Operativos, librerías, aplicaciones, etc.
Estos requisitos suponen una barrera para la realización de las sesiones prácticas desarrolladas en los laboratorios de docencia de la Universidad. En los laboratorios, el número de equipos disponibles es limitado y está ajustado al número de alumnos, especialmente en grupos masificados como es el caso de esta asignatura. Esto imposibilita la realización de prácticas en las que es necesaria la comunicación entre diferentes ordenadores, un aspecto común en las tecnologías Web. Además, debido a que estos equipos son configurados por el personal de la Universidad, el alumno no puede experimentar con diferentes librerías y aplicaciones al no ser posible instalar las mismas ya que sólo se puede utilizar el software preinstalado. Esto impone una barrera en el proceso de aprendizaje del alumno y en su preparación para el mercado laboral ya que sólo puede tener acceso a determinadas tecnologías y no puede participar en la decisión de la tecnologías más adecuada para el problema propuesto y en la configuración y despliegue de la misma sobre los recursos disponibles.
Asimismo, los requisitos de las tecnologías utilizadas durante la asignatura también dificultan el trabajo personal de los alumnos ya que se ven obligados a disponer de varios ordenadores para poder desarrollar las tareas solicitadas, algo que habitualmente no es posible, o a realizar las mismas en los propios laboratorios de docencia con los problemas anteriormente citados a los que se añade la circunstancia de que en muchos casos éstos son empleados por otras asignaturas impidiendo que el alumno haga uso de ellos.
Profesor responsable
Dirección email
Tipo de docencia
Sitio web
Universidad
Titulación
Materia
Curso académico
Objetivo docente
El principal objetivo ha sido solventar los problemas descritos en el apartado de "Síntesis". Para ello, en la asignatura se ha propuesto la utilización del cloud computing o computación en la nube (Ambrust, y otros, 2010). El cloud computing es un nuevo paradigma de computación distribuida que permite que el usuario reserve máquinas virtuales, de acuerdo a sus necesidades con diferentes características tanto hardware como software, y accede a ellas de forma remota desde cualquier terminal con conexión a Internet. Concretamente, se ha utilizdo la infraestructura de cloud computing del Instituto de Biocomputación y Física de Sistemas Complejos (BIFI, 2015) para dar soporte a las prácticas.
De esta forma, la utilización de este paradigma evita los problemas derivados de tener unos requisitos técnicos tan específicos así como los relacionados con la imposibilidad de instalar nuevas aplicaciones y utilizar diferentes sistemas operativos. Además, esta solución permite que el alumno trabaje desde cualquier ordenador, incluso desde dispositivos móviles, conectándose a las máquinas virtuales de forma remota, solventando los problemas derivados de la falta de disponibilidad de los recursos. Por tanto, el uso del cloud computing durante la asignatura ha permitido realizar prácticas que de otra forma no hubieran sido posible y dar mayor flexibilidad al alumno en su realización y mayor importancia a la toma de decisiones en cuanto a las tecnologías utilizadas y el tipo de solución adoptada para resolver los problemas planteados durante las sesiones prácticas.
Descripción detallada
Además de facilitar y potenciar el proceso de aprendizaje del alumno en lo referente a las tecnologías tratadas durante el curso, el alumno se familiariza con una de las tecnologías más novedosas y en más auge en la actualidad y que no sólo está siendo muy utilizada actualmente por las grandes empresas sino que promete en un futuro cercano estar presente en la vida cotidiana de todas las personas. De esta forma, el alumno mejora su proceso de aprendizaje, al entrar en contacto con una tecnología ampliamente utilizada en el mundo empresarial y una serie de conocimientos que son muy demandados en el mercado laboral actual, lo que en su conjunto potencia la formación y el desarrollo profesional del alumnado.
Adicionalmente, el uso de la tecnología de cloud computing para el desarrollo de las sesiones prácticas de la asignatura mejora la metodología docente utilizada. Por un lado, el uso del cloud computing facilita la evaluación de las prácticas y el seguimiento del trabajo realizado por los alumnos por parte de los profesores. Esto se debe a que los profesores pueden tener acceso de forma sencilla a los recursos utilizados por los alumnos y a las soluciones planteadas por los mismos. Con esto se consigue mejorar el proceso de aprendizaje al facilitarse la monitorización del trabajo realizado por los alumnos así como la comunicación entre alumno y profesor.
Por otro lado, la posibilidad de dar la oportunidad al alumno de utilizar diferentes tecnologías y plantear diferentes soluciones tiene un gran impacto en la metodología docente. Con este nuevo enfoque, los profesores pueden evaluar el proceso seguido por el alumno para analizar el problema planteado, explorar diferentes solucionar y decidir cuáles son las tecnologías más apropiadas y el enfoque más adecuado para resolverlo. De esta forma, puede explorarse el proceso anterior tanto para asesorar al alumno sobre las ventajas e inconvenientes de las diferentes opciones exploradas como para evaluar al mismo. El beneficio de esto último es que puede valorarse el proceso de toma de decisiones de una forma más objetiva y precisa, en lugar de evaluar utilización de una tecnología concreta, como ocurre en prácticas donde el alumno no tiene un elevado grado de decisión.
Metodología docente utilizada
En cuanto a la metodología docente, el objetivo era guiar a los alumnos en el proceso de aprendizaje proporcionándoles en primer lugar los conceptos teóricos necesarios y permitiendo que afianzaran los mismos de forma práctica. Concretamente, se han realizado las siguientes actividades en el contexto de la asignatura:
- En primer lugar se realizaron varias sesiones teóricas de puesta en contexto con la computación en la nube en las que se detalló el funcionamiento de las infraestructuras de cloud, las interfaces de acceso y las diferentes técnicas para acceder e integrar aplicaciones. Asimismo, se proporcionó al alumno una visión económica del cloud computing mostrándole los costes involucrados en su utilización y diferentes formas en las que puede ser utilizado para ahorrar costes.
- La siguiente fase fue la planificación del despliegue de servidores Web en la nube, a partir de una metodología previa detallada en dos sesiones prácticas anteriores. Asimismo, se les pidió a los alumnos que desplegaran los servidores de forma local (en los ordenadores de docencia o en sus equipos personales) y que analizaran y compararan el impacto, tanto en recursos económicos como humanos, de desplegar los servidores localmente o en la nube.
- El siguiente paso fue el despliegue real de los servidores en una infraestructura de cloud computing, para lo cual se utilizó la infraestructura del Instituto de Biocomputación y Física de Sistemas Complejos (BIFI, 2015). Para ello, se le planteo a los alumnos diferentes casos de uso en los que tenían que desplegar servidores y realizar la migración de los servidores desplegados localmente a la nube.
- Una vez realizadas las sesiones prácticas de la asignatura, se propuso a los alumnos como trabajo final un sistema en el que se involucraron varias de las tecnologías aprendidas durante el curso, en el cual el cloud computing suponía una parte fundamental. El objetivo del trabajo era que el alumno explorara por sí mismo diferentes alternativas y afianzara los conocimientos adquiridos con anterioridad.
- Finalmente, se llevó a cabo la evaluación de la experiencia mediante encuestas individualizadas con rúbrica a los alumnos así como la redacción de las memorias de trabajo en las que se solicitaba a los alumnos que detallarán el proceso seguido durante las sesiones prácticas y el trabajo final. En esta memoria, se pedía a los alumnos de forma expresa que analizaran las ventajas e inconvenientes de la utilización del cloud computing en entornos reales de trabajo.
- Adicionalmente, durante el desarrollo de la asignatura se impartieron diferentes seminarios en los que se detallaba al alumno el funcionamiento de diferentes infraestructuras comerciales de cloud computing, como son Amazon EC2, Google Compute Engine and Microsoft Azureus. Con esto, se pretendía que el alumno obtuviera una visión general sobre diferentes soluciones comerciales para que pudiera valorar los puntos comunes y diferencias de cada una de ellas.
TIC usadas
El principal requisito tecnológico para el desarrollo de este proyecto ha sido la utilización de una infraestructura de cloud computing. En este aspecto, existen dos opciones. La utilización de una infraestructura pública proporcionada por una empresa bajo determinado coste o la utilización de una infraestructura privada de alguna organización.
La utilización de una nube pública no resulta viable por el coste económico que impone por lo que abordamos la posibilidad de utilizar una nube privada. En este aspecto, el Instituto de Biocomputación y Física de Sistemas Complejos (BIFI, 2015) de la Universidad de Zaragoza posee una infraestructura de computación en la nube a la que nos ha cedido acceso para la realización de las actividades de la asignatura.
En lo referente a tecnologías concretas implicadas en la realización de este proyecto, la tecnología principal involucrada es OpenStack (OpenStack, 2015). OpenStack es un software de gestión de infraestructuras de computación en la nube que maneja tanto la administración de los recursos físicos y las máquinas virtuales como la utilización de las mismas por parte de los usuarios. Se trata de un software libre y de código abierto ampliamente utilizado por una gran variedad de instituciones académicas y de empresas.
Para la utilización de dicha infraestructura, además de la interfaz Web gráfica que se proporciona con la misma, se han utilizado diferentes herramientas, interfaces y librerías que posibilitan diferentes modos de utilización de la infraestructura cloud y su integración con diferentes aplicaciones. Algunas de las tecnologías más destacables en este aspecto son: nova (nova, 2015), euca2ools (euca2ools, 2015), REST (REST, 2015), OpenStack4j (OpenStack4j, 2015) o jclouds (jclouds, 2015; euca2ools, 2015; Sistemas y Tecnologías Web., 2015).
En cuanto a lo relativo a su utilización, al utilizarse un software de gestión ampliamente utilizado en entornos reales, la familiarización con el mismo fue sencilla gracias a que dispone de un entorno gráfico amigable. Además, al existir diferentes librerías que permiten la integración de OpenStack con las aplicaciones desarrolladas, los alumnos pudieron seleccionar la que consideraban más adecuada de acuerdo a sus necesidades y gustos.
Carácter innovador a destacar en la actividad
En general, la asignatura de Sistemas y Tecnologías Web intenta tener un elevado carácter innovador por el contexto en el que se encuentra. La Web es un ecosistema muy dinámico y cambiante en el que se proponen multitud de herramientas, lenguajes, técnicas, aplicaciones, paradigmas, metodologías y estándares que surgen, evolucionan y se desechan muy rápidamente. Por consiguiente, la propia asignatura intenta reflejar este carácter innovación y dar una visión general a los alumnos de las últimas tendencias.
En particular, el cloud computing es uno de los paradigmas que ha creado un mayor impacto en el mundo de Internet en los últimos años. Actualmente, se trata de una de las tecnologías más en auge y con mayor expansión dentro del mundo empresarial, prometiendo incluso en convertirse en un elemento indispensable de nuestra vida cotidiana en un futuro (Buyya, Yeo, Venugopal, Broberg, & Brandic, 2009).
Por tanto, consideramos que la experiencia realizada tiene un gran carácter innovador al introducirse en la docencia una tecnología en auge, muy utilizada y demandada en el sector empresarial. Además, se trata de una tecnología que, en general, no es de fácil acceso por el coste económico que implica la utilización de las nubes públicas y la dificultad de acceder a infraestructuras de computación en la nube privadas.
Desde el punto de vista docente creemos que su utilización proporciona grandes beneficios en cuanto al proceso de aprendizaje del alumno. Gracias al cloud computing, el alumno tiene mayor libertad para la realización de las prácticas y seleccionar la solución que considera más adecuada. Así, las prácticas son equiparables a un escenario laboral en el que se solicita al alumno que resuelva algún tipo de problema y dónde normalmente no se dan restricciones o pautas para la resolución del mismo. De esta forma, estas prácticas fomentan que el alumno tenga que analizar más detenidamente el problema y las diferentes soluciones posibles, mejorando su capacidad de análisis y su toma de decisiones, competencias fundamentales para un Ingeniero en Informática.
Finalmente, también consideramos que el uso de esta tecnología nos ha permitido mejorar la evaluación de los alumnos por dos motivos. En primer lugar, el cloud computing nos ha permitido mejorar el seguimiento del trabajo realizado con los alumnos y la comunicación con los mismos, algo que se ha visto reflejado en el número de tutorías y consultadas recibidas. En segundo lugar, se ha podido valorar la metodología seguida por los alumnos para decidir cuál era la mejor solución para el problema planteado, en lugar de valorar simplemente cómo se había hecho uso de una tecnología ya establecida por el profesorado para resolver el problema.
Indicadores que cuantifiquen las mejoras en el aprendizaje
Los resultados de esta experiencia han sido muy positivos, en general. En este respecto, hay que separar en cuanto a la evaluación del cumplimiento de los objetivos del proyecto y la satisfacción del alumnado con el aprendizaje y la utilización de la tecnología de la computación en la nube.
En lo referente a los objetivos planteados, la utilización del cloud computing nos ha permitido superar las limitaciones a las que nos enfrentábamos a la hora de impartir la asignatura de Sistemas y Tecnologías Web.
En primer lugar, nos ha permitido superar las limitaciones referentes al número de recursos disponibles. Esto se debe a la posibilidad de que cada alumno pueda reservar varias máquinas virtuales dentro de la infraestructura cloud y a que el acceso a las mismas puede realizarse a través de cualquier terminal con conexión a Internet. De la misma manera, el uso del cloud computing ha permitido que los alumnos utilicen diferentes tecnologías y modelos de solución para los problemas planteados solventando los problemas de instalación existentes en los laboratorios de docencia.
Adicionalmente, la utilización de esta tecnología nos ha proporcionado otros beneficios. Los profesores de la asignatura consideramos que su utilización nos ha permitido mejorar la comunicación con los alumnos y el seguimiento del trabajo realizado. Este hecho se ha visto claramente reflejado en el número de tutorías realizadas y de correos electrónicos intercambiados con los alumnos, en relación a otros cursos, por lo que consideramos que este aspecto ha sido beneficioso para ambos.
En lo referente a la satisfacción del alumnado con la inclusión de la tecnología durante el desarrollo de la asignatura, también consideramos que los resultados han sido muy satisfactorios. Durante la realización de las sesiones prácticas, los alumnos han mostrado mucho interés en el aprendizaje de la tecnología así como iniciativa a la hora probar diferentes soluciones y configuraciones de los recursos virtuales.
Para medir de forma objetiva el grado de satisfacción de los alumnos, se les realizó a los mismos una pequeña encuesta al final de la asignatura en la que se les preguntó por el grado de satisfacción en cuanto al aprendizaje de la tecnología del cloud computing, pudiendo evaluar el mismo como “muy alto”, “alto”, “regular”, “bajo” o “muy bajo”. Los resultados de dicha encuesta desvelaron que la totalidad de los alumnos calificó su satisfacción con el aprendizaje de esta nueva tecnología como “alto” (19%) o “muy alto” (81%).
Sostenibilidad a lo largo de otros cursos
En lo que se refiere a la sostenibilidad del trabajo, creemos que la utilización de la computación en la nube es muy beneficiosa para el proceso de aprendizaje del alumno y su desarrollo profesional. A pesar de ser el primer año que se lleva a cabo esta experiencia, coincidiendo con la impartición de la asignatura Sistemas y Tecnologías Web por primera vez, los resultados de la misma nos animan a continuar la misma para mejorar el proceso de aprendizaje.
Sin embargo, esta experiencia depende completamente de la disponibilidad de una infraestructura de cloud computing. Durante la misma se ha utilizado un entorno de computación cloud cedido por e Instituto de Biocomputación y Física de Sistemas Complejos (BIFI, 2015) de forma que no se puede garantizar la disponibilidad del mismo de forma continua durante otros cursos.
Con el objetivo de repetir la experiencia, nos planteamos la posibilidad de utilizar otras infraestructuras de computación en la nube. En este aspecto existen diferentes soluciones comerciales que se adaptan a las necesidades de la asignatura y podrían, por tanto, ser utilizadas a tal efecto. Alguno de los ejemplos más representativos son los clouds de Amazon (Amazon EC2, 2015), Google (Google Compute Engine, 2015; Microsoft Azure, 2015) y Microsoft (Microsoft Azure, 2015).
El problema que acarrea la utilización de infraestructuras privadas es el coste económico que acarrean, por lo que este aspecto está sujeto a la financiación disponible o a la concesión de acceso gratuito a alguna infraestructura de computación en la nube.
Para el curso 2014/2015, se ha contactado con diferentes proveedores para poder acceder a sus recursos de forma gratuita a través de planes educativos con respuesta afirmativa. De esta forma, los alumnos de la asignatura Sistemas y Tecnologías Web de dicho curso podrán disponer de una cuenta con un conjunto gratuito de horas de computación en las plataformas de Google Cloud Computing y Amazon AWS.
Transferibilidad de los diseños y tecnologías
En cuanto a la transferibilidad del proyecto, consideramos que la experiencia sería fácilmente aplicable a otras asignaturas proporcionando beneficios similares. Los alumnos podrían beneficiarse enormemente de disponer de un entorno de trabajo adaptado y personalizado a los requisitos de cada asignatura concreta mientras que los profesores podrían mejorar la comunicación con el alumno y el seguimiento del trabajo realizado. Para ello, tal y como se expuso en el apartado anterior, el único requisito necesario sería disponer de una infraestructura de soporte adecuada.
Esta experiencia está enfocada para la impartición de asignaturas de carácter técnico. Por tanto, para la transferencia de esta experiencia sería recomendable que tanto el profesorado como el alumnado objetivo tuvieran unos leves conocimientos de informática y estuvieran acostumbrados a la utilización de recursos de forma remota. De esta forma, podrían beneficiarse de forma completa de los diferentes beneficios mencionados a lo largo de esta memoria.
En cualquier caso, consideramos que esta experiencia podría ser realizada en cualquier ámbito universitario en el que se requiera la interacción con aplicaciones informáticas específicas. Para ello, se podría seguir un enfoque similar al realizado en la actualidad en los laboratorios de docencia. Esto es, los profesores solicitarían al personal encargado del laboratorio la instalación de los programas necesarios en la infraestructura cloud para que los alumnos pudieran utilizarlos directamente en lugar de realizar ellos mismos la instalación y configuración. En este caso, consideramos que se seguirían obteniendo varios de los beneficios expuestos como la mejora de la comunicación con los alumnos y el seguimiento de su trabajo y que se resolverían los problemas derivados de tener grupos de prácticas masificados.