Infraestructura virtual es una asignatura obligatoria de la rama "Tecnologías de la Información" del primer cuatrimestre del cuarto curso del Grado de Ingeniería Informática y optativa en otras ramas y en el Doble Grado de Informática y Matemáticas.
La asignatura se imparte en el curso 2020-2021 en la 3.3 los viernes y en la 3.7 los martes de 9:30 a 11:30 (clases de "prácticas"), y en la 1.5 los martes de 11:30 a 13:30. Se recuerda a los estudiantes que en todas las clases será necesario llevar el portátil, ya que son en realidad clases prácticas.
Se usará GitHub para el proyecto, la forma principal de examinar la asignatura; llamaremos hitos a cada una de las entregas que hay que hacer del mismo.
Estos son los objetivos de la asignatura, cuyas sesiones de clase se irán reflejando en un repositorio de GitHub; este es el de 2019-2020.
En resumen, mi intención es que el estudiante al final de la asignatura sea capaz de hacer lo siguiente:
- Definir el entorno de trabajo y pruebas para desarrollo de una aplicación en particular y desplegarlo en un PaaS.
- Usar ese entorno para configurar integración continua en una aplicación.
- 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.
- Entienda las técnicas de configuración automática de entornos virtuales y las sepa aplicar en los entornos anteriores.
- Use lo aprendido para despliegue masivo de aplicaciones en la nube.
Previo a la asignatura, es conveniente que consultes este curso, con material suplementario a lo que se imparte en 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. Enlazaremos también en ese fichero las grabaciones que se hagan de las sesiones en vivo.
- Introducción: conceptos y soporte físico. Esta introducción es cultura general; aunque conviene conocerlo, no es imprescindible para llevar a cabo, en general, el proyecto de la asignatura. Se aconseja vivamente, sin embargo, leerlo y llevar a cabo los ejercicios de autoevaluación.
- Iniciación a DevOps: desarrollo basado en pruebas.
- Puesta en marcha de microservicios.
- Platform as a Service.
- Usando contenedores.
- Gestión de configuraciones.
Estos temas se pueden consultar como material adicional, pero no forman parte este año del temario de la asignatura:
Material adicional interesante para la asignatura, que se impartirá fuera del horario lectivo.
- Mini-tutorial de Markdown, por Justo Javier Galera (JotaGalera).
- Introducción ligera al lenguaje Ruby.
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.
- Práctica cero: Uso básico de herramientas.
- Organización de los grupos de práctica y creación del proyecto.
- Integración continua en el repositorio.
- Creando microservicios.
- Desplegando a la nube: Platform as a Service.
- Técnicas de virtualización: Contenedores para despliegue de microservicios.
- Provisionamiento de máquinas virtuales.
- Virtualización de aplicaciones.
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
).
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.
Si no se ha superado la asignatura en la convocatoria ordinaria, en la extraordinaria habrá que entregar los diferentes hitos del proyecto no entregados, con los plazos que se anunciarán cuando se pongan las notas de la convocatoria ordinaria, y puntuando, en los reentregados, sobre un máximo de 8 puntos.
Alternativamente, se puede solicitar al profesor un proyecto, que se tendrá que hacer por parte del estudiante, y que puntuará sobre los 10 puntos completos, con la nota para cada hito repartida en la misma proporción que en la convocatoria ordinaria.