Material docente para Infraestructura Virtual

Infraestructura virtual es una asignatura obligatoria de la rama Tecnologías de la Información del primer cuatrimestre del cuarto del Grado de Ingeniería Informática y optativa en otras ramas y el Doble Grado de Informática y Matemáticas.

La asignatura se imparte en el curso 2017-2018 los jueves de 11:30 a 13:30 en la 1.5 y tiene dos grupos de prácticas los martes y jueves de de 9:30 a 11:30 en la -1.2. Se recuerda a los alumnos que en todas las clases será necesario llevar el portátil, ya que son clases prácticas.

Se usará GitHub para el proyecto cuyos hitos serán considerados “prácticas”.

Estos son los objetivos de la asignatura, cuyas sesiones de clase se irán reflejando en un repositorio de GitHub; este es el de 2017-2018.

En resumen, mi intención es que el alumno al final de la asignatura sea capaz de hacer lo siguiente:

  1. Definir el entorno de trabajo y pruebas para desarrollo de una aplicación en particular y desplegarlo en un PaaS.
  2. Usar ese entorno para configurar integración continua en una aplicación.
  3. Crear un entorno virtual para desarrollar y alojar la aplicación y comprenda el soporte físico de las técnicas usadas para crear tal entorno virtual.
  4. Entienda las técnicas de configuración automática de entornos virtuales y las sepa aplicar en los entornos anteriores.
  5. Use lo aprendido para despliegue masivo de aplicaciones en la nube.

Temario - Programa de la asignatura

Los materiales de la asignatura están enlazados desde aquí y disponibles con una licencia libre. Los fuentes de los mismos están en GitHub. La temporización de la asignatura y los objetivos de cada sesión figuran en la bitácora de clase.

  1. Introducción: conceptos y soporte físico.
  2. Iniciación a DevOps: desarrollo basado en pruebas.
  3. Platform as a Service.
  4. Usando contenedores.
  5. Uso de sistemas de virtualización.
  6. Gestión de configuraciones.

Estos temas se pueden consultar como material adicional, pero no forman parte este año del temario de la asignatura:

  1. Técnicas de virtualización.
  2. Aislamiento de recursos.
  3. Almacenamiento virtual.

Seminarios

Material adicional interesante para la asignatura, que se impartirá fuera del horario lectivo.

  1. Introducción ligera al lenguaje Ruby.

Prácticas - Actividades académicas dirigidas

La parte práctica consiste en la realización de un proyecto a lo largo de la asignatura, con diferentes hitos cuyo contenido corresponde a los objetivos de aprendizaje cumplidos hasta ese momento. Los proyectos consisten en crear la infraestructura virtual de una aplicación desarrollada según el modelo DevOps. A grosso modo, los hitos se organizarán de la forma siguiente.

  1. Práctica cero: Uso básico de herramientas
  2. Organización de los grupos de práctica y creación del proyecto
  3. Integración continua en el repositorio
  4. Desplegando a la nube: Platform as a Service.
  5. Técnicas de virtualización Contenedores para pruebas.
  6. Virtualización de aplicaciones.

Tutorías virtuales

Las tutorías virtuales se realizarán preferiblemente a través de la plataforma de trabajo colaborativo GitHub y a través del grupo de Telegram; habrá que solicitar al profesor ser añadido. Finalmente, el profesor está disponible por Telegram, Skype y Google Hangouts (en todos los casos: jjmerelo).

Criterios de evaluación

Los criterios de evaluación figuran en la ficha de la asignatura en la web del grado, y se especifican en el repositorio de la clase.

Convocatoria extraordinaria (en julio)

Si no se ha superado la asignatura en la convocatoria ordinaria, la extraordinaria consistirá en un examen escrito en septiembre que puntuará sobre 8 puntos, siendo el resto proporcional a la nota obtenida en junio. El examen incluirá tanto preguntas de desarrollo como ejercicios prácticos en los que se tendrá que esbozar un programa, script o fichero de configuración o indicar cómo se resolvería un problema con las técnicas aprendidas en la asignatura. Se aconseja al alumno que haga los ejercicios de autoevaluación para alcanzar los objetivos de aprendizaje que se exigen tanto en junio como en septiembre. El método para preguntar dudas será el mismo que en la convocatoria ordinaria: lista de correo e issues de GitHub.