Professional Cloud DevOps Engineer
Descripción del puesto
Un Professional Cloud DevOps Engineer es responsable de realizar operaciones de desarrollo eficientes que mantengan un equilibrio entre la confiabilidad de los servicios y su velocidad de entrega. Están capacitados en el uso de Google Cloud Platform para compilar las canalizaciones de entrega de software, implementar y supervisar servicios, y administrar los incidentes y aprender de ellos.
Guía para el examen de certificación
1. Aplica los principios de la ingeniería de confiabilidad de sitios a un servicio
- Descubre los SLI (disponibilidad, latencia, etc.).
- Define los SLO y comprende los ANS.
- Acepta las consecuencias de superar el porcentaje de error aceptable.
- Crea ciclos de reacción para decidir qué compilar luego.
- Automatiza el trabajo manual.
- Administra un servicio (p. ej.: presenta un servicio nuevo, impleméntalo, mantenlo y retíralo).
- Planifica la capacidad (p. ej.: la administración de cuotas y límites).
- Evita el agotamiento (p. ej.: configura procesos de automatización para evitar el agotamiento).
- Fomenta una cultura de aprendizaje.
- Fomenta una cultura sin culpabilización.
1.1 Logra un equilibrio entre los cambios, la velocidad y la confiabilidad del servicio:
1.2 Administra el ciclo de vida del servicio:
1.3 Garantiza la buena comunicación y colaboración para las operaciones:
2. Crea e implementa canalizaciones de CI/CD para un servicio
- Diseña artefactos inmutables con Container Registry.
- Diseña repositorios de artefactos con Container Registry.
- Diseña estrategias de implementación con Cloud Build o Spinnaker.
- Diseña implementaciones de entornos híbridos y de múltiples nubes con Anthos, Spinnaker y Kubernetes.
- Diseña estrategias de control de versiones de artefactos con Cloud Build o Container Registry.
- Diseña activadores de canalizaciones de IC/EC con Cloud Source Repositories, la app de GitHub para Cloud Build o Cloud Pub/Sub.
- Prueba una versión nueva con Spinnaker.
- Configura procesos de implementación (p. ej.: flujos de aprobación).
- Implementa la CI con Cloud Build.
- Implementa la CD con Cloud Build.
- Implementa herramientas de código abierto (p. ej.: Jenkins, Spinnaker, GitLab y Concourse).
- Implementa la auditoría y el seguimiento de las implementaciones (p. ej.: CSR, Cloud Build o registros de auditoría de Cloud).
- Administra métodos de almacenamiento seguro.
- Administra la rotación secreta y los cambios en la configuración.
- Usa Terraform o Cloud Deployment Manager.
- Administra el control de versiones del código de la infraestructura.
- Haz que los cambios en la infraestructura sean más seguros.
- Crea una arquitectura inmutable.
- Implementa herramientas centralizadas o herramientas múltiples (de un único usuario o de usuarios múltiples).
- Implementa herramientas de seguridad de CI/CD.
- Decide la cantidad de entornos y su propósito.
- Crea entornos de forma dinámica para cada rama de función con GKE o Cloud Deployment Manager.
- Administra entornos de desarrollo locales con Docker, Cloud Code o Skaffold.
- Análisis de vulnerabilidades con Container Registry
- Autorización binaria
- Protege las políticas de IAM por entorno.
2.1 Diseña canalizaciones de CI/CD:
2.2 Implementa canalizaciones de IC/EC:
2.3 Administra la configuración y los secretos:
2.4 Administra la infraestructura como código:
2.5 Implementa herramientas de CI/CD:
2.6 Administra entornos de desarrollo diferentes (p. ej.: de etapa de pruebas, de producción, etc.):
2.7 Protege la canalización de implementación:
3. Implementa estrategias de supervisión de los servicios
- Recopila registros de Compute Engine, GKE con Stackdriver Logging o Fluentd.
- Recopila registros estructurados y de terceros con Stackdriver Logging o Fluentd.
- Envía los registros de la aplicación de forma directa a la API de Stackdriver con Stackdriver Logging.
- Recopila métricas desde Compute Engine.
- Recopila métricas de GKE o Kubernetes.
- Usa el explorador de métricas para un análisis de métricas ad hoc.
- Crea un panel de supervisión.
- Filtra y comparte paneles.
- Configura alertas a terceros en Stackdriver Monitoring (p. ej.: PagerDuty, Slack, etc.).
- Define las políticas de alertas basadas en SLI con Stackdriver Monitoring.
- Automatiza la definición de la política de alertas con Cloud DM o Terraform.
- Implementa la supervisión y las alertas de SLO con Stackdriver Monitoring.
- Aprende sobre las integraciones de Stackdriver Monitoring (p. ej.: Grafana o BigQuery).
- Usa herramientas SIEM para analizar los registros de flujo o auditoría (p. ej.: Splunk o Datadog).
- Diseña una estrategia de Stackdriver Workspace.
- Habilita los registros de acceso a los datos (p. ej.: registros de auditoría de Cloud).
- Habilita los registros de flujo de VPC.
- Mira registros en GCP Console
- Usa filtros de registros básicos o avanzados.
- Implementa métricas basadas en registros.
- Comprende la exclusión y la exportación de registros.
- Selecciona las opciones para la exportación de registros.
- Implementa una exportación a nivel de proyecto o a nivel de la organización.
- Visualiza los registros de exportación en Cloud Storage y BigQuery.
- Envía los registros a una plataforma de registros externa.
- Configura la LCA para restringir el acceso a los registros de auditoría con la IAM o Stackdriver Logging.
- Configura la LCA para restringir la configuración de exportación con la IAM o Stackdriver Logging.
- Configura la LCA a fin de permitir la escritura de métricas para métricas personalizadas con la IAM o Stackdriver Monitoring.
3.1 Administra los registros de las aplicaciones:
3.2 Administra las métricas de la aplicación con Stackdriver Monitoring:
3.3 Administra la plataforma de Stackdriver Monitoring:
3.4 Administra la plataforma de Stackdriver Logging:
3.5 Implementa controles de acceso de registro y supervisión:
4. Optimiza el rendimiento del servicio
- Evalúa y entiende el impacto del usuario (Stackdriver Service Monitoring para App Engine o Istio).
- Usa Stackdriver para identificar el uso de recursos de Cloud.
- Usa Stackdriver Trace o Stackdriver Profiler para generar un perfil con las características de rendimiento.
- Interpreta la telemetría de la malla de servicios.
- Soluciona los problemas con la imagen o el SO.
- Soluciona problemas de red (p. ej.: registros de flujo de VPC, registros de firewall, latencia y detalles de la red).
- Instrumentación de aplicaciones
- Stackdriver Debugger
- Stackdriver Logging
- Stackdriver Trace
- Depuración de aplicaciones distribuidas
- Servidor de desarrollo local de App Engine
- Stackdriver Error Reporting
- Stackdriver Profiler
- Identifica los costos de los recursos.
- Identifica los niveles de uso de los recursos.
- Desarrolla un plan para optimizar las áreas con mayores costos o menor uso.
- Administra VM interrumpibles.
- Trabaja con descuentos por compromiso de uso.
- Ten en cuenta las consideraciones del TCO.
- Considera el precio de la red.
4.1 Identifica los problemas de rendimiento del servicio:
4.2 Depura el código de la aplicación:
4.3 Optimiza el uso de recursos:
5. Administra los incidentes del servicio
- Define funciones (comandante de incidentes, líder de comunicaciones, líder de operaciones).
- Controla las solicitudes para la evaluación del impacto.
- Proporciona actualizaciones de estado frecuentes, internas y externas.
- Registra los cambios principales en el estado del incidente (cuándo se mitigó el incidente, cuándo se solucionó, etc.).
- Establece canales de comunicación (correo electrónico, IRC, Hangouts, Slack, teléfono, etc.).
- Escala la delegación y el equipo de respuesta.
- Evita el agotamiento.
- Rota o entrega funciones.
- Administra las relaciones entre las partes interesadas.
- Identifica las posibles causas de la falla de servicio.
- Evalúa los síntomas frente a las posibles causas; clasifica las probabilidades de la causa según el comportamiento observado.
- Realiza una investigación para aislar la causa real más probable.
- Identifica alternativas para mitigar el problema.
- Revierte el lanzamiento.
- Desvía o redirecciona el tráfico.
- Desactiva el experimento.
- Agrega capacidad.
- Cambia el código o corrige el error.
- Verifica la corrección.
- Declara que se solucionó el problema.
- Documenta las causas raíz.
- Crea y prioriza elementos de acción.
- Comunícales el proceso post mortem a las partes interesadas.
5.1 Coordina las funciones e implementa canales de comunicación durante un incidente en el servicio:
5.2 Investiga los síntomas de incidentes que tienen un impacto en los usuarios:
5.3 Mitiga el impacto del incidente en los usuarios:
5.4 Resuelve problemas (p. ej.: Cloud Build o Jenkins):
5.5 Documenta el problema en un proceso post mortem: