Última revisión realizada: 26/05/2022

Denominación de la asignatura: Herramientas DevOps
Postgrado al que pertenece: Máster Universitario en Desarrollo y Operaciones (DevOps)
Créditos ECTS: 6
Cuatrimestre en el que se imparte: Primero
Carácter de la asignatura: Obligatoria
Materia a la que pertenece: Despliegue Automatizado de Infraestructura

Presentación

La asignatura de Herramientas DevOps analiza el ciclo de vida de sistemas y aplicaciones a través del estudio de diferentes herramientas que nos permiten gestionarlo y automatizar los cambios. Asimismo, en esta asignatura veremos las diferentes fases de una aplicación DevOps, el diseño y arquitectura; la implementación y despliegue; el mantenimiento y la revisión y mejora continua.

El análisis de la arquitectura nos lleva a analizar los tipos de aplicación de acuerdo con su función y necesidades. Con el objetivo de desplegarlas estudiamos los diferentes componentes y estructuras que pueden tener.

Los problemas de cómputo conllevan un análisis del tamaño de los equipos que los desarrollan y la complejidad del sistema. Para desplegar el cómputo estudiaremos sistemas de Infraestructura como Servicio, de Plataforma como Servicio, de Contenedor como Servicio y de Función como Servicio y analizaremos las características, ventajas y desventajas que tienen.

La gestión del estado es una problemática distinta que conlleva herramientas y componentes específicos. Para ello estudiaremos bases de datos, colas de mensajería, motores de búsqueda, y gestión de la configuración entre otras.

La implementación y el despliegue conforman una fase crucial que estudiaremos desde diferentes enfoques en esta asignatura: analizaremos la diferencia entre las fases de compilación y ejecución o configuración. La compilación involucra la generación frecuente de imágenes de máquina virtual y por ello estudiaremos con detalle la herramienta Packer.

Para desplegar sistemas más complejos hablaremos del concepto de infraestructura como código, y revisaremos algunas herramientas específicas de las nubes para luego centrarnos en Terraform, una herramienta que permite gestionar el despliegue y otras fases del ciclo de vida en entornos multicloud.

Sobre la fase del mantenimiento estudiaremos diferentes herramientas necesarias para la gestión de logs, monitorización, gestión de métricas y de alertas (usaremos el Elastic Stack como herramienta principal en este sentido). Finalmente, hablaremos de la revisión y mejora continua y veremos algunas de las facetas de esta fase y enlazaremos las anteriores herramientas vistas desde esta dirección.

Competencias básicas

  • CB6: Poseer y comprender conocimientos que aporten una base u oportunidad de ser originales en el desarrollo y/o aplicación de ideas, a menudo en un contexto de investigación.
  • CB7: Que los estudiantes sepan aplicar los conocimientos adquiridos y su capacidad de resolución de problemas en entornos nuevos o poco conocidos dentro de contextos más amplios (o multidisciplinares) relacionados con su área de estudio.
  • CB8: Que los estudiantes sean capaces de integrar conocimientos y enfrentarse a la complejidad de formular juicios a partir de una información que, siendo incompleta o limitada, incluya reflexiones sobre las responsabilidades sociales y éticas vinculadas a la aplicación de sus conocimientos y juicios.
  • CB9: Que los estudiantes sepan comunicar sus conclusiones y los conocimientos y razones últimas que las sustentan a públicos especializados y no especializados de un modo claro y sin ambigüedades.
  • CB10: Que los estudiantes posean las habilidades de aprendizaje que les permitan continuar estudiando de un modo que habrá de ser en gran medida autodirigido o autónomo.

Competencias generales

  • CG1: Desarrollar las habilidades necesarias para ejercer las funciones profesionales requeridas para el ejercicio de la profesión de DevOps.
  • CG4: Capacidad para analizar adecuadamente todos los procesos actuales de desarrollo para realizar los cambios necesarios a fin de ejecutar un plan de automatización que permita crear una cadena automatizada que integre los procesos de generación, empaquetado, pruebas y despliegue de los desarrollos software.

Competencias específicas

  • CE13: Determinar qué herramientas DevOps son las más apropiadas para cada entorno, infraestructura, equipo, velocidad y restricciones.
  • CE14: Alinear los procesos de desarrollo ágiles con los despliegues de aplicaciones e infraestructura para desarrollar todo el potencial de las metodologías agiles y las herramientas y técnicas DevOps.

Competencias transversales

  • CT1: Aplicar las nuevas tecnologías como herramientas para el intercambio comunicacional en el desarrollo de procesos de indagación y de aprendizaje.
  • CT2: Desarrollar habilidades de comunicación, para redactar informes y documentos, o realizar eficaces presentaciones de los mismos.

Tema 1. Ciclo de vida DevOps

  • Introducción y objetivos
  • Diseño y arquitectura
  • Implementación y despliegue
  • Mantenimiento
  • Mejora continua
  • Conclusiones

Tema 2. Componentes de aplicaciones

  • Introducción y objetivos
  • Tipos de componentes
  • Cómputo
  • Gestión del estado
  • Conclusiones

Tema 3. Arquitectura de aplicaciones

  • Introducción y objetivos
  • Tipos de aplicaciones
  • Tipos de arquitectura
  • Aplicaciones monolíticas y appliances
  • Aplicaciones multicapa
  • Aplicaciones orientadas a microservicios
  • Mallas de servicios (Service Mesh)
  • Conclusiones

Tema 4. Packer: compilación de imágenes

  • Introducción y objetivos
  • Casos de uso
  • Instalación
  • Conceptos y nomenclaturas
  • Comandos
  • Templates
  • Configuración de templates
  • Trabajo con Packer
  • Conclusiones

Tema 5. Terraform: Infraestructura como código

  • Introducción y objetivos
  • ¿Qué es Terraform?
  • Configuración y guía de ejemplo
  • Primer despliegue de infraestructura
  • Cambios en la infraestructura
  • Conclusiones

Tema 6. Terraform: casos de uso avanzado

  • Introducción y objetivos
  • Aprovisionamiento
  • Variables de entrada
  • Tipos de variable
  • Variables de salida
  • Módulos
  • Backends remotos
  • Flujo de trabajo en Terraform
  • Conclusiones

Tema 7. Tratamiento de logs y telemetría con ElasticSearch

  • Introducción y objetivos
  • Almacenamiento y consultas con ElasticSearch
  • Documentos en ElasticSearch
  • índices
  • Acumulación de datos históricos
  • Rollup para la agregación de datos históricos
  • Búsqueda de datos
  • Agregaciones para monitorización
  • Conclusiones

Tema 8. Captura de logs y telemetría mediante Beats

  • Introducción y objetivos
  • Arquitectura y topología de Beats y Logstash
  • La suite de Beats
  • Filebeat
  • Conclusiones

Tema 9. Dashboards con Kibana

  • Introducción y objetivos
  • Conceptos básicos de Kibana
  • Casos de uso
  • Discovery
  • Visualize
  • Dashboard (paneles de control)
  • Métricas y Logs
  • Caso de uso: Análisis de logs
  • Lenguaje de consultas de Kibana en detalle
  • Conclusiones

Tema 10. Monitorización del rendimiento de aplicaciones con APM

  • Introducción y objetivos
  • Conceptos básicos de APM
  • Visualización de cuellos de botella de aplicaciones
  • Servicios y trazas
  • Trazas o rastreo distribuido
  • Transacciones
  • Spans
  • Errores
  • Métricas
  • Conclusiones

Las actividades formativas de la asignatura se han elaborado con el objetivo de adaptar el proceso de aprendizaje a las diferentes capacidades, necesidades e intereses de los alumnos.

Las actividades formativas de esta asignatura son las siguientes:

  • Trabajos individuales. Se trata de actividades de diferentes tipos: reflexión, análisis de casos, prácticas, análisis de textos, etc.
  • Trabajos colaborativos. Son actividades grupales en las que tendrás la oportunidad de trabajar con tus compañeros. Durante el desarrollo de la asignatura tendrás toda la información que necesites sobre cómo organizarte para trabajar en equipo.
  • Participación en eventos. Son actividades programadas todas las semanas del cuatrimestre como clases en directo o foros de debate.
Descargar programación

Estas actividades formativas prácticas se completan, por supuesto, con estas otras:

  • Estudio personal
  • Tutorías. Las tutorías se pueden articular a través de diversas herramientas y medios. Durante el desarrollo de la asignatura, el profesor programa tutorías en días concretos para la resolución de dudas de índole estrictamente académico a través de las denominadas “sesiones de consultas”. Como complemento de estas sesiones se dispone también del foro “Pregúntale al profesor de la asignatura” a través del cual se articulan algunas preguntas de alumnos y las correspondientes respuestas en el que se tratan aspectos generales de la asignatura. Por la propia naturaleza de los medios de comunicación empleados, no existen horarios a los que deba ajustarse el alumno.
  • Examen final presencial u online

Las horas de dedicación a cada actividad se detallan en la siguiente tabla:

ACTIVIDADES FORMATIVAS HORAS POR ASIGNATURA % PRESENCIAL
Sesiones presenciales virtuales 15 horas 100%
Lecciones magistrales 6 horas 0
Estudio del material básico 62 horas 0
Lectura del material complementario 45 horas 0
Trabajos, casos prácticos y test de evaluación 17 horas 0
Sesiones prácticas de laboratorio virtualn 12 horas 16,7%
Tutorías 16 horas 30% 
Trabajo colaborativo 7 horas 0
Total 180 horas -

Bibliografía básica

Recuerda que la bibliografía básica es imprescindible para el estudio de la asignatura. Cuando se indica que no está disponible en el aula virtual, tendrás que obtenerla por otros medios: librería UNIR, biblioteca...

Los textos necesarios para el estudio de la asignatura han sido elaborados por UNIR y están disponibles en formato digital para consulta, descarga e impresión en el aula virtual.

Bibliografía complementaria

  • Renkin K. (2012) DevOps Troubleshooting: Linux Server Best Practices. Addison Wesley Professional.
  • Wouter de Kort., (2016) DevOps on the Microsoft Stack. Editorial Apress.
  • Gruver, G., Mouser, T., Kim, G. (2015). Leading the Transformation: Applying Agile and Devops Principles at Scale. Editorial It Revolution Pr.
  • Turnbull, J. (2016). The Terraform Book. Editorial Turnbull Press.
  • Turnbull, J. (2017). The Packer Book. Editorial Turnbull Press.
  • Shukla, P., Kumar S. (2019). Learning Elastic Stack 7.0. Editorial Packt Publishing Ltd.

El sistema de calificación se basa en la siguiente escala numérica:

0 - 4, 9 Suspenso (SS)
5,0 - 6,9 Aprobado (AP)
7,0 - 8,9 Notable (NT)
9,0 - 10 Sobresaliente (SB)

La calificación se compone de dos partes principales:

El examen se realiza al final del cuatrimestre y es de carácter PRESENCIAL U ONLINE Y OBLIGATORIO. Supone el 60% de la calificación final y para que la nota obtenida en este examen se sume a la nota final, es obligatorio APROBARLO.

La evaluación continua supone el 40% de la calificación final. Este 40% de la nota final se compone de las calificaciones obtenidas en las diferentes actividades formativas llevadas a cabo durante el cuatrimestre.

Ten en cuenta que la suma de las puntuaciones de las actividades de la evaluación continua permite que realices las que prefieras hasta conseguir el máximo puntuable mencionado. En la programación semanal de la asignatura, se detalla la calificación máxima de cada actividad o evento concreto puntuables.

Sistema de evaluación Ponderación min - max
Participación del estudiante (sesiones, foros, tutorías) 0% - 20%
Trabajos, proyectos y/o casos 10% - 30%
Prácticas de laboratorio virtual 10% - 30%
Test de autoevaluación 0% - 20%
Examen final 60% - 60%

Rafael Merlo Loranca

Formación académica: Ingeniero en Informática por la Universidad Pontificia de Salamanca, HNC en Computación por la Universidad de Gales adicionalmente Certificado como Expert Scrum Master

Experiencia: Profesional con más de 15 años de experiencia en consultoría en diferentes proyectos nacionales e internacionales como Project Manager, Arquitecto, Formador y Consultor Experto. En los últimos años centrado en Gestión de Equipos y Proyectos y en el desarrollo de Proyectos de Innovación en empresas multinacionales como AtoS, Softtek, UST Global y en la actualidad SACYR S.A.

Al tratarse de formación online puedes organizar tu tiempo de estudio como desees, siempre y cuando vayas cumpliendo las fechas de entrega de las actividades y la fecha de exámenes. Nosotros, para ayudarte, te proponemos los siguientes pasos:

  1. Desde el Campus virtual podrás acceder al aula virtual de cada asignatura en la que estés matriculado y, además, al aula virtual del Curso de introducción al campus virtual. Aquí podrás consultar la documentación disponible sobre cómo se utilizan las herramientas del aula virtual y sobre cómo se organiza una asignatura en UNIR. También podrás organizar tu plan de trabajo con tu tutor personal.
  2. Observa la programación semanal. Allí te indicamos qué parte del temario debes trabajar cada semana.
  3. Ya sabes qué trabajo tienes que hacer durante la semana. Accede ahora a la sección Temas del aula virtual. Allí encontrarás el material teórico y práctico del tema correspondiente a esa semana.
  4. Comienza con la lectura de las Ideas clave del tema. Este material es el que debes estudiar para superar la asignatura. Consulta, además, las secciones del tema que contienen material complementario: con esto podrás tener una visión más amplia sobre el tema que estaás trabajando..
  5. Dedica tiempo al trabajo práctico (sección Actividades). En la programación semanal te detallamos cuáles son las actividades correspondientes a cada semana y qué calificación máxima puedes obtener con cada una de ellas.
  6. Te recomendamos que participes en los eventos del curso (clases en directo, foros de debate…). Para conocer la fecha concreta de celebración de los eventos debes consultar las herramientas de comunicación del aula vitual. Tu profesor y tu tutor personal te informarán de las novedades de la asignatura.

En el aula virtual del Curso de introducción al campus virtual encontrarás siempre disponible la documentación donde te explicamos cómo se estructuran los temas y qué podrás encontrar en cada una de sus secciones. Tambén puedes consulltar ahí el funcionamiento de las distintas herramientas del aula virtual: Correo, Foro, Clases en directo, Envío de actividades, etc.

Ten en cuenta estos consejos...

  • Sea cual sea tu plan de estudio, accede periódicamente al aula Virtual, ya que de esta forma estarás al día de las novedades del curso y en contacto con tu profesor y con tu tutor personal.
  • Recuerda que no estás solo: consulta todas tus dudas con tu tutor personal utilizando el correo electrónico. Además, siempre puedes consultar tus dudas sobre el temario en los foros que encontrarás en cada asignatura (Pregúntale al profesor).
  • ¡Participa! Siempre que te sea posible accede a los foros de debate. El intercambio de opiniones, materiales e ideas nos enriquece a todos.
  • Y ¡recuerda!, estás estudiando con metodología on line: tu esfuerzo y constancia son imprescindibles para conseguir buenos resultados. ¡No dejes todo para el último día!