Temario del curso
Módulo 1: Diseño de Microservicios
• Un buen límite de Microservicio
• Uso del Diseño Basado en el Dominio (DDD)
• Alternativas a los límites del dominio empresarial (Volatilidad, Datos, Tecnología, Organizacional)
• Fragmentación del Monolito
• Descomposición prematura
• Descomposición por Capa
• Uso de Patrones de Descomposición (Strangler, Ejecución Paralela, Conmutación de Funcionalidades)
• Preocupaciones de Descomposición de Datos (Rendimiento, Integridad, Transacciones)
Módulo 2: Optimización de Docker y el Tiempo de Ejecución
• Elección de la imagen base adecuada
• Minimización del número de capas
• Uso de compilaciones multietapa
• Optimización de imágenes (ordenamiento de argumentos multilínea, etc.)
• Aprovechamiento de la caché de compilación
• Fijación de versiones de imagen
• Ajuste fino de la asignación de recursos
• Prácticas de seguridad en contenedores
• Configuración del tiempo de ejecución para el rendimiento
Módulo 3: Kubernetes y Estrategias de Lanzamiento
Descripción General de las Implementaciones en Kubernetes
• Creación y ejecución de una Implementación Inicial
• Opciones de Implementación en Kubernetes
Realización de Desplegues con Actualizaciones Progresivas (Rolling Updates)
• Comprensión de las Actualizaciones Progresivas
• Creación y ejecución de una Actualización Progresiva
• Reversión de la Implementación
Realización de Despliegues Canary
• Comprensión de los Despliegues Canary
• Creación y ejecución de un Despliegue Canary
Realizació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 CronJob
Realización de Tareas de Monitoreo y Resolució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 de Implementación
• Observación de Eventos de Kubernetes usando Python
• Escalado de una Implementación 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 de Origen
Gestión de Actualizaciones de Aplicaciones con Automatización de Imágenes
• Actualización de una Implementación de Aplicación con Flux
• Escaneo de Repositorios de Imágenes de Contenedor en busca de Etiquetas
• Definición de Políticas para la selección de la última imagen
• Configuración de Flux para Realizar Actualizaciones de Imagen Automáticas
Módulo 5: Observabilidad y Claridad en la Causa Raíz
Capacidades de Registro de Eventos y Trazado de Kubernetes
• ¿Por qué son importantes el registro de eventos (logging) y el trazado?
• Acceso a los Registros de Kubernetes
• Registros de Pods y Contenedores
• Registros del Plano de Control (Control Plane)
• Uso de Recursos de Nodos y Pods
Recopilación y Análisis de los 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 Encontrar Problemas de Rendimiento
Monitoreo con Prometheus y Grafana
• Conceptos de Observabilidad
• Herramientas de Monitoreo
• Uso de la Instrumentación de Prometheus
Casos de Uso Avanzados para el Registro de Eventos
• Procesamiento de Registros
• Filtrado y Enriquecimiento de los Registros
• Event Sourcing (Origen de Eventos)
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
• Evicción de Pods y Escenario de Agotamiento de Recursos
• Problemas de Red
• Fallos de DNS para el manejo de timeouts de aplicación
• 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 Soporte en 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 utilizando K8sGPT
• Análisis de Problemas en Tiempo Real utilizando 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 los conceptos de Kubernetes (pods, implementaciones, servicios)
- Comprensión general de la arquitectura de software (por ejemplo, APIs, servicios)
Audiencia objetivo:
- Ingenieros de DevOps
- Ingenieros de Confiabilidad del Sitio (SREs)
- Desarrolladores de Backend / Software que trabajan con microservicios
- Ingenieros de Nube e Ingenieros de Plataforma
-
Administradores de sistemas que se están transitando hacia entornos de Kubernetes
Testimonios (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