Ponte en Contacto

Temario del curso

Módulo 1: Diseño de Microservicios

• Un buen límite para el microservicio
• Uso del Diseño Basado en el Dominio (DDD)
• Alternativas a los límites del dominio de negocios (volatilidad, datos, tecnología, organización)
• División del monolito
• Descomposición prematura
• Descomposición por capas
• Uso de patrones de descomposición (Strangler, ejecución paralela, alternancia de funciones/Feature Toggle)
• Consideraciones sobre la descomposición de datos (rendimiento, integridad, transacciones)

Módulo 2: Optimización de Docker y el Entorno de Ejecución

• Selección de la imagen base adecuada
• Minimización del número de capas
• Uso de compilaciones multietapa (multi-stage builds)
• Optimización de imágenes (ordenamiento de argumentos multilínea, etc.)
• Aprovechamiento de la caché de compilación
• Fijación de versiones de imágenes
• Ajuste fino de la asignación de recursos
• Prácticas seguras para contenedores
• Configuración del entorno de ejecución para el rendimiento

Módulo 3: Kubernetes y Estrategias de Lanzamiento

Descripción General de los Despliegues en Kubernetes
• Creación y ejecución de un despliegue inicial
• Opciones de despliegue de Kubernetes

Ejecución de Actualizaciones en Cascada (Rolling Update)
• Comprensión de las actualizaciones en cascada
• Creación y ejecución de una actualización en cascada
• Reversión del despliegue

Ejecución de Despliegues Canary
• Comprensión de los despliegues canary
• Creación y ejecución de un despliegue canary

Ejecución de Despliegues Azul/Verde
• Comprensión de los despliegues azul/verde
• Creación y ejecución de un despliegue azul/verde

Ejecución de Trabajos (Jobs) y CronJobs
• Creación de un Job y un CronJob

Ejecución de Tareas de Monitoreo y Solución de Problemas
• Técnicas de resolución de problemas con kubectl

Módulo 4: Automatización y Eficiencia Operativa

Uso de Python para Automatizar Tareas Comunes en Kubernetes
• Uso de Python para realizar operaciones administrativas en Kubernetes
• Uso de Python para definir objetos de configuración
• Uso de Python para crear objetos Deployment
• Monitoreo de eventos de Kubernetes utilizando Python
• Escalado de un despliegue usando Python

Comprensión de los Desafíos de Automatizar Despliegues
• Configuración declarativa con Kubernetes
• Gestión de la integridad de la configuración

Uso del Enfoque GitOps para Automatizar Despliegues
• Principios de GitOps
• Introducción a Flux
• Instalación de Flux en un clúster de Kubernetes

Configuración de Flux para Despliegues Automatizados
• Uso de notificaciones
• Estructura del repositorio fuente

Gestión de Actualizaciones de Aplicaciones con Automatización de Imágenes
• Actualización de un despliegue de aplicación con Flux
• Escaneo de repositorios de imágenes de contenedores en busca de etiquetas
• Definición de políticas para la selección de la última imagen
• Configuración de Flux para realizar actualizaciones automáticas de imágenes

Módulo 5: Observabilidad y Claridad sobre la Causa Raíz

Capacidades de Registro (Logging) y Rastreo (Tracing) en Kubernetes
• Importancia del registro y el rastreo
• Acceso a los logs de Kubernetes
• Logs de Pods y Contenedores
• Logs del plano de control (Control Plane)
• Uso de recursos de nodos y pods

Recopilación y Análisis de los Registros
• Agregación de logs
• Visualización de logs

Rastreo Distribuido en Kubernetes
• Qué es el rastreo distribuido
• Uso de OpenTelemetry
• Herramientas de rastreo distribuido
• Instrumentación de una aplicación
• Uso del rastreo para encontrar problemas de rendimiento

Monitoreo con Prometheus y Grafana
• Conceptos de observabilidad
• Herramientas de monitoreo
• Uso de instrumentación de Prometheus

Casos de Uso Avanzados para Registros (Logging)
• Procesamiento de logs
• Filtrado y enriquecimiento de los logs
• Event Sourcing

Módulo 6: Simulación de Crisis del Clúster y Respuesta a Incidentes

• Comprensión de los diferentes tipos de fallos en un entorno de clúster
• Simulación de Fallos de Nodos
• Escenarios de Evicción de Pods y Agotamiento de Recursos
• Problemas de Red
• Fallos de DNS para la gestión de tiempos de espera de aplicaciones
• Simulación de una Interrupción del Servidor API
• Simulación de alto tráfico para la estabilidad del sistema
• Fallo de Almacenamiento
• Errores de Configuración
• Comprensión de los procedimientos de reporte de incidentes

Módulo 7: IA para Apoyar la Solución de Problemas

• Beneficios de la Inteligencia Artificial Generativa para Kubernetes
• Arquitectura de la CLI de K8sGPT
• Instalación de la CLI de K8sGPT
• Comandos y Uso de K8sGPT
• Uso de Analizadores de K8sGPT (podAnalyzer, pvcAnalyzer, rsAnalyzer, etc.)
• Análisis del Clúster utilizando K8sGPT
• Análisis de Problemas en Tiempo Real usando K8sGPT
• Operador dentro del clúster para K8sGPT

Requerimientos

  • Conocimientos básicos de la línea de comandos de Linux
  • Experiencia con desarrollo de aplicaciones o administración de sistemas
  • Familiaridad con contenedores (conceptos de Docker)
  • Comprensión básica de conceptos de Kubernetes (pods, deployments, servicios)
  • Conocimiento general de arquitectura de software (por ejemplo, APIs, servicios)

Audiencia Objetivo:

  • Ingenieros de DevOps
  • Ingenieros de Confiabilidad del Sitio (SREs)
  • Desarrolladores Backend / de Software que trabajan con microservicios
  • Ingenieros de Nube e Ingenieros de Plataforma
  • Administradores de Sistemas en transición hacia entornos Kubernetes

     

 49 Horas

Número de participantes


Precio por participante

Reseñas (2)

Próximos cursos

Categorías Relacionadas