Temario del curso
Módulo 1: Diseño de microservicios
• Un buen límite de microservicio
• Uso del diseño orientado al 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 capa
• Uso de patrones de descomposición (estrangulador, ejecución paralela, interruptor de función)
• Preocupaciones sobre la descomposición de datos (rendimiento, integridad, transacciones)
Módulo 2: Optimización de Docker y el entorno de ejecución
• Elección de la imagen base adecuada
• Minimización del número de capas
• Uso de construcciones multi-etapa
• Optimización de imágenes (ordenar argumentos multilinea, etc.)
• Aprovechamiento de la caché de construcció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 optimizar el rendimiento
Módulo 3: Kubernetes y estrategias de lanzamiento
Visión general de los despliegues en Kubernetes
• Creación y ejecución de un despliegue inicial
• Opciones de despliegue en Kubernetes
Realización de despliegues con actualizaciones progresivas
• Comprensión de las actualizaciones progresivas
• Creación y ejecución de una actualización progresiva
• Reversión de despliegues
Realización de despliegues canario
• Comprensión de los despliegues canario
• Creación y ejecución de un despliegue canario
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 Jobs y CronJobs
• Creación de un Job y un 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 despliegue
• Supervisión de eventos de Kubernetes mediante 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 imagen más reciente
• 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 rastreo en Kubernetes
• Por qué son importantes el registro y el rastreo
• Acceso a los registros de Kubernetes
• Registros de pods y contenedores
• Registros del plano de control
• Uso de recursos de nodos y pods
Recolección y análisis de registros
• Agregación de registros
• Visualización de registros
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 identificar problemas de rendimiento
Monitoreo con Prometheus y Grafana
• Conceptos de observabilidad
• Herramientas de monitoreo
• Uso de instrumentación con Prometheus
Casos de uso avanzados para registros
• Procesamiento de registros
• Filtrado y enriquecimiento de registros
• Event Sourcing
Módulo 6: Simulación de crisis en 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
• Escenario de expulsió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 caída del servidor de API
• Simulación de alto tráfico para garantizar la estabilidad del sistema
• Fallos de almacenamiento
• Errores de configuración
• Comprensión de los procedimientos de informe de incidentes
Módulo 7: IA para apoyar la resolución de problemas
• Beneficios de la IA generativa para Kubernetes
• Arquitectura de la interfaz de línea de comandos (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 mediante K8sGPT
• Análisis de problemas en tiempo real con K8sGPT
• Operador dentro del 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, despliegues, servicios)
- Comprensión general de la arquitectura de software (por ejemplo, APIs, servicios)
Público objetivo:
- Ingenieros de DevOps
- Ingenieros de fiabilidad de sitios (SREs)
- Desarrolladores backend o de software que trabajan con microservicios
- Ingenieros de nube e ingenieros de plataforma
-
Administradores de sistemas en transición a 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