Что мы строим и для кого этот курс
🗺️ Roadmap курса
Курс состоит из 17 уроков, разделенных на 4 трека: Основы → Практика → Интеграция → Продвинутые техники.
Легенда:
- ⭐ Урок содержит реальный кейс с цифрами ROI
- 🎯 Базовый уровень: стратегия и подготовка
- 💻 Практика: написание тестов
- 📊 Анализ: интерпретация результатов
- 🔧 Интеграция: встраивание в процессы
- 🚀 Продвинутый: масштабирование и оптимизация
Общая длительность: ~415 минут (7 часов чистого времени + упражнения)
Рекомендуемый темп: 2-3 урока в неделю с выполнением практических заданий. Полное прохождение курса: 6-8 недель.
О чем курс
- Фокус — k6 как платформа под нагрузочное тестирование: от постановки целей до решения, выкатывать/не выкатывать.
- Результат — готовый процесс: SLA/SLO → сценарии → прогон → разбор метрик → решение → план улучшений.
- Формат — 70% практики, 30% методологии. Каждый урок заканчивается конкретными действиями и кодом.
Курс собирает k6 как систему: стратегия, сценарии, метрики, CI/CD, наблюдаемость и масштабирование генераторов.
Для кого
- Senior Backend/Performance Engineers, которым надоел «тык палкой» без системного подхода.
- Tech Leads & SRE, отвечающие за SLA и предотвращение инцидентов.
- CTO, которым нужны данные для capacity planning и обоснования инфраструктурных расходов.
Не для новичков: предполагается опыт с CI/CD, мониторингом и базовое знакомство с k6/HTTP.
Результат — что вы сможете после курса
- Обосновывать инфраструктурные расходы на основе данных нагрузочных тестов.
- Автоматически блокировать релизы с регрессией производительности в CI/CD.
- Находить узкие места через триангуляцию метрик k6 + APM + логи + трейсы.
- Прогнозировать поведение системы на пиках (Black Friday, рекламные всплески).
- Внедрить готовый процесс нагрузочного тестирования в свой релизный цикл.
Сквозной пример: ShopStack
Архитектура:
- Frontend (Next.js) + API Gateway + микросервисы (Go/Java).
- PostgreSQL (основная БД), Redis (кэш), Elasticsearch (поиск).
- Kubernetes, Prometheus + Grafana + Jaeger/Tempo для observability.
Бизнес-контекст: Black Friday, рост x10 к обычной нагрузке. Цели: p95 < 500ms для критичных путей, доступность > 99.9%.
Потоки:
- Reader — «browse → search → view product».
- Buyer — «login → add to cart → checkout».
- Admin — «upload product → publish».
Процентное соотношение потоков основано на реальных метриках: 80% пользователей только смотрят (Reader), 18% добавляют в корзину и покупают (Buyer), 2% — администраторы контента (Admin). Эти пропорции критичны для моделирования нагрузки.
Каждый урок возвращается к этим потокам: выводим SLO из реальных метрик, строим сценарии по логам, ищем bottleneck'и через APM и внедряем quality gate.
Как устроены уроки
- Базовый трек (0–6): фундамент системы — от бизнес-целей к SLO, реалистичное моделирование нагрузки, привязка thresholds к бизнес-метрикам.
- Продвинутый трек (7–12): триангуляция проблем (k6+логи+трейсы), quality gates в CI/CD, масштабирование до десятков тысяч VU, паттерны и канарейки в проде.
Что не входит: базовый JavaScript, настройка Prometheus/Grafana с нуля, основы Kubernetes/Docker и теория HTTP. Предполагается, что эти темы уже освоены.
После уроков вы сможете прогонять smoke/load/stress по чек-листу релиза, понимать, где bottleneck (сервис vs генератор), и обосновывать бизнесу capacity план.
✅ Чек-лист готовности к курсу
Перед началом убедитесь, что вы готовы:
Обязательные prerequisite:
- Установлен k6:
k6 versionработает (иначе: k6.io/docs/get-started/installation) - Базовое знание JavaScript (arrow functions, async/await, modules)
- Понимание HTTP: методы, статус-коды, headers
- Опыт работы с CI/CD (GitHub Actions, GitLab CI или аналог)
- Доступ к тестовому окружению (staging/dev) для экспериментов
Желательно (но не обязательно):
- Опыт с Prometheus/Grafana или аналогичным мониторингом
- Знакомство с Kubernetes (для уроков 11-12)
- Базовое понимание performance engineering (latency, throughput, RPS)
Настройка окружения:
- Клонирован репозиторий с примерами (если будет предоставлен)
- Есть редактор кода с подсветкой JavaScript (VS Code, Sublime, Vim)
- Доступ к терминалу для запуска команд k6
Если все чек-боксы отмечены — вперед! Начните с урока 01 и постройте свою первую стратегию нагрузочного тестирования.
Что дальше
Переходите к Уроку 1: Методология: цели, SLA/SLO и выбор типов тестов, где вы научитесь:
- Формулировать бизнес-цели в метрики производительности
- Выбирать правильный тип теста для каждой задачи
- Строить реалистичные SLO на основе данных
Время: 30 минут практики + методологии.