Temario del curso
Módulo 1: Diseño de Microservicios
• Un límite adecuado para el microservicio
• Uso del Diseño Guiado por el Dominio (DDD)
• Alternativas a los límites del dominio empresarial (Volatilidad, Datos, Tecnología, Organización)
• Descomposición del monolito
• Descomposición prematura
• Descomposición por capas
• Uso de patrones de descomposición (Estrangulador, Ejecución Paralela, Interruptor de Funcionalidad)
• Preocupaciones 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
• Optimización de imágenes (ordenar argumentos multilínea, etc.)
• Aprovechar la caché de compilación
• Fijación de versiones de imágenes
• Ajuste fino de la asignación de recursos
• Prácticas seguras en contenedores
• Configuración del entorno de ejecución para rendimiento
Módulo 3: Kubernetes y Estrategias de Lanzamiento
Información general sobre Despliegues en Kubernetes
• Creación y ejecución de un despliegue inicial
• Opciones de despliegue en Kubernetes
Ejecución de Despliegues con Actualizaciones Progresivas
• Comprensión de las actualizaciones progresivas
• Creación y ejecución de una actualización progresiva
• Reversión del despliegue
Ejecución de Despliegues Canarios
• Comprensión de los despliegues canarios
• Creación y ejecución de un despliegue canario
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 y CronJobs
• Creación de un Trabajo y un CronJob
Ejecución de Tareas de Monitoreo y Resolución de Problemas
• Técnicas de diagnóstico 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 de despliegue
• Monitoreo de eventos de Kubernetes usando Python
• Escalamiento de un despliegue usando Python
Comprensión de los Desafíos de la Automatización de 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 del despliegue de una aplicación con Flux
• Escaneo de repositorios de imágenes de contenedores para etiquetas
• Definición de política 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 en la Causa Raíz
Capacidades de Registro y Trazado en Kubernetes
• Importancia del registro de eventos y del trazado
• Acceso a los registros de Kubernetes
• Registros de Pods y Contenedores
• Registros del Plano de Control
• Uso de Recursos en Nodos y Pods
Recopilación y Análisis de Registros
• Agregación de registros
• Visualización de registros
Trazado Distribuido en Kubernetes
• Qué es el trazado distribuido
• Uso de OpenTelemetry
• Herramientas de trazado distribuido
• Instrumentación de una aplicación
• Uso del trazado para identificar 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
• Procesamiento de registros
• Filtrado y enriquecimiento de registros
• Fuentes de eventos (Event Sourcing)
Módulo 6: Simulación de Crisis en el 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
• Evicción de Pods y escenario de agotamiento de recursos
• Problemas de red
…• Fallos de DNS para el manejo de tiempos de espera de aplicaciones
• Simulación de la caída del servidor de 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 Resolución de Problemas
• Beneficios de la IA 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 usando K8sGPT
• Análisis de problemas en tiempo real usando K8sGPT
• Operador en clúster para K8sGPT
Requerimientos
- Conocimientos básicos de la línea de comandos de Linux
- Experiencia en desarrollo de aplicaciones o administración de sistemas
- Familiaridad con contenedores (conceptos de Docker)
- Comprensión básica de conceptos de Kubernetes (pods, despliegues, servicios)
- Entendimiento general de la arquitectura de software (por ejemplo, APIs, servicios)
Público objetivo:
- Ingenieros de DevOps
- Ingenieros de Confiabilidad del Sitio (SRE)
- Desarrolladores Backend / Software que trabajan con microservicios
- Ingenieros de Nube y de Plataforma
-
Administradores de sistemas que transicionan hacia entornos de Kubernetes
Reseñas (2)
El conocimiento y experiencia del consultor ya que se abordan los temas teóricos aplicándolos a la realidad de los procesos. El curso contiene un programa de mucho valor en la gestión de las tecnologías de información.
Luis Castro Gamboa - Cooperativa De Ahorro Y Credito Ande No. 1 R.L.
Curso - Site Reliability Engineering (SRE) Foundation®
Que fue muy claro en cada especificación