Course: 2025 - LISI - Virtualizacion 2-2

Profesor: M. C. José David Santana Alaniz

Correo Electrónico: dsantana@uas.edu.mx

Fecha: 25 de septiembre al 16 de enero de 2026.

Horario: de lunes a viernes de 17:20 - 18:00 hrs.

📘 Introducción

La virtualización es una tecnología fundamental en la infraestructura moderna de sistemas informáticos, permitiendo la creación de entornos aislados y eficientes para el desarrollo, prueba y despliegue de aplicaciones. Esta materia proporciona a los estudiantes los conocimientos teóricos y prácticos necesarios para implementar soluciones virtualizadas utilizando herramientas como Docker sobre sistemas operativos basados en Debian Linux. A través de un enfoque práctico, se explorarán conceptos clave como contenedores, orquestación, redes virtuales y seguridad, preparando al estudiante para enfrentar los retos tecnológicos actuales en el ámbito profesional.

🎯 Objetivo General

Desarrollar en el estudiante las competencias necesarias para diseñar, implementar y administrar entornos virtualizados utilizando tecnologías de contenedores como Docker sobre Debian Linux, aplicando buenas prácticas de seguridad, eficiencia y escalabilidad en contextos reales de desarrollo y producción.

✅ Objetivos Específicos

1. Comprender los fundamentos de la virtualización y sus aplicaciones en la industria.
2. Instalar y configurar entornos Linux como base para la virtualización.
3. Utilizar Docker para crear, administrar y desplegar contenedores.
4. Diseñar soluciones contenerizadas mediante Docker Compose y Dockerfile.
5. Implementar orquestación básica con Docker Swarm.
6. Evaluar el rendimiento y la seguridad de entornos virtualizados.
7. Desarrollar un proyecto integrador que simule una infraestructura moderna basada en contenedores.

🧠 Competencias de la Materia "Virtualización"

Competencias Genéricas

1. Comunicación efectiva: Expresa ideas de manera clara y precisa en contextos técnicos, tanto de forma oral como escrita.
2. Trabajo colaborativo: Participa activamente en equipos de trabajo para el desarrollo de proyectos virtualizados.
3. Aprendizaje autónomo: Investiga, analiza y aplica nuevas tecnologías de virtualización de forma independiente.

Competencias Específicas

1. Comprende los fundamentos de la virtualización, incluyendo sus tipos, beneficios y aplicaciones en entornos reales.
2. Instala y configura sistemas operativos Linux (Debian) como plataforma base para la virtualización.
3. Utiliza Docker para crear, administrar y desplegar contenedores, aplicando comandos y configuraciones básicas.
4. Diseña soluciones contenerizadas mediante Dockerfile y Docker Compose, integrando múltiples servicios.
5. Implementa orquestación básica con Docker Swarm, gestionando clústeres de contenedores de forma distribuida.
6. Monitorea y evalúa el rendimiento y seguridad de entornos virtualizados, utilizando herramientas complementarias.
7. Desarrolla un proyecto integrador, aplicando los conocimientos adquiridos para simular una infraestructura moderna basada en contenedores.

🧪 Metodología de Enseñanza

La materia se desarrollará mediante una combinación de actividades teóricas, prácticas y colaborativas, orientadas a la adquisición de competencias técnicas en virtualización y contenerización. Se utilizará un enfoque basado en proyectos, donde los estudiantes aplicarán los conocimientos adquiridos en situaciones reales de desarrollo y administración de sistemas.

Estrategias metodológicas:

- Clases expositivas para introducir conceptos clave y fundamentos teóricos.
- Prácticas en laboratorio utilizando Debian Linux y Docker para implementar entornos virtualizados.
- Estudios de caso sobre aplicaciones reales de virtualización en la industria.
- Trabajo colaborativo en equipos para el desarrollo de soluciones contenerizadas.
- Evaluación continua mediante actividades prácticas, cuestionarios, y participación en clase.
- Proyecto integrador final que simula una infraestructura moderna basada en contenedores.

Recursos didácticos:

- Manuales y documentación oficial de Docker y Debian.
- Máquinas virtuales y entornos Linux preparados para prácticas.
- Plataformas de colaboración y repositorios de código (GitHub, GitLab).
- Herramientas de monitoreo y orquestación (Docker Compose, Swarm, Portainer).

📚 Temario de la Materia: Virtualización

Unidad 1: Fundamentos de la Virtualización

1. Introducción a la virtualización: historia y evolución.
2. Tipos de virtualización: hardware, software, red, almacenamiento.
3. Hipervisores: definición, clasificación (tipo 1 y tipo 2).
4. Comparación entre virtualización tradicional y contenedores.
5. Aplicaciones prácticas en la industria.

Unidad 2: Entornos Linux para Virtualización

1. Introducción a Debian Linux.
2. Instalación y configuración básica de Debian.
3. Administración de usuarios, servicios y paquetes.
4. Seguridad básica en sistemas Linux.
5. Preparación del entorno para Docker.

Unidad 3: Contenedores y Docker

1. Conceptos clave: contenedores vs máquinas virtuales.
2. Arquitectura de Docker.
3. Instalación de Docker en Debian.
4. Comandos esenciales de Docker.
5. Manejo de imágenes y contenedores.
6. Uso de Docker Hub.

Unidad 4: Desarrollo y Orquestación con Docker

1. Dockerfile: creación de imágenes personalizadas.
2. Volúmenes y redes en Docker.
3. Docker Compose: definición y despliegue de servicios.
4. Introducción a Docker Swarm.
5. Integración con herramientas de desarrollo (Git, CI/CD).

Unidad 5: Aplicaciones Prácticas y Proyecto Final

1. Despliegue de aplicaciones web en contenedores.
2. Simulación de arquitectura de microservicios.
3. Monitoreo y logging en entornos Docker.
4. Evaluación de rendimiento y seguridad.
5. Desarrollo, documentación y presentación del proyecto final.

Bibliografia:

  - Merkel, D. (2014). Docker: lightweight Linux containers for consistent development and deployment. Linux Journal.

  - Turnbull, J. (2014). The Docker Book: Containerization is the new virtualization.

  - Debian Documentation Project. (2023). Debian Reference Manual.

  - Whitepapers y documentación oficial de Docker: https://docs.docker.com/

  - Materiales complementarios de Open Source y GitHub.