Автор: Слёрм
Название: Слёрм DevOps - история одной компании (2020)
Описание:
На Слёрме вы научитесь:
— организовать командную работу с Git;
— автоматизировать рутинные операции;
— настраивать мониторинг и интегрировать с мессенджерами;
— разворачивать серверы, используя подход Infrastructure as Code;
— обеспечивать безопасность процессов CI;
— применять SRE (Site Reliability Engineering) на практике.
Подробная программа:
День 1 (30 января, четверг)
Тема №1: Командная работа с Git
- Базовые команды git init, commit, add, diff, log, status, pull, push
- Git flow, ветки и теги, стратегии merge
- Работа с несколькими remote rep
- GitHub flow
- Fork, remote, pull request
- Конфликты, релизы, еще раз про Gitflow и другие flow применительно к командам
- Пишем микросервис на Python
- Переменные окружения
- Интеграционные и юнит тесты
- Применение docker-compose в разработке
- Введение в автоматизацию
- Инструменты (bash, make, gradle)
- Использование git-hooks для автоматизации процессов
- Фабричные конвеерные линии сборки и их применение в IT
- Пример построения «общего» пайплайна
- Современное ПО для CI/CD: Drone CI, BitBucket Pipelines, Travis и т.п.
- 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
- Тестирование и непрерывная интеграция с Molecule и Gitlab CI
- Применение Vagrant
Тема №7: Мониторинг инфраструктуры с Prometheus
- Зачем нужен мониторинг
- Типы мониторинга
- Уведомления в системе мониторинга
- Как построить здоровую систему мониторинга
- Человекочитаемые уведомления, для всех
- Health Check: на что стоит обратить внимание
- Автоматизация на основание данных от мониторинга
- Лучшие практики логирования
- ELK стек
- DevOps и ChatOps
- ChatOps: сильные стороны
- Slack и альтернативы
- Боты для ChatOps
- Hubot и альтернативы
- Безопасность
- Лучшие и худшие практики