TL;DR
Слёрм DevOps пройдет в Москве 30 января — 1 февраля.
Снова будем разбирать на практике инструменты DevOps.
Подробности и программа под катом.
SRE убрали из программы, потому что мы вместе с Иваном Кругловым готовим отдельный Слёрм SRE. Анонс будет позже.
Спасибо Selectel, нашим спонсорам с первого Слёрма!
Про философию, скептицизм и неожиданный успех
Я побывал на DevOpsConf в Москве в конце сентября.
Резюме того, что я услышал:
— DevOps нужен большинству сколь-нибудь крупных проектов;
— DevOps — это культура, как любая культура, он должен идти изнутри компании. Нельзя нанять DevOps-инженера и мечтать, что он задевопсит процессы.
— В самом конце списка того, что нужно для DevOps-трансформации, идут технологии, то есть те самые DevOps-инструменты, которым мы обучаем.
Я понял, что мы правильно не стали включать в курс философию и культуру DevOps, потому что этому нельзя системно учить. Кому надо, прочитает в книгах. Или найдёт супер-крутого коуча, который всех убедит своей харизмой и авторитетом.
Лично я всегда был сторонником «движения снизу», партизанского внедрения культуры через инструменты. Что-то вроде описанного в «Проекте Феникс». Если у нас правильно настроена командная работа с Git, можно потихоньку дополнять ее регламентами, а там и до ценностей дело дойдет.
И все равно, когда мы готовили Слёрм DevOps, где речь шла исключительно об инструментах, я боялся реакции участников: «Вы рассказали прекрасные вещи. Жаль, я никогда не смогу их внедрить». Скепсиса было столько, что мы сразу поставили крест на повторении программы.
Однако большинство участников ответило в опросе, что полученные знания применимы на практике, и что они в ближайшем будущем что-нибудь у себя внедрят. При этом в список полезного попало все, что мы объясняли: и Git, и Ansible, и CI/CD, и SRE.
Стоило бы помнить, что про Слёрм Kubernetes вначале тоже говорили, что за 3 дня объяснить k8s невозможно.
С Иваном Кругловым, который вел тему SRE, мы договорились об отдельной программе. Сейчас обсуждаем подробности, скоро сделаю анонс.
Что же будет на Слёрме DevOps?
Программа
Тема №1: Командная работа с Git
- Базовые команды git init, commit, add, diff, log, status, pull, push
- Git flow, ветки и теги, стратегии merge
- Работа с несколькими remote rep
- GitHub flow
- Fork, remote, pull request
- Конфликты, релизы, еще раз про Gitflow и другие flow применительно к командам
Тема №2: Работа с приложением с точки зрения разработки
- Пишем микросервис на Python
- Переменные окружения
- Интеграционные и юнит тесты
- Применение docker-compose в разработке
Тема №3: CI/CD: введение в автоматизацию
- Введение в автоматизацию
- Инструменты (bash, make, gradle)
- Использование git-hooks для автоматизации процессов
- Фабричные конвеерные линии сборки и их применение в IT
- Пример построения «общего» пайплайна
- Современное ПО для CI/CD: Drone CI, BitBucket Pipelines, Travis и т.п.
Тема №4: CI/CD: Работа с Gitlab
- Gitlab CI
- Gitlab Runner, их типы и применение
- Gitlab CI, особенности настройки, лучшие практики
- Этапы Gitlab CI
- Переменные Gitlab CI
- Сборка, тестирование, деплой
- Контроль и ограничения выполнения: only, when
- Работа с артефактами
- Шаблоны внутри .gitlab-ci.yml, переиспользование действий на разных участках пайплайна
- Include — секции
- Централизованное управление gitlab-ci.yml (один файл и автоматические push в остальные репозитории)
Тема №5: Infrastructure as Code
- IaC: подход к инфраструктуре как к коду
- Облачные провайдеры как поставщики инфраструктуры
- Инструменты инициализации систем, сборка образов (packer)
- IaC на примере Terraform
- Хранение конфигураций, совместная работа, автоматизация применений
- Практика создания Ansible плейбуков
- Идемпотентность, декларативность
- IaC на примере Ansible
Тема №6: Тестирование инфраструктуры
- Тестирование и непрерывная интеграция с Molecule и Gitlab CI
- Применение Vagrant
Тема №7: Мониторинг инфраструктуры с Prometheus
- Зачем нужен мониторинг
- Типы мониторинга
- Уведомления в системе мониторинга
- Как построить здоровую систему мониторинга
- Человекочитаемые уведомления, для всех
- Health Check: на что стоит обратить внимание
- Автоматизация на основание данных от мониторинга
Тема №8: Логирование приложения с ELK
- Лучшие практики логирования
- ELK стек
Тема №9: Автоматизация инфраструктуры с ChatOps
- DevOps и ChatOps
- ChatOps: сильные стороны
- Slack и альтернативы
- Боты для ChatOps
- Hubot и альтернативы
- Безопасность
- Лучшие и худшие практики
Место: Москва, конференц-зал отеля Севастополь.
Даты: с 30 января по 1 февраля, 3 дня напряженной работы.
Автор: Антон Скобин