Guía docente de Infraestructura Virtual (Especialidad Tecnologías de la Información) (296114N)

Grado
Rama
Módulo
Materia
Curso
Semestre
Créditos
Tipo
Profesorado
Teórico
Práctico
Prerrequisitos y/o Recomendaciones
No es necesario que los estudiantes tengan aprobadas asignaturas, materias o módulos previos como requisito indispensable para cursar este módulo. No obstante se recomienda la superación de los contenidos y adquisición de competencias de las materias de formación básica y de rama. En ese sentido, algunas asignaturas previas interesantes son Ingeniería de Servidores, Ingeniería de Sistemas de Información, Arquitecturas y Computación de Altas Prestaciones y Servidores Web de Altas Prestaciones.
Se recomienda que los estudiantes tengan también los siguientes conocimientos prácticos
- Uso de git y GitHub, realización de pull request.
- Organización del trabajo para un proyecto, ya que la asignatura está basada en proyecto.
- Conocimiento de lenguajes de programación de scripting tales como Perl, Javascript o Python.
- Conocimiento del protocolo HTTP y su uso en aplicaciones web
- Conocimiento de estrategias de prueba de aplicaciones.
- Comprensión escrita básica, para lectura de las guías de cada uno de los objetivos.
Todos estos conocimientos están en un "curso 0" en la web. El enlace incluye vídeos y enlaces a otros recursos que se pueden utilizar.
Breve descripción de contenidos (Según memoria de verificación del Máster)
Los contenidos que se impartirán en la asignatura son los siguientes:
- Arquitectura virtual versus arquitectura digital.
- Centro de procesamiento datos versus Centro de procesamiento de datos virtual.
- Hardware de servidores y virtualización de servidores.
- Hardware de almacenamiento y virtualización de almacenamiento.
- Redes y Hardware para E/S, y su virtualización.
- Aplicaciones y ejemplos.
Competencias
Competencias Generales
- CG04. Capacidad para definir, evaluar y seleccionar plataformas hardware y software para el desarrollo y la ejecución de sistemas, servicios y aplicaciones informáticas.
- CG06. Capacidad para concebir y desarrollar sistemas o arquitecturas informáticas centralizadas o distribuidas integrando hardware, software y redes.
Competencias Transversales
- CT02. Capacidad para tomar decisiones basadas en criterios objetivos (datos experimentales, científicos o de simulación disponibles) así como capacidad de argumentar y justificar lógicamente dichas decisiones, sabiendo aceptar otros puntos de vista.
Resultados del proceso de formación y de aprendizaje
Competencias
- COM04. Definir, evaluar y seleccionar plataformas hardware y software para el desarrollo y la ejecución de sistemas, servicios y aplicaciones informáticas.
- COM06. Concebir y desarrollar sistemas o arquitecturas informáticas centralizadas o distribuidas integrando hardware, software y redes.
Habilidades o Destrezas
- HD16. Toma decisiones basadas en criterios objetivos (datos experimentales, científicos o de simulación disponibles), y argumenta y justifica lógicamente dichas decisiones, sabiendo aceptar otros puntos de vista.
Resultados de aprendizaje (Objetivos)
El título de Graduado/a en Ingeniería Informática de la Universidad de Granada ha obtenido, con fecha 5 de junio de 2019, el sello Euro-Inf, otorgado por ANECA en colaboración con el Consejo General de Colegios Profesionales de Ingeniería en Informática (CCII) y con el Consejo General de Colegios Oficiales de Ingeniería Técnica en Informática (CONCITI). Esta acreditación garantiza el cumplimiento de criterios y estándares reconocidos por los empleadores españoles y del resto de Europa, de acuerdo con los principios de calidad, relevancia, transparencia, reconocimiento y movilidad contemplados en el Espacio Europeo de Educación Superior.
Objetivos (Expresados como resultados esperables de la enseñanza)
- Conocer la historia de la computación virtual, sus orígenes y razones de su existencia.
- Conocer los conceptos relacionados con el proceso de virtualización tanto de software como de hardware.
- Comprender la diferencia entre infraestructura virtual y digital.
- Justificar la necesidad de procesamiento virtual frente a real en el contexto de una infraestructura TIC de una organización.
- Diseñar, construir y analizar las prestaciones de una aplicación en infraestructura virtual.
- Conocer las diferentes tecnologías y herramientas de virtualización tanto para procesamiento como para comunicación y almacenamiento.
- Instalar, configurar, evaluar y optimizar las prestaciones de aplicaciones sobre infraestructura virtual.
- Configurar los diferentes dispositivos para acceso a los servidores virtuales: acceso de usuarios, redes de comunicaciones o entrada/salida.
- Entender los conceptos necesarios para diseñar, implementar y construir una aplicación sobre infraestructura virtual.
- Documentar, administrar, mantener y optimizar la infraestructura virtual de una aplicación.
- Saber aplicar diferentes tecnologías relacionadas con la virtualización al diseño de aplicaciones en infraestructura virtual: DevOps, contenedores, microservicios, serverless, integración y despliegue continuo y saber aplicarlos en la definición por software de la infraestructura y despliegue de una aplicación.
Objetivos formativos de carácter general (Competencias según BOE de 4 de Agosto de 2009)
- Ser capaz de comprender el entorno de una organización y sus necesidades en el ámbito de las tecnologías de la información y las comunicaciones.
- Ser capaz de seleccionar, diseñar, desplegar, integrar, evaluar, construir, gestionar, explotar y mantener las tecnologías de hardware, software y redes, dentro de los parámetros de coste y calidad adecuados.
- Ser capaz de concebir sistemas, aplicaciones y servicios basados en tecnologías de red, incluyendo Internet, web, comercio electrónico, multimedia, servicios interactivos y computación móvil.
Programa de contenidos Teóricos y Prácticos
Teórico
En la metodología de aprendizaje que se va a usar, enseñanza basada en proyectos y objetivos y evaluación formativa, el temario práctico coincide con el teórico y no hay diferentes tipos de clase: en todos ellos se hace breves exposiciones a demanda, especialmente relacionadas con dudas comunes, y trabajo práctico del estudiante ayudado, si es necesario, por el profesorado.
- Conceptos básicos de desarrollo de aplicaciones en la nube: herramientas de desarrollo, conceptos básicos de desarrollo ágil, especificaciones a través de historias de usuario, concepto de cliente, problema, lógica de negocio.
- Diseño dirigido por dominio, aplicación de conceptos del dominio del problema al código. Código limplio. Buenas prácticas en desarrollo de aplicaciones. Trabajo en equipo.
- Automatización de tareas de desarrollo. Flujos de trabajo. Gestión de dependencias
- Conceptos de control de calidad: pruebas y su relación con el desarrollo ágil.
- Infraestructura virtual para aplicaciones: aislamiento de recursos mediante contenedores.
- Integración y despliegue continuo, servicios auxiliares para el despliegue, observabilidad.
- Programación de servidores en la nube, interfaces REST.
Práctico
Como se ha indicado en el apartado anterior, la asignatura es práctica y los conocimientos teóricos se imparten con el objetivo de que se tengan los conocimientos prácticos para hacer una serie de productos mínimamente viables que componen el proyecto. Estos se organizan en una serie de objetivos o niveles alcanzados por el proyecto
Estos objetivos se irán entregando periódicamente y serán los que contribuirán a la evaluación del porcentaje de la asignatura principal, tras el objetivo cero: Uso básico de herramientas, problema a resolver. Los niveles de consecución del proyecto serán los siguientes:
- Historias de usuario y planificación.
- Modelización del problema.
- Automatización de las tareas.
- Tests unitarios para la clase/s diseñadas.
- Técnicas de virtualización: Contenedores para pruebas.
- Integración continua.
- Servicios esenciales.
- REST. Diseño de interfaces. Arquitectura limpia.
- Implementación de REST. Despliegue en la nube.
Bibliografía
Bibliografía fundamental
- Temario de la asignatura
- Aprende a programar la nube, Amazon, 2015
- Cloud Computing Explained: Implementation Handbook for Enterprises, de John Rhoton. Recursive Press, 2013 Edition
- What is Domain Driven Design, Vladik Khononov, O'Reilly, 2019
Bibliografía complementaria
- Infrastructure as Code (IAC) Cookbook, Stephane Jourdan and Pierre Pomes, Packt, 2017
- Cloud Computing, A Practical Approach, Toby Velte, Anthony Velte, Robert Elsenpeter. McGraw-Hill Osborne Media; 1 edition (September 22, 2009)
Enlaces recomendados
- Repositorio con sesiones de la asignatura, cambia cada año y se crea al principio de las clases.
- Material de la asignatura y material adicional
- Cloud Computing. Wikipedia.
- Azure, plataforma cloud de Microsoft
- Colección de artículos relacionados con el tema
Metodología docente
- MD01. Lección Magistral (Clases Teóricas-Expositivas)
- MD02. Actividades Prácticas (Resolución de Problemas, Resolución de Casos Prácticos, Desarrollo de Proyectos, Prácticas en Laboratorio, Taller de Programación, Aula de Informática, Prácticas de Campo).
- MD03. Seminarios (Debates, Demos, Exposición de Trabajos Tutelados, Conferencias, Visitas Guiadas, Monografías).
- MD04. Actividades no presenciales Individuales.
- MD05. Actividades no presenciales Grupales.
- MD06. Tutorías Académicas.
Metodología docente
- MD01. Lección magistral.
- MD02. Actividades prácticas.
- MD03. Seminarios.
- MD04. Actividades no presenciales.
- MD05. Tutorías académicas.
Evaluación (instrumentos de evaluación, criterios de evaluación y porcentaje sobre la calificación final)
Evaluación Ordinaria
Se trata de enseñanza basada en proyecto, usando evaluación formativa. En este apartado se examinará como se ponen en práctica los conocimientos teóricos, y tendrá una ponderación del 65%, con diferente ponderación para cada objetivo dependiendo del trabajo necesario para completar el mismo (en media; cada objetivo alcanzado tendrá la misma puntuación para cada estudiante).
- En todas las entregas se llevará a cabo evaluación formativa: En este método el estudiante no recibe calificación, sino que tiene que superar una serie de objetivos con la ayuda del profesor; es decir, cada objetivo está superado o no, y la calificación correspondiente estará relacionada con el trabajo necesario para llevar a cabo el objetivo y será igual para toda la clase.
- Se garantiza la revisión y la evaluación formativa de 3 entregas en un plazo estimado de 48 horas.
- A partir de la 4ª entrega, se volverá a revisar si y solo si el estudiante realmente está llevando a cabo las mejoras sugeridas, o actuando sobre las sugerencias y preguntas hechas por el profesor. Si no es así, el objetivo se considerará no superado en la convocatoria de que se trate.
- Harán falta superar un número de objetivos consecutivos, del 0 al 5, para superar la asignatura. Si alguno de los objetivos intermedios no se ha superado, se tendrán que entregar objetivos por el peso equivalente al objetivo no superado. La tabla de equivalencia se indica en la página web de la asignatura.
- Se podrán entregar simultáneamente todos los objetivos que se desee, siempre que se haya realizado correctamente la entrega del objetivo anterior. No hace falta superar un objetivo para ponerse a trabajar o entregar el siguiente, solo haber realizado correctamente la entrega.
- Se establece un plazo máximo de entrega para cada uno de los objetivos necesarios para aprobar. Si no se ha entregado el objetivo en el plazo, el objetivo no estará superado en la convocatoria correspondiente. Los plazos han sido calculados estadísticamente por el tiempo necesitado en años anteriores, y se han hecho de forma que el último objetivo necesario para aprobar esté ya entregado antes del final del periodo lectivo.
- Si no se ha superado un objetivo en la convocatoria ordinaria, se puede seguir entregando el objetivo para optar a la convocatoria extraordinaria, y siempre que se vaya a trabajar en objetivos sucesivos.
- Los objetivos se entregan telemáticamente usando GitHub y las aplicaciones creadas al efecto para su pre-evaluación. Se considerarán entregados cuando hayan pasado los requisitos mínimos para la aceptación de la entrega, indicados en cada una de las guías para los objetivos y evaluados automáticamente. no se aceptarán objetivos entregados de ninguna otra forma.
- Cada uno de los objetivos tiene una serie de subobjetivos de aprendizaje a superar, es decir, hay que entender una serie de conceptos y mostrar que se han entendido tomando decisiones que se plasmarán en la entrega. La entrega no es el objetivo, sino un registro del trabajo personal y evidencia de que se hayan entendido los conceptos que cada objetivo implican. Por ello, tanto la copia como el uso de IAs generativas podrá implicar de forma inmediata la no superación del objetivo en esta convocatoria, y la renuncia a evaluaciones adicionales del objetivo de que se trate.
- La evaluación de cada uno de los objetivos puede incluir, a solicitud del profesor, una entrevista personal con el estudiante para que explique cómo ha resuelto cada uno de los aspectos del mismo. Esto se hará siempre en caso de que haya cualquier sospecha de copia o uso de IAs generativas en contenido que debe ser elaborado personalmente y manualmente por cada uno de los estudiantes, porque es evidencia del trabajo realizado. Se recuerda al estudiante que según la normativa de evaluación, el plagio está prohibido, y la evidencia del mismo podrá conllevar el suspenso de la convocatoria de la asignatura correspondiente y la eventual puesta en conocimiento de la inspección de servicios de la documentación correspondiente.
- Así mismo, se establece un plazo máximo de superación para cada uno de los objetivos, justificado por el tiempo necesario para llevar a cabo los objetivos mínimos para aprobar la asignatura.
- Se establecerá un número mínimo de objetivos entregados para obtener calificación en la convocatoria correspondiente. En caso de que no se hayan entregado ese número mínimo de objetivos, la calificación será de no presentado (N.P.).
- Solo se considerarán los objetivos que se hayan entregado, como máximo, una semana antes de la fecha establecida por la comisión para el examen ordinario, y que se hayan superado al menos dos días antes.
La parte práctica, trabajos autónomos y seminarios se evaluarán sobre el 35% de la asignatura. Si no se han superado los objetivos mínimos de la asignatura en la parte "teórica" indicada arriba, sólo se tendrá en cuenta esta puntuación en caso de que no supere el valor necesario para aprobar y si el estudiante así lo pide, a efectos de compensación de créditos más adelante o lo que desee. Si no se ha entregado un número mínimo de objetivos necesarios para obtener calificación, según el criterio indicado arriba, y por tanto la calificación es de N.P., no se evaluará tampoco esta parte práctica ni se podrá hacer la presentación para obtener un 10% de la nota. Se persigue con esto un objetivo de eficiencia en el tiempo del profesor de forma que pueda dedicarse a un trabajo tan intensivo como poder revisar los envíos de los objetivos de los estudiantes.
- Todas las prácticas hasta la semana número 8 son obligatorias. Habrá que justificar las ausencias usando los mecanismos previstos al efecto por la normativa de evaluación.
- Durante estas sesiones de prácticas se llevará a cabo un hackathon en el que los estudiantes trabajarán en equipo en un proyecto que se decidirá en clase. La participación en el mismo recibirá hasta un 10% de la nota final, calificándose como se han llevado a cabo las tareas que se le han encomendado, participación proactiva en el desarrollo del proyecto, e integración con el resto de los estudiantes para alcanzar los productos mínimamente viables que se desarrollarán.
- Un 15% de la nota final se hará principalmente por colaboración con los compañeros, sobre todo revisando entregas de los mismos de forma efectiva. Se establecerá un número mínimo de revisiones para obtener la nota máxima en este apartado, y se escalará de forma lineal para los que hayan hecho un número inferior al mismo de revisiones.
- Un 10% de la nota por la presentación de las decisiones y retos superados en el desarrollo del proyecto. Esta presentación se hará en el día establecido por la Escuela para el examen ordinario, si bien se proporcionará la posibilidad de hacer la presentación en otro día para las personas que no les resulte conveniente. La presentación podrá ser tanto presencial como telemática, y se calificará con la nota máxima si se ha hecho correctamente y se han respondido correctamente a las posibles preguntas que pueda plantear el profesor.
La calificación global corresponderá a la suma de las notas alcanzadas en los dos apartados, proyecto ("teoría") y prácticas obligatorias con trabajo autónomo ("prácticas") una vez ponderadas por el porcentaje indicado. Todo lo relativo a la evaluación se regirá por la normativa sobre planificación docente y organización de exámenes vigente en la Universidad de Granada.
-
El sistema de calificaciones se expresará mediante calificación numérica de acuerdo con lo establecido en el art. 5 del R. D 1125/2003, de 5 de septiembre, por el que se establece el sistema europeo de créditos y el sistema de calificaciones en las titulaciones universitarias de carácter oficial y validez en el territorio nacional.
Evaluación Extraordinaria
El estudiante tiene que tener en cuenta que, al tratarse de aprendizaje basada en proyecto y tener el proyecto una serie de entregas obligatorias, sólo se trata de una convocatoria extraordinaria en el sentido de que se calificará en una fecha posterior a la ordinaria. Habrá que trabajar, sin embargo, hacia la obtención de esa calificación en las fechas indicadas. En todo caso, la evaluación del proyecto se realiza de la misma forma y los estudiantes sólo tendrán que trabajar sobre los objetivos que no hayan superado en las fechas de la ordinaria hasta llegar al mismo objetivo mínimo. Es decir, si el estudiante durante el periodo lectivo ha superado hasta el objetivo 3, tendrá que trabajar sobre los objetivos 4 y 5 sólo para esta convocatoria.
En la convocatoria extraordinaria la calificación se llevará a cabo de esta forma
- 70% proyecto
- La evaluación del proyecto se llevará a cabo de la misma manera que en la convocatoria ordinaria, por una cuestión de equidad y para que todos los estudiantes sean evaluados de la misma forma. La única diferencia será que los plazos de entrega y de superación estarán retrasados tres semanas con respecto a la convocatoria ordinaria. Todos los objetivos requieren un grado determinado de trabajo personal para la entrega y la posterior evaluación hasta la superación del objetivo.
- Se tendrá que superar como en la ordinaria el objetivo 5 (o, si no se ha superado alguno en esta convocatoria, los equivalentes con la tabla que hay en la web de la asignatura).
- El plazo máximo de entrega del objetivo 5 será el primer día del calendario de la convocatoria extraordinaria. Como en la ordinaria, se considerarán sólo los objetivos que hayan sido superados hasta 48 horas antes del día que se haya establecido en el calendario para esta evaluación extraordinaria.
- Dado que se permite que continúen con el proyecto que se comenzó al principio del curso, el plazo máximo de entrega y superación de los objetivos anteriores estará desplazado tres semanas con respecto a lo establecido para la convocatoria ordinaria. Lo que se busca con esta medida es una mayor eficiencia en el tiempo del profesor.
- 30% prácticas (revisión de entregas de compañeros: 20%, presentación oral del proyecto, 10%)
Evaluación única final
La evaluación única final será igual que la evaluación en la convocatoria extraordinaria, es decir, no hará falta asistir al hackatón y se calificará el proyecto sobre el 70% y el resto sobre el 30%.
Los plazos de entrega de los objetivos dentro de la evaluación única final serán los mismos que para la convocatoria ordinaria para aquellos que quieran ser calificados en la misma, para la convocatoria extraordinaria para aquellos que quieran ser calificados en esta.
Información adicional
Se usará la forja de código y facilidades adicionales como sitio central de la asignatura en github.com. Los ejercicios de los estudiantes se liberarán como software libre y se hará una introducción a la creación de aplicaciones de software libre y al desarrollo de software colaborativo usando el mismo.
- Enseñanza invertida (Clases teóricas-expositivas) (grupo grande)
- Descripción: Se presentan en la web los objetivos de cada sesión y el material necesario para alcanzarlos. Los estudiantes examinando el material y buscando información por su cuenta, cubren objetivos a su propio ritmo (dentro de los plazos establecidos). El profesor y el alumnado resuelve las dudas técnicas o prácticas que surjan.
- Propósito: Transmitir los contenidos de la materia motivando al alumnado a la reflexión, facilitándole el descubrimiento de las relaciones entre diversos conceptos y formarle una mentalidad crítica. La enseñanza invertida favorece el aprendizaje autónomo y auto-administrado y en el primer año, tras las encuestas realizadas, la mayoría de los estudiantes lo han preferido sobre el sistema de clase magistral.
- Contenido en ECTS: 30 horas presenciales (1.2 ECTS)
- Competencias: TI1,TI2,CB3,E4,E6,T2,TI6
- Actividades prácticas (Clases prácticas de laboratorio) (grupo pequeño)
- Descripción: Actividades a través de las cuales se pretende mostrar al alumnado cómo debe actuar a partir de la aplicación de los conocimientos adquiridos. Las prácticas son hitos de un proyecto relacionado con la asignatura y al final de la misma se podrá llevar a cabo una experiencia práctica en un lugar de trabajo real colaborando sobre proyectos propuestos por clientes reales.
- Los hitos del proyecto se entregan a través de GitHub, en un sistema de integración continua que avisa de errores obvios y es previo oa la corrección del profesor. De esta forma el estudiante tiene orientación sobre su aprendizaje antes de enviarlo todo. Una vez corregidos, se pueden volver a enviar con penalización.
- Propósito: Desarrollo en el alumnado de las habilidades instrumentales de la materia.
- Contenido en ECTS: 15 horas presenciales (0.6 ECTS)
- Competencias: TI2,CB3,E4,E6,T2,TI6
- Seminarios (grupo pequeño)
- Descripción: Modalidad organizativa de los procesos de enseñanza y aprendizaje donde tratar en profundidad una temática relacionada con la materia. Incorpora actividades basadas en la indagación, el debate, la reflexión y el intercambio.
- Propósito: Desarrollo en el alumnado de las competencias cognitivas y procedimentales de la materia.
- Contenido en ECTS: 10 horas presenciales (0.4 ECTS)
- Competencias: TI1,CB3
- Actividades no presenciales individuales (Estudio y trabajo autónomo)
- Descripción: 1) Actividades (guiadas y no guiadas) propuestas por el profesor a través de las cuales y de forma individual se profundiza en aspectos concretos de la materia posibilitando al estudiante avanzar en la adquisición de determinados conocimientos y procedimientos de la materia, 2) Estudio individualizado de los contenidos de la materia 3) Actividades evaluativas (informes, exámenes, …)
- Propósito: Favorecer en el estudiante la capacidad para autorregular su aprendizaje, planificándolo, diseñándolo, evaluándolo y adecuándolo a sus especiales condiciones e intereses.
- Contenido en ECTS: 45 horas no presenciales (1.8 ECTS)
- Competencias: CB3,T2
- Actividades no presenciales grupales (Estudio y trabajo en grupo)
- Descripción: Actividades (guiadas y no guiadas) propuestas por el profesor a través de las cuales y de forma grupal se profundiza en aspectos concretos de la materia posibilitando a los estudiantes avanzar en la adquisición de determinados conocimientos y procedimientos de la materia.
- Propósito: Favorecer en los estudiantes la generación e intercambio de ideas, la identificación y análisis de diferentes puntos de vista sobre una temática, la generalización o transferencia de conocimiento y la valoración crítica del mismo.
- Contenido en ECTS: 45 horas no presenciales (1.8 ECTS)
- Competencias: T2, CB3
- Tutorías académicas (grupo pequeño)
- Descripción: manera de organizar los procesos de enseñanza y aprendizaje que se basa en la interacción directa entre el estudiante y el profesor. En el caso de la enseñanza invertida, es imprescindible para adaptar las explicaciones a los requisitos del estudiante. Al principio del curso se concierta una tutoría con todos los estudiantes, para resolver cualquier duda que surja sobre la metodología y el contenido de la asignatura. Adicionalmente, se propone a los estudiantes de cursos pasados que actúen de mentores de estudiantes de cursos actuales, de forma que puedan orientar y ayudar a los estudiantes en los primeros compases de la asignatura.
- Propósito:
- Orientan el trabajo autónomo y grupal del alumnado,
- profundizar en distintos aspectos de la materia y
- orientar la formación académica-integral del estudiante
- Contenido en ECTS: 5 horas presenciales, grupales e individuales (0.2 ECTS)
- Competencias: T2,CB3
Información de interés para estudiantado con discapacidad y/o Necesidades Específicas de Apoyo Educativo (NEAE): Gestión de servicios y apoyos (https://ve.ugr.es/servicios/atencion-social/estudiantes-con-discapacidad).
Software Libre
git y lenguajes de programación, bibliotecas y herramientas libres. Los estudiantes también escogen una licencia libre para su proyecto, y se les anima a que lo continúen más allá de los términos de la asignatura.