45
Культура DevOps: основы эффективного взаимодействия IT-команд Святослав Верещак Express 42

Вебинар "Культура DevOps: основы эффективного взаимодействия IT-команд"

Embed Size (px)

Citation preview

Page 1: Вебинар "Культура DevOps: основы эффективного взаимодействия IT-команд"

Культура DevOps: основы эффективного взаимодействия IT-команд

Святослав ВерещакExpress 42

Page 2: Вебинар "Культура DevOps: основы эффективного взаимодействия IT-команд"

Меня слышно?

Если да, напишите в чате «да»

Надежные решения для сложной инфраструктуры

Page 3: Вебинар "Культура DevOps: основы эффективного взаимодействия IT-команд"

О чем поговорим

I. Что такое DevOps

II. Типы корпоративной культуры

III. Критерии DevOps

IV. Практики и инструменты DevOps ~ 35-40 минут, потом вопросы

Page 4: Вебинар "Культура DevOps: основы эффективного взаимодействия IT-команд"

Часть I.Что такое DevOps

Page 5: Вебинар "Культура DevOps: основы эффективного взаимодействия IT-команд"

Основные сложности эксплуатации в IT✦ Сбои и ошибки

✦ Требования от бизнеса

✦ Отсутствие контроля

✦ Отсутсвие актуальной информации о системе

Page 6: Вебинар "Культура DevOps: основы эффективного взаимодействия IT-команд"

DevOps: предпосылки

Пятничная выкатка

Page 7: Вебинар "Культура DevOps: основы эффективного взаимодействия IT-команд"

DevOps: предпосылки

Любое изменение инфраструктуры – как прогулка по минному полю.

Идти первым никто не хочет!

Page 8: Вебинар "Культура DevOps: основы эффективного взаимодействия IT-команд"

DevOps: предпосылки

Перенос сервиса на новую площадку – как переезд в новую квартиру

Непонятно, получится ли собрать это снова

Page 9: Вебинар "Культура DevOps: основы эффективного взаимодействия IT-команд"

DevOps: предпосылки

Мониторинг всегда “красный”О настоящих проблемах вы узнаете слишком поздно

Page 10: Вебинар "Культура DevOps: основы эффективного взаимодействия IT-команд"

DevOps: предпосылки Отношения «разработки» и «эксплуатации» напоминает постановку сражения Монтекки против Капулетти за деньги бизнеса

Page 11: Вебинар "Культура DevOps: основы эффективного взаимодействия IT-команд"

DevOps: истоки

✦ ITIL и ITSM

✦ Agile разработка

✦ Компании-лидеры

✦ Энтузиасты-наблюдатели

✦ Стабильность и производительность

✦ Практики и культурные аспекты

Page 12: Вебинар "Культура DevOps: основы эффективного взаимодействия IT-команд"

Что такое DevOps

Page 13: Вебинар "Культура DevOps: основы эффективного взаимодействия IT-команд"

Что такое DevOps✦ DevOps – это методология разработки и

эксплуатации программного обеспечения, основной идеей которой является сосредоточение на коммуникации, сотрудничестве и интеграции между командами разработки и эксплуатации.

Page 14: Вебинар "Культура DevOps: основы эффективного взаимодействия IT-команд"

Что люди думают о DevOps✦ «Мы храним конфигурацию в системе

контроля версий, у нас DevOps?»

✦ «Мы используем Jenkins для автоматизированного тестирования, у нас DevOps?»

✦ …

Page 15: Вебинар "Культура DevOps: основы эффективного взаимодействия IT-команд"

DevOps

культура

практики

инструменты

Page 16: Вебинар "Культура DevOps: основы эффективного взаимодействия IT-команд"

С чего начинать

Начинать необходимо не с внедрения инструментов, а с развития соответствующей культуры

Page 17: Вебинар "Культура DevOps: основы эффективного взаимодействия IT-команд"

Часть II.Типы корпоративной культуры

Page 18: Вебинар "Культура DevOps: основы эффективного взаимодействия IT-команд"

Три типа корпоративной культуры

✦ Как передается информация внутри компании?

✦ Три типа культуры*

Патологическая Бюрократическая Производительная

* R Westrum. A typology of organisational cultures, Qual. Saf. Health Care 2004;13; 22-27

Page 19: Вебинар "Культура DevOps: основы эффективного взаимодействия IT-команд"

Три типа корпоративной культуры общие параметры

Патологические Бюрократические Производительные

Методы управления Силовые Регламентирующие Целеполагающие

Уровень сотрудничества Низкий уровень Средний уровень Высокий уровень

Мессенджеры Искореняются Игнорируются Рекомендуются

Ответственность Уклонение Узкая область Широкая область

Горизонтальные связи Порицаются Допускаются Поощряются

Реакция на сбоиНовые козлы отпущения Новые правила Новые исследования

Отношение к инновациям Подавляются Приводят к проблемам Внедряются

Page 20: Вебинар "Культура DevOps: основы эффективного взаимодействия IT-команд"

Патология

✦ «Какова моя выгода от этой информации?»

✦ Сбой → «Козел отпущения» → «Наказание»

✦ Релиз = незапланированная работа

Page 21: Вебинар "Культура DevOps: основы эффективного взаимодействия IT-команд"

Бюрократия

✦ «Что мне предписано делать с этой информацией?»

✦ Сбой → Виновный → Новая инструкция

✦ Изменения = проблемы

Page 22: Вебинар "Культура DevOps: основы эффективного взаимодействия IT-команд"

Производительность

✦ «Кому сейчас требуется эта информация?»

✦ Сбой → Исследование → Улучшение

✦ Непрерывные изменения – основа развития

Page 23: Вебинар "Культура DevOps: основы эффективного взаимодействия IT-команд"

Три типа корпоративной культуры: резюме

Патологические Бюрократические Производительные

Как передается информация Кому выгодно? Кому предписано? Для кого важно?

К чему приводят сбои Поиск виновных Новые инструкции Исследование проблемы

Page 24: Вебинар "Культура DevOps: основы эффективного взаимодействия IT-команд"

Часть III.Критерии DevOps

Page 25: Вебинар "Культура DevOps: основы эффективного взаимодействия IT-команд"

DevOps: критерии количественные✦ Частота релизов

deployment frequency

✦ Время внедрения изменения lead time for changes

✦ Среднее время восстановления после сбоя mean time to recover

✦ Доля успешных изменений сhange fail rate

Page 26: Вебинар "Культура DevOps: основы эффективного взаимодействия IT-команд"

Критерии DevOps✦ Частота релизов

deployment frequency

f!∞

Page 27: Вебинар "Культура DevOps: основы эффективного взаимодействия IT-команд"

Критерии DevOps✦ Время внедрения изменения

lead time for changes

t!0

Page 28: Вебинар "Культура DevOps: основы эффективного взаимодействия IT-команд"

Критерии DevOps✦ Среднее время восстановления после сбоя

mean time to recover

t!080% времени восстановления после сбоя уходит на выявление изменения, приведшего к сбою, и лишь 20% на фактическое устранение сбоя

Page 29: Вебинар "Культура DevOps: основы эффективного взаимодействия IT-команд"

Критерии DevOps✦ Доля успешных изменений

сhange fail rate

Xs/X!1Этот показатель может превышать 99%

Page 30: Вебинар "Культура DevOps: основы эффективного взаимодействия IT-команд"

DevOps: критерии качественные1. Проактивный мониторинг и логирование

2. Повторяемость окружений

3. «Win-win» отношения между разработчиками и системными инженерами

4. Версионирование для всех сущностей

Page 31: Вебинар "Культура DevOps: основы эффективного взаимодействия IT-команд"

Часть IV. Практики и инструменты DevOps

Page 32: Вебинар "Культура DevOps: основы эффективного взаимодействия IT-команд"

DevOps-практики

✦ «Инфраструктура как код»

✦ Непрерывная интеграция

✦ Обратная связь

✦ Автоматизированное тестирование

Page 33: Вебинар "Культура DevOps: основы эффективного взаимодействия IT-команд"

DevOps-практика: «Инфраструктура как код»✦ Система управления конфигурацией позволяет составить формализованное описание состояния управляемого узла. Система сама определяет, что нужно сделать для достижения этого состояния, и осуществляет все необходимые действия. Это позволяет быстро, контролируемо и повторяемым образом осуществлять переконфигурирование системы: достаточно всего лишь изменить описание

Page 34: Вебинар "Культура DevOps: основы эффективного взаимодействия IT-команд"

DevOps-инструменты: «Инфраструктура как код»

✦ Ansible

✦ Chef ✦ Puppet ✦ SaltStack

Page 35: Вебинар "Культура DevOps: основы эффективного взаимодействия IT-команд"

Критерии оценки инструментов для управления конфигурацией

✦ Расширяемость (Уровень абстракции внутреннего языка / Поддержка API)

✦ Поддержка Enterprise

✦ Объем и качество базы готовых рецептов

✦ Активность сообщества

Page 36: Вебинар "Культура DevOps: основы эффективного взаимодействия IT-команд"

DevOps-практика: Непрерывная интеграция✦ Выполнение частых автоматизированных сборок проекта для скорейшего выявления и решения проблем интеграции.

Page 37: Вебинар "Культура DevOps: основы эффективного взаимодействия IT-команд"

DevOps-инструменты:Непрерывная интеграция✦ Jenkins

✦ Bamboo

✦ Travis CI ✦ CruiseControl ✦ TeamCity

Page 38: Вебинар "Культура DevOps: основы эффективного взаимодействия IT-команд"

DevOps инструменты: сбор обратной связи✦ Централизованные системы логирования

✦ Graylog ✦ logstash ✦ Splunk

✦ Системы мониторинга c API для автоматизации управления

✦ Zabbix ✦ New Relic

Page 39: Вебинар "Культура DevOps: основы эффективного взаимодействия IT-команд"

DevOps практики: Автоматизированное тестирование✦ Автоматизированное тестирование – практика написания тестов, которые исполняет компьютер. Позволяет значительно сократить затраты человеческих ресурсов на тестирование, добиться стабильно качества продукта и уменьшить количество регрессий.

Page 40: Вебинар "Культура DevOps: основы эффективного взаимодействия IT-команд"

DevOps инструменты автоматизированное тестирование

✦ Selenium

✦ Cucumber ✦ Rational Robot ✦ QTP

✦ TestComplete

Page 41: Вебинар "Культура DevOps: основы эффективного взаимодействия IT-команд"

Эпилог

Page 42: Вебинар "Культура DevOps: основы эффективного взаимодействия IT-команд"

DevOps

культура

практики

инструменты

✦ Определить культуру

✦ Подсчитывать показатели

Page 43: Вебинар "Культура DevOps: основы эффективного взаимодействия IT-команд"

– Чего делать-то? – Поговорим на следующем вебинаре

Page 45: Вебинар "Культура DevOps: основы эффективного взаимодействия IT-команд"

Контактыhttp://devopsru.com/ http://devopsdeflope.ru/ #devopsru [email protected]