3. Избавляем бизнес от ИТ-зависимости
План
• История появления DevOps, генезис
• Понятие о цифровом продукте и технологической
компании
• Задачи, которые решает Devops
• Основы и ценности культуры DevOps
• Непрерывная поставка ПО, принципы и технологии
• Инфраструктура как код, принципы и технологии
5. Избавляем бизнес от ИТ-зависимости
Зачем DevOps?
• автоматизация
• передача информации между людьми и
машинами
• повышение скорости работы
• командная работа
6. Избавляем бизнес от ИТ-зависимости
• Адхократия (холократия)
• Непрерывное обучение сотрудников
• Нет постоянной позиции (частично
выражено в матричной структуре)
• Новые рынки
6
Адоптивная корпорация,
Тофлер
7. Избавляем бизнес от ИТ-зависимости7
Схема корпорации*
* Генри Минцберг
Структура Автоматизация ИТ-архитектура
Рынок
Компания
Бизнес-процессы
Application
Middleware
Database
8. Избавляем бизнес от ИТ-зависимости8
Схема технологической
компании
РынокКомпания
Программно
е
обеспечение
10. Избавляем бизнес от ИТ-зависимости
• Нет человека между потребителем и
услугой
• Продукта может не быть в физическом
мире
• Непрерывная адаптация продукта к
клиенту
10
Признаки цифрового продукта
12. Избавляем бизнес от ИТ-зависимости12
Time-to-market
Рынок
Программное
обеспечение
Инженеры
Стратегический
апекс
13. Избавляем бизнес от ИТ-зависимости
• Адаптация к рынку
• Анти-хрупкость
• Сервис захватывает максимально возможное
количество сегментов рынка
13
Time-to-market
14. Избавляем бизнес от ИТ-зависимости
• Организации, проектирующие системы, неизбежно
производят системы, являющиеся копиями их
коммуникационных структур
14
Закон Конвея
17. Избавляем бизнес от ИТ-зависимости17
Место DevOps
Ценности
Практики
Методы
Agile Корпоративные
DevOps ITIL
Full-stack teams Бизнес-процессы
18. Избавляем бизнес от ИТ-зависимости
• объединение ИТ-специалистов (разработчиков,
сисадминов и тестировщиков) в одну команду
• оптимизация пути поставки ПО
• одновременно происходят процессы разработки,
тестирования, эксплуатации
DevOps
22. Избавляем бизнес от ИТ-зависимости
Shu-ha-ri
• следование учителю/наставнику, формирование
логической картины мира
• применяем знания и действуем, отрицание и
проблемы, понимаем что стоит за логикой
• выход за пределы правил и принципов, создание
своей практики
24. Избавляем бизнес от ИТ-зависимости
Практики DevOps
• Инфраструктура как код
• Непрерывная поставка
• Непрерывный мониторинг
25. Избавляем бизнес от ИТ-зависимости
Непрерывная
поставка
• Continuous Delivery (CD)
• Непрерывная поставка ПО — это
процесс разработки и эксплуатации
ПО, при котором каждое изменение
может быть выкачено в боевую среду
28. Избавляем бизнес от ИТ-зависимости
Принципы
• Создать повторяемый и надежный процесс
поставки ПО
• Автоматизировать все, что можно
• Хранить все в системе контроля версий
• Совершенствоваться через повторения
• Получать раннюю обратную связь
29. Избавляем бизнес от ИТ-зависимости
…
• Встроенный контроль качества
• Выполнено, значит зарелизилось
• Каждый отвечает за процесс поставки ПО
• Непрерывные улучшения
30. Избавляем бизнес от ИТ-зависимости
Непрерывная
интеграция
• проект забирается из СКВ
• проект собирается
• прогоняются тесты
• проходит выкатка на тестовый стенд (?)
• рассылаются оповещения
31. Избавляем бизнес от ИТ-зависимости
Инструменты
• CruiseControl (CruiseControl.rb)
• Jenkins
• Bamboo от Atlassian
• TeamCity от JetBrains
• TravisCI
• Concourse CI
32. Избавляем бизнес от ИТ-зависимости
Непрерывный
мониторинг
• графики
• логированное и сбор эксепшенов
• визуализация статистики
• визуализация и аналитика воркфлоу (канбан)
• мониторинг как тестирование
• “сдвиг влево”
33. Избавляем бизнес от ИТ-зависимости
Инструменты
• Chef
• Ansible
• Puppet
• Terraform
34. Избавляем бизнес от ИТ-зависимости
Инфраструктура как
код
• Подход, при котором инфраструктура описана в
виде кода и хранится в СКВ
• Применимы практики разработчиков:
• ревью
• тестирование
• Контроль: предсказуемость и повторяемость
35. Избавляем бизнес от ИТ-зависимости
Инструменты
• Chef
• Ansible
• Puppet
• Terraform
36. Избавляем бизнес от ИТ-зависимости
Base-app-service
модель
application
service (nginx, pgsql,etc)
base
(ОС, backups, monitoring)
Ops
Ops
Dev
Ops*
Layer Responsibility