Проверяемые компетенции

Об экзамене

Сертификационный экзамен Yandex Cloud Certified DevOps Engineer предназначен для оценки компетенций ИТ-специалистов, связанных с автоматизацией управления инфраструктурой, оркестрацией контейнеров, настройкой CI/CD на платформе Yandex Cloud.

Сертификат Yandex Cloud Certified DevOps Engineer подтверждает знания, умения и навыки по следующим темам (доменам).

Содержание экзамена

Экзамен представляет собой тест, включающий 65 заданий:

  • 50 оцениваемых, ответы на которые влияют на итоговый балл участника;
  • 15 неоцениваемых, ответы на которые на итоговый результат не влияют.

На прохождение теста отводится 90 минут. Участник экзамена может завершить прохождение теста досрочно. В ходе тестирования можно оставлять вопросы без ответа и переходить к следующим, а затем возвращаться обратно.

Задания могут быть четырёх типов:

  • одиночный выбор (с одним правильным и тремя неправильными вариантами ответа);
  • множественный выбор (с двумя или более правильными ответами среди 5–7 предложенных вариантов);
  • сопоставление вариантов ответа с несколькими категориями;
  • выстраивание вариантов ответа в правильной последовательности.

В формулировке заданий с одиночным и множественным выбором указывается количество правильных вариантов ответа.

Перечень проверяемых компетенций

Домен 1. Базовая инфраструктура Yandex Cloud

Знать/понимать:

  • методы инициализации и настройки конфигурации виртуальных машин, подходы к управлению их жизненным циклом (группы виртуальных машин);
  • концепции облачной сети (VPC, подсети, зоны доступности, таблицы маршрутизации, NAT, группы безопасности);
  • принципы работы балансировщиков нагрузки (NLB/ALB), DNS, CDN.

Уметь:

  • создавать и настраивать группы виртуальных машин;
  • настраивать сети, маршрутизацию трафика, группы безопасности, NAT;
  • настраивать DNS и балансировку нагрузки;
  • настраивать раздачу статического контента с помощью CDN.

Домен 2. Контейнеризация

Знать/понимать:

  • концепцию контейнеризации и принципы работы с Docker;
  • этапы публикации Docker-образа в registry;
  • лучшие практики по конфигурации приложений в Docker (переменные окружения, монтируемые конфигурации);
  • подходы к отладке Docker-конейнеров.

Уметь:

  • собирать и запускать Docker-образы;
  • публиковать Docker-образы в registry;
  • оптимизировать образы (multi-stage builds, уменьшение слоёв сборки, Container Optimized Image, distroless images);
  • работать с персистентными данными, доставлять трафик («пробрасывание» портов);
  • запускать нескольких согласованных контейнеров.

Домен 3. Оркестрация

Знать/понимать:

  • базовые и продвинутые абстракции k8s, различия между k8s и управляемым сервисом k8s в облаке;
  • этапы траблшутинга управляемого кластера k8s;
  • принципы автоматического масштабирования кластера k8s;
  • принципы обеспечения высокой доступности кластера;
  • возможности и особенности контроля доступа;
  • сетевые настройки кластера, способы маршрутизации трафика.

Уметь:

  • работать с базовыми и продвинутыми абстракциями k8s;
  • настраивать ALB Ingress-контроллер, работать с его основными компонентами;
  • настраивать k8s на виртуальной машине;
  • решать проблемы с кластером (проблемы с сетью, работой воркер-нод и мастеров, недостаточными правами сервисных аккаунтов);
  • настраивать cluster autoscaler, horizontal pod autoscaler, vertical pod autoscaler;
  • настраивать Affinity, Anti-affinity, Taints, Tolerations, TopologySpreadConstraints и PodDisruptionBudget;
  • отлаживать поды, в том числе с помощью эфемерных контейнеров;
  • работать с Helm-чартами;
  • настраивать роли пользователей и сервисных аккаунтов;
  • настраивать сетевые политики, управлять сетевыми настройками кластера;
  • настраивать LimitRange и ResourceQuota, вебхуки, работать с CRD/операторами.

Домен 4. Настройка CI/CD

Знать/понимать:

  • концепции и команды Git;
  • лучшие практики по автоматизации сборки проекта;
  • типовые шаги тестирования;
  • сценарии использования Docker и Docker Compose в .gitlab-ci.yml;
  • вопросы безопасности и контроля доступа (назначение прав, protected variables, protected branches, approval rules);
  • концепции шаблонизации;
  • особенности интегрирования Terraform и GitLab;
  • концепции планирования рабочих процессов в проекте (DevOps, Twelve-Factor App, C.A.L.M.S, различия методологий Waterfall, Agile и Scrum).

Уметь:

  • работать с Git;
  • конфигурировать Runners;
  • настраивать гибкое управление пайплайнами (artifacts, dependencies, needs, cache, services, environment, rules, schedules pipeline);
  • осуществлять мониторинг и отладку CI/CD пайплайнов;
  • настраивать интеграцию Docker и Docker Compose в .gitlab-ci.yml;
  • настраивать безопасность и контроль доступа в GitLab;
  • использовать шаблонизацию;
  • интегрировать Terraform в CI/CD пайплайны.

Домен 5. Автоматизация управления инфраструктурой (IaC)

Знать/понимать:

  • концепции «Pets vs. Cattle», «Baked vs Fried»;
  • базовые конструкции HCL;
  • концепции работы с Terraform: locals, output, переменные, модули, удаленное хранение state для совместной работы, проверка безопасности кода;
  • концепцию GitOps-подхода, его преимущества и ограничения.

Уметь:

  • разрабатывать Terraform-манифесты для развёртывания облачной инфраструктуры;
  • настраивать импорт уже существующих ресурсов;
  • изменять конфигурации под новые требования без потери состояния, обрабатывать дрейф ресурсов;
  • устранять ошибки блокировки, конфликты изменений и восстанавливать состояния;
  • переносить ресурсы между модулями, провайдерами или проектами с сохранением состояния;
  • настраивать удалённое хранение terraform.tfstate для совместной работы;
  • развёртывать приложения с применением GitOps-подхода и Argo CD;
  • создавать ресурсы через Crossplane.

Домен 6. Отказоустойчивость

Знать/понимать:

  • назначение и применения нагрузочного тестирования;
  • концепции Disaster Recovery (RPO, RTO, MTTR);
  • рекомендации по обеспечению отказоустойчивости из официальной документации.

Уметь:

  • правильно трактовать квантили времен ответов;
  • корректно трактовать результаты нагрузочного тестирования по визуализациям;
  • переносить данные между зонами;
  • настраивать политики бэкапов для БД;
  • проводить тестирование восстановлений.

Домен 7. Мониторинг и логирование (Observability)

Знать/понимать:

  • концепции Observability: Application performance metrics, Tracing, Error tracking;
  • особенности сбора метрик, их хранения, передачи, визуализации для различных сценариев;
  • отличия push- и pull-моделей для сбора метрик;
  • подходы USE, RED, «Четыре золотых сигнала» для настройки мониторинга;
  • возможности настройки дашбордов Yandex Monitoring;
  • механизмы настройки алертов, экскалаций, каналов уведомлений;
  • вопросы сбора, агрегации и хранения логов.

Уметь:

  • настраивать дашборды
  • настраивать мониторинг состояния контейнеров и ресурсов;
  • использовать Yandex Unified Agent;
  • настраивать мониторинг состояния кластеров и приложений с помощью Yandex Monitoring;
  • настраивать мониторинг состояния кластеров и приложений с помощью Prometheus;
  • настраивать алерты в каналы уведомлений и эскалации;
  • настраивать агрегацию логов в Grafana Loki.

Домен 8. Обеспечение безопасности

Знать/понимать:

  • основные концепции и сущности IAM;
  • ролевую систему и сценарии использования ролей;
  • подходы к безопасному хранению секретов;
  • возможности интеграции управляемого сервиса k8s с Yandex Lockbox.

Уметь:

  • определять минимально необходимый набор ролей;
  • настраивать безопасное хранение секретов;
  • настраивать интеграцию mk8s с Yandex Lockbox (ESO).

Домен 9. Обеспечение безопасности

Знать/понимать:

  • разницу между типами СУБД (реляционные, NoSQL), между локальными БД и управляемыми БД в облаке;
  • подходы к обеспечению отказоустойчивости БД;
  • концепции репликации и шардирования (топология, latency, кластерный FQDN, primary/secondary replicas);
  • назначение кеширования и возможности Valkey;
  • особенности автоматического создания резервных копий управляемых БД.

Уметь:

  • развертывать управляемые БД в облаке;
  • настраивать кластеры управляемых БД с учетом рабочей задачи и требуемой конфигурации;
  • управлять пользователями.

Основные сервисы

Ниже перечислены сервисы, вопросы по которым могут встретиться на экзамене. Порядок расположения элементов в списке не указывает на их относительный вес или важность.

  • Compute Cloud
  • Cloud DNS
  • Virtual Private Cloud (VPC)
  • Application Load Balancer (ALB)
  • Network Load Balancer (NLB)
  • Cloud CDN
  • Object Storage
  • Managed Service for Kubernetes
  • Managed Service for GitLab
  • Monitoring
  • Identity and Access Management (IAM)
  • Managed Services for Databases

Итоги тестирования

Правила начисления баллов

Все вопросы оцениваются независимо друг от друга и имеют равный вес. За каждый правильно отвеченный вопрос начисляется один балл. Если вопрос содержит два или более правильных вариантов ответа, то один балл начисляется только при выборе всех правильных вариантов. За неверный ответ штрафные баллы не начисляются.

Результаты теста

По итогам тестирования подсчитывается сумма баллов, которая может находиться в диапазоне от 0 до 50. Чтобы успешно сдать экзамен, необходимо набрать не менее 35 баллов. Порог для оценки установлен на основе минимальных стандартов, разработанных экспертами Yandex Cloud.

В зависимости от числа набранных баллов участник получает отметку «сдано» или «не сдано». При получении отметки «сдано» и положительном заключении прокторинга участнику выдаётся сертификат.

Повторное прохождение

Если тест не сдан, его можно пройти повторно, но не ранее чем через 30 дней после неудачной попытки.