Módulo 1: Introducción a DevOps
- ¿Qué es DevOps?
- Beneficios de DevOps
- Principios de DevOps
- Equipos DevOps
- Flujo de trabajo DevOps
- Herramientas y tecnologías clave en DevOps
Módulo 2: Control de versiones con Git y GitHub
- Introducción a Git
- Instalación y configuración de Git
- Repositorios locales y remotos
- Inicialización de repositorios
- Integración con Github
- Clonación (Cloning)
- Workflow básico de GIT (add, commit, push, pull)
- Registro (Logging)
- Ramificación (Branching)
- Fusión (Merging)
- Resolución de conflictos
- Reinicios y reversos (Resetting & reverting)
- Solicitudes de extracción (Pull requests)
- Etiquetas (Tags)
- Almacenamiento temporal (Stash)
Módulo 3: Administración de Sistemas Linux
- Qué es Linux
- Distribuciones
- Despliegue de servidor Linux en cloud
- Sistema de archivos
- Bash Shell
- Namespaces y cgroups
- Gestión de paquetes
- Gestión de archivos y directorios
- Gestión de permisos sobre archivos y directorios
- Vi, vim & nano
- Utilitarios: cat, more, less, grep
- Tuberías
- Administración de usuarios y permisos
- Comandos de networking (ifconfig, ping, traceroute, nslookup, curl)
- Gestión de procesos (ps, top, kill)
- Señales del sistema
- Cronjobs
- Gestión de servicios con SystemD
- Servidor y cliente SSH
- Claves públicas y privadas
- SFTP
Módulo 4: AWS Foundations
- Introducción a la nube
- Modelo de servicio en la nube
- Modelo de implementación en la nube
- Introducción a AWS
- Infraestructura global de AWS
- Región de AWS
- Zonas de disponibilidad de AWS
- Servicios de AWS
- Formas de acceder a los servicios
- Administración de Identidades en AWS IAM
- Servicios de Computo en AWS
- Almacenamiento en AWS
- Bases de datos en AWS
- Redes en AWS
- Escalamiento y Balanceadores en AWS
- Seguridad y Cumplimiento en AWS
- Facturación en AWS
- Servicios complementarios en AWS
Módulo 5: Docker
- ¿Qué es Docker?
- Ventajas y casos de uso de Docker en el desarrollo de aplicaciones
- Arquitectura de Docker
- Instalación y configuración de Docker
- Configuración de la CLI de Docker y acceso a Docker Hub y Amazon ECR
- Construcción de imágenes Docker
- Uso de capas y caché para optimizar la construcción de imágenes
- Configuración de variables de entorno y argumentos en imágenes de Docker
- Publicación de imágenes en Docker Hub y Amazon ECR
- Revisión de vulnerabilidades en imágenes con Trivy y Amazon Inspector
- Ejecución de contenedores a partir de imágenes
- Gestión del ciclo de vida de los contenedores (inicio, parada, reinicio)
- Comunicación entre contenedores y el entorno host
- Configuración de volúmenes y almacenamiento persistente en contenedores
- Gestión de redes en Docker: redes predeterminadas, redes personalizadas y enlaces entre contenedores
- Exposición de puertos y asignación de volúmenes en contenedores
- Configuración de variables de entorno y gestión de secretos en contenedores
- Creación y configuración de múltiples contenedores utilizando Docker Compose
- Definición de servicios, redes y volúmenes en un archivo de composición (docker-compose.yml)
- Despliegue y gestión de aplicaciones compuestas con Docker Compose
- Portainer: Consola web de administración de Docker
- Laboratorio: Contenerización de aplicación distribuida
Módulo 6: Kubernetes en AWS (Amazon Elastic Kubernetes Service)
- Introducción a la orquestación de contenedores
- ¿Qué es Kubernetes?
- Arquitectura y componentes de Kubernetes.
- Instalación y configuración de Kubernetes en Local (Minikube)
- Introducción a YAML
- Pods
- Deployments
- Networking
- Services
- Secrets
- ConfigMaps
- Init Containers
- Pod Disruption Budget
- Escalado horizontal de Deployments
- Implementación de clústeres Kubernetes en Amazon EKS
- Configuración de nodos de trabajo (worker nodes)
- Gestión de recursos en Namespace (limitaciones, solicitudes, cuotas)
- Configuración de volúmenes persistentes y volúmenes provisionados con Amazon EBS
- Configuración de monitoreo y registro de aplicaciones en clústeres de EKS
- Laboratorio: Despliegue de aplicación distribuida en ambiente local y nube
Módulo 7: Pipelines de CI/CD con Github Actions
- ¿Qué es GitHub Actions?
- Ventajas de usar GitHub Actions
- Casos de uso comunes
- Flujos de trabajo (Workflows)
- Eventos desencadenadores (Triggers)
- Jobs y Steps
- Runners y entornos de ejecución
- Creación de un archivo YAML de flujo de trabajo
- Sintaxis básica del archivo YAML
- Uso de secretos
- Configuración de variables de entorno
- Automatización de pruebas
- Construcción (Build) de aplicaciones
- Construcción y uso de imágenes Docker
- Publicación de imágenes en Docker Hub desde GitHub Actions
- Configuración de credenciales seguras para interactuar con ECR
- Push y Pull de imágenes desde y hacia Amazon ECR
- Uso de Amazon ECR como un registro privado de imágenes para GitHub Actions
- Orquestación Completa: GitHub Actions + Docker + ECR + EKS
- Configuración de credenciales y contexto de Kubeconfig
- Implementación de aplicaciones en Amazon EKS desde GitHub Actions
- Estrategias de despliegue en clústeres de Kubernetes
- Desarrollo de flujos de trabajo que incluyan construcción, publicación y despliegue en clúster EKS
- Automatización de actualizaciones en entornos de producción en Amazon EKS
- Registros (Logs) y solución de problemas
- Visualización de resultados de ejecución