Contacta con nosotros

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)
• División del monolito • Descomposición prematura • Descomposición por capa • Uso de patrones de descomposición (Estrangulador, Ejecución paralela, Interrupción de características / Feature Toggles)
• Consideraciones de la descomposición de datos (rendimiento, integridad, transacciones)

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

• Elección de la imagen base adecuada
• Minimización del número de capas
• Uso de construcciones multi-etapa (multi-stage builds)
• Optimización de imágenes (ordenamiento de argumentos de múltiples líneas, etc.)
• Aprovechamiento de la caché de construcción
• Fijación (pinning) de las versiones de la imagen • Ajuste fino de la asignación de recursos • Prácticas de seguridad de contenedores
• Configuración del entorno de ejecución para 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

Realización de Despliegues con Actualizaciones Progresivas (Rolling Updates)
• Comprensión del Rolling Update
• Creación y ejecución de un Rolling Update • Reversión del despliegue

Realización de Despliegues Canarios
• Comprensión de los Despliegues Canary • Creación y ejecución de un Despliegue Canary

Realización de Despliegues Blue-Green
• Comprensión de los Despliegues Blue-Green • Creación y ejecución de un Despliegue Blue-Green

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

Realización de Tareas de Monitoreo y Solución de Problemas
• Técnicas de solució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 • Escalamiento de un Despliegue utilizando 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 de origen (Source Repository)

Manejo de Actualizaciones de Aplicaciones con Automatización de Imágenes
• Actualización del despliegue de una aplicación con Flux • Exploración de repositorios de imágenes de contenedor en busca de etiquetas (tags)
• 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 en la Causa Raíz

Capacidades de Registro de Eventos (Logging) y Rastreo en Kubernetes
• Importancia del registro de eventos 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

Recolección y Análisis de Logs
• 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 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 el Registro de Eventos (Logging)
• Procesamiento de logs
• Filtrado y enriquecimiento de logs
• Event Sourcing (Carga 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 Nodo
• Escenario de Evicción de Pods y Agotamiento de Recursos
• Problemas de Red
• Fallos de DNS para el manejo de tiempos de espera de la aplicación • Simulación de una Caída del Servidor de API
• Simulación de Tráfico Alto 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 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 usando K8sGPT
• Operador In-Cluster 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 y servicios).
  • Conocimiento general de arquitectura de software (p. ej., APIs, servicios).

Público objetivo:

  • Ingenieros DevOps.
  • Ingenieros de Confiabilidad del Sitio (SREs).
  • Desarrolladores Backend / de Software que trabajan con microservicios.
  • Ingenieros Cloud e Ingenieros de Plataforma.
  • Administradores de Sistemas que transicionan hacia entornos de Kubernetes.

     

 49 Horas

Número de participantes


Precio por participante

Testimonios (2)

Próximos cursos

Categorías Relacionadas