Домен 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 (ESO)
Уметь:
- Определять минимально необходимый набор ролей
- Настраивать безопасное хранение секретов
- Настраивать интеграцию mk8s с Yandex Lockbox (ESO)
Домен 9. Базы данных (БД)
Знать/понимать:
- Разницу между типами СУБД (реляционные, NoSQL), между локальными БД и управляемыми БД в облаке
- Подходы к обеспечению отказоустойчивости БД
- Концепции репликации и шардирования (топология, latency, кластерный FQDN, primary/secondary replicas)
- Назначение кеширования и возможности Redis
- Особенности автоматического создания резервных копий управляемых БД
Уметь:
- Развертывать управляемые БД в облаке
- Настраивать кластеры управляемых БД с учетом рабочей задачи и требуемой конфигурации
- Управлять пользователями