devops от и до - что, зачем и почему
TRANSCRIPT
DevOps от и до
Андрей Ребров Инженерный тренер ScrumTrek
Как разработчики видят администраторов
Как администраторы видят разработчиков
Постоянный поток разнородных задач
Непрозрачный процесс
Обратная связь
Еще не все потеряно!
Agile Infrastructure
• OperaQng at Cloud Scale • Ephemeral Infrastructure • FricQonless Infrastructure • Self Service OperaQons
Agile OperaQons
• Products not Projects • Walk on Walk off Projects • Velocity of InnovaQon • ConQnuous Delivery • Enterprise Lean Startup
Что такое DevOps?
• постоянный поток поставки ценности • быстрый цикл обратной связи • постоянное улучшение процесса
CAMS
• Culture • AutomaQon • Measurement • Sharing
DevOps Manifesto
• Набор ценностей • Реакция на недостаток коммуникаций • Создание отношений между dev и ops • Работа над продуктом, а не проектом • …
hkp://bit.ly/devopsmanifesto
DevOps -‐ это не…
• Сертификация • Роль • Инструменты • Прописанный процесс
Чем DevOps отличается от Agile?
«Agile сыграл важную роль в разработке для восстановлению доверия у бизнеса, но он нечаянно оставил IT OperaQons позади. DevOps это способ восстановления доверия ко всей ИТ-‐организации в целом» Clyde Logue, основатель StreamStep
Чем DevOps отличается от ITIL и ITSM? DevOps добавляет в ITIL такие пункты как настройка сервисов, управление инцидентами и проблемами, поскольку цель не столько увеличение скорости выдачи нового функционала, сколько развертывания этого функционала в производстве без хаоса.
Каковы принципы DevOps?
Три пути
Первый путь
Производительность всей системы в целом, в отличие от производительности отдельного звена или отдела — это может быть как большое подразделение (например, разработка или ИТ отдел) так и отдельные люди (например, разработчик, системный администратор).
Второй путь
Создании цикла обратной связи идущей справа налево. Целью практически любой инициативы по совершенствования процесса является сокращение и усиление обратной связи, чтобы необходимые поправки могли внедряться постоянно.
Третий путь
Создании культуры, которая влияет на две вещи: постоянное экспериментирование, которое требует принятия рисков и извлечение уроков из успехов и неудач, а также понимание того, что повторения и практики являются предпосылкой к мастерству.
Понять систему
Выстроить поток
Организовать обратную связь
Искать пути постоянного улучшения
Антипаттерны Devops
• Длинные релизные циклы • Разногласия между Ops, Dev,Dba, Test, ... • Работает на Stage но не на producQon. • Долгая подготовка сред для поставки • Ручное обновление конфигов • Разнообразые OS, Middleware, … • Отсутствия понимания где и что работает • Ручное документирование
И еще…
• Разделенные команды • Раздробленные системы • Dependency Hell • Ручные накаты баз данных • Гигантские Test Datasets • Тестирование руками • Релиз руками
И еще чуть-‐чуть
• Неработающий деплой • Manual Rollbacks • Отсутствие версионирования • Code Freezes • …
4 модели внедрения DevOps
Модель 1: Углубление процессов разработки в поставку: это включает расширение непрерывной интеграции и выпуска в на боевые сервера, интеграция тестирования и информзащиты в рабочие процессы, что дает готовый к поставке код, настроенные среды, и так далее.
4 модели внедрения DevOps Модель 2: Создание обратной связи от прода до разработки: включает создание полной хронологии событий в разработке и администрировании, с целью помощи в разрешении проблем, а так же предоставление доступа команде разработки к анализу проблем на проде, одновременно с созданием разработчиками сервисов самообслуживания, везде где это возможно, и создание информационных радиаторов, показывающих изменение в поведении системы при вносе изменений.
4 модели внедрения DevOps
Модель 3: Объединение разработки и администрирования: состоит во включении команды разработки в цепочку разрешения проблем, назначение разработчиков на разрешение проблем на проде, а так же взаимные тренинги между разработчиками и администраторами, чтобы уменьшить количество эскалаций.
4 модели внедрения DevOps
Модель 4: Включение ИТ команды в разработку: состоит во включении или тесной связью между IT и разработкой, создание многоэтапных пользовательских историй (включая развертывание, управление кодом в производстве и т.д.), и определение нефункциональных требования, которые могут быть использованы во всех проектах.
Визуализируйте поток задач
Привлекайте админов к работе над продуктом как можно раньше
AutomaQon over DocumentaQon
То, что не может быть измерено, не может быть улучшено
Визуализируйте метрики
Улучшайте процесс
Учитесь новому
Враги Devops
• Перекос мотивации • Неявные потребности • Non FuncQonal Requirements • SiloizaQon
Перекос мотивации
• Senior management driven by total revenue • Sales is driven by compensaQon • Development is driven by delivery • Quality Assurance is driven by defects • OperaQons is driven by upQme
Non FuncQonal Requirements
• Security • Backups • Availability and Performance • Upgrades • ConfiguraQon Management • Monitoring and Logging • Disaster Recovery
SiloizaQon
• Security • Development • OperaQons • TesQng • Quality Assurance
Ключевые слова Devops
• Agile Infrastructure • Infrastructure as Code • Done means Deployed • SDLC as Infrastructure
http://goo.gl/rpV4ik
Что почитать
Twitter: @realgenekim
Blog: www.realgenekim.me/blog/
Gene Kim
Twitter: @patrickdebois
Blog: www.jedi.be/blog/
Patrick Debois
Twitter: @KrisBuytaert
Blog: http://krisbuytaert.be/
Kris Buytaert
Тренинги
Киев, 29 – 30 августа Регистрация -‐ hkp://goo.gl/iX2wgs Тренер – Андрей Ребров
Twitter: @andrebrov
E-mail: [email protected]
Skype: rebrov.andrey
Blog: www.andrebrov.net
Мои контакты