Denominación de la asignatura

Contenedores

Postgrado al que pertenece
Máster en DevOps, Cloud Computing y Automatización de Producción de Software
Créditos ECTS
6
Cuatrimestre en el que se imparte
Segundo cuatrimestre
Carácter de la asignatura Obligatoria

Presentación

Los contenedores son una abstracción en la capa de aplicación que agrupa código y dependencias juntos. Múltiples contenedores pueden ejecutarse en la misma máquina y compartir el kernel del sistema operativo con otros contenedores, cada uno ejecutándose como procesos aislados en el espacio de usuario. Los contenedores ocupan menos espacio que las máquinas virtuales (las imágenes de contenedores suelen tener decenas de MB de tamaño) y se inician casi al instante.

Una imagen de contenedor es un paquete liviano,  independiente y ejecutable de una pieza de software que incluye todo lo necesario para ejecutarse: código, tiempo de ejecución, herramientas del sistema, bibliotecas del sistema, configuración. Disponible para aplicaciones basadas en Linux y Windows, el software en el  contenedor siempre funcionará igual, independientemente del entorno. Los contenedores aíslan el software de su entorno, por ejemplo,  las diferencias entre los entornos de desarrollo y staging y ayudan a reducir los conflictos entre equipos que ejecutan diferentes programas en la misma infraestructura.

Por su parte, las máquinas virtuales (VM) son una abstracción del hardware físico que convierte a un servidor en muchos servidores. El hipervisor permite que múltiples máquinas virtuales se ejecuten en una sola máquina. Cada VM incluye una copia completa de un sistema operativo, una o más aplicaciones, binarios y bibliotecas necesarias, ocupando decenas de GB, lo que hace que las VM puedan ser algo lentas para arrancar.

En esta asignatura conoceremos más a fondo la arquitectura y características de los contenedores, sus ventajas y desventajas frente a las VM y los escenarios más favorables para su adopción.

Contenidos

Tema 1. Contenedores vs. máquinas virtuales
Introducción
Los contenedores no son máquinas virtuales
Contenedores y máquinas virtuales juntos
¿Plano físico o virtual?

Tema 2. Docker Containers
Introducción a Docker
Instalación de Docker en Ubuntu 14.04; CentOS 6.5 y CentOS 7; Raspberry Pi y OS X
Uso de Boot2Docker para obtener un host Docker en OS X y ejecución de Boot2Docker en Escritorio Windows 8.1
Inicio de un host Docker en la nube con Docker Machine
Ejecución de Hello World en Docker.Creación, inicio, detención y eliminación de contenedores
Creación de una imagen Docker con un archivo Docker
Uso de Supervisor para ejecutar WordPress en un solo contenedor y ejecución de un blog.de WordPress utilizando dos contenedores vinculados
Copia de seguridad de una base de datos y compartición de datos entre contenedores
Creación y distribución de imágenes
Commit de imágenes, guardar imágenes y contenedores como ficheros tar para compartir
Escritura de un primer archivo Docker, empaquetado de una aplicación Flask dentro de un contenedor
Optimización de Docker siguiendo mejores prácticas (best practices)
Actualización de imágenes con etiquetas y migración de Vagrant a Docker con Docker Provider
Publicación de imágenes en Docker Hub
Configuración de una compilación automatizada en Docker Hub para CI/CD
Uso de Conduit para el despliegue continuo

Tema 3. Kubernetes
Introducción y descripción de la arquitectura de Kubernetes
Gestión de redes de pods para la conectividad de contenedores
Cómo crear un cluster multinodo de Kubernetes con Vagrant
Crear contenedores en un cluster Kubernetes mediante pods
Sacar provecho de etiquetas para consultar objetos Kubernetes
El replication controller para gestionar el número de réplicas de un pod
Ejecutar múltiples contenedores en un pod
Usar servicios de Cluster IP para el enlace dinámico de contenedores
Crear un cluster Kubernetes de un único nodo usando Minikube
Configurar autenticación a un cluster Kubernetes



Metodología

Metodología

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: Actividades de cierta complejidad que conllevan por ejemplo una búsqueda de información, análisis y crítica de lecturas, resolución de problemas, etc.
  • Test de autoevaluación: al final de cada tema, los estudiantes pueden realizar este tipo de test, que permite al profesor valorar el interés del estudiante en la asignatura.

En la programación semanal puedes consultar cuáles son las actividades concretas que tienes que realizar en esta asignatura.

Descarga el pdf de la 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.

 

Puedes personalizar tu plan de trabajo seleccionando aquel tipo de actividad formativa que se ajuste mejor a tu perfil. El profesor-tutor te ayudará y aconsejará en el proceso de elaboración de tu plan de trabajo. Y siempre estará disponible para orientarte durante el curso.

Bibliografía

Bibliografía básica

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 la UNIR y están disponibles en formato digital para consulta, descarga e impresión en el aula virtual.

Bibliografía complementaria

Goasguen, S. (2017). Kubernetes Cookbook. O'Reilly.

Hightower, K. (2016). Kubernetes: Up and Running: Dive into the Future of Infrastructure. O'Reilly.

Matthias, K. & Kane, S. (2015).  Docker: Up & Running: Shipping Reliable Containers in Production. O’Reilly Media.

Mouat, A. (2015). Using Docker: Developing and Deploying Software with Containers. O'Reilly Media.

Raj, P., Chelladhurai, J. S., Singh, V., Holla, S. & Hane, O. (2016). Docker: Creating Structured Containers. Packt Publishing.

Smith, J. & Nair, R. (2005). Virtual Machines: Versatile Platforms for Systems and Processes. Morgan Kaufmann.

 

 

 

 

evaluación

Evaluación y calificación

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 evaluación continua supone el 100% de la calificación final de la asignatura. Este 100% de la nota final se compone de las calificaciones obtenidas en las diferentes actividades formativas llevadas a cabo durante la asignatura.

En la programación semanal de la asignatura, se detalla la calificación máxima de cada actividad o evento concreto puntuables.

 

Profesorado

Fernando López Hernández

Formación

Doctor en Ing. Informática y Telecomunicación. Actualmente trabaja como profesor asociado a tiempo completo en UNIR.

Experiencia

Director y Coordinador Académico del Máster en Aplicaciones para Móviles de UNIR.
Coordinador Académico del Experto en Robótica. Profesor en el Grado de Ingeniería Informática (Informática Gráfica y Visualización, Algebra, Algoritmia y Complejidad), Grado de Diseño digital (Imagen e Imagen en Movimiento) y Máster de Aplicaciones Móviles (Objective-C y Tecnologías iOS). Previamente trabajó como investigador sénior postdoctoral en UNIR. Antes de unirse a UNIR trabajó como investigador predoctoral y postdoctoral en el Video Processing and Understanding Lab (VPU Lab) de la Universidad Autónoma de Madrid.

Líneas de investigación

Multimedia, gráficos, procesamiento de imagen y vídeo, lenguajes de programación, desarrollo de aplicaciones móviles.

Orientaciones para el estudio

Orientación para el estudio

Obviamente, al tratarse de formación online puedes organizar tu tiempo de estudio como desees, siempre y cuando vayas cumpliendo las fechas de entrega de actividades, trabajos y 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 Máster. 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 la UNIR y también podrás organizar tu plan de trabajo personal con tu profesor-tutor.
  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. Dedica tiempo al trabajo práctico (sección Actividades y Test). 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.
  5. Te recomendamos que participes en los eventos del curso (sesiones presenciales virtuales, 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 profesor-tutor te informarán de las novedades de la asignatura.

 

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 profesor tutor.
  • Recuerda que no estás solo: consulta todas tus dudas con tu profesor-tutor utilizando el correo electrónico. Si asistes a las sesiones presenciales virtuales también podrás preguntar al profesor sobre el contenido del tema. 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 y asiste a las sesiones presenciales virtuales. 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!