Администрирование Слёрм DevOps — история одной компании 2020 [Слёрм] [Селиванов, Гурьянов, Круглов и др.]

Stokrat

Модератор
Модератор
Stokrat

Stokrat

Модератор
Модератор
Сообщения
11,916
Реакции
1,531
Слёрм DevOps: от Git до SRE со всеми остановками

На примере одной компании изучаем переход от деплоя раз в месяц к деплою раз в час и взгляд на DevOps со всех точек зрения.

Сторона заказчика: как быстрее и дешевле решать бизнес-задачи, выкатывать новые фичи и исправлять баги. Мы расскажем и покажем как деплоить код без downtime.

Сторона разработчика: как разрабатывать и выкатывать код, не упираясь в коллег, администраторов, тестировщиков, безопасников.

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

Компания вымышленная, а ситуации — настоящие.

На Слёрме вы научитесь:
— организовать командную работу с Git;
— автоматизировать рутинные операции;
— настраивать мониторинг и интегрировать с мессенджерами;
— разворачивать серверы, используя подход Infrastructure as Code;
— обеспечивать безопасность процессов CI;
— применять SRE (Site Reliability Engineering) на практике.

Слёрм DevOps проходит с 30 января по 1 февраля 2020.

День 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 применительно к командам
Тема №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 в остальные репозитории)

День 2 (31 января, пятница)

Тема №5: Infrastructure as Code


  • IaC: подход к инфраструктуре как к коду
  • Облачные провайдеры как поставщики инфраструктуры
  • Инструменты инициализации систем, сборка образов (packer)
  • IaC на примере Terraform
  • Хранение конфигураций, совместная работа, автоматизация применений
  • Практика создания Ansible плейбуков
  • Идемпотентность, декларативность
  • IaC на примере Ansible
Тема №6: Тестирование инфраструктуры


  • Тестирование и непрерывная интеграция с Molecule и Gitlab CI
  • Применение Vagrant

День 3 (1 февраля, суббота)

Тема №7: Мониторинг инфраструктуры с Prometheus


  • Зачем нужен мониторинг
  • Типы мониторинга
  • Уведомления в системе мониторинга
  • Как построить здоровую систему мониторинга
  • Человекочитаемые уведомления, для всех
  • Health Check: на что стоит обратить внимание
  • Автоматизация на основание данных от мониторинга
Тема №8: Логирование приложения с ELK


  • Лучшие практики логирования
  • ELK стек
Тема №9: Автоматизация инфраструктуры с ChatOps


  • DevOps и ChatOps
  • ChatOps: сильные стороны
  • Slack и альтернативы
  • Боты для ChatOps
  • Hubot и альтернативы
  • Безопасность
  • Лучшие и худшие практики

Скачать


 

Сверху Снизу