Путь DevOps
в Parallels
Константин Назаров
@racktear
Сборка
Сборка
Tools
SDK
GUI
Aux
Сборка
SDK
GUI
Aux
Tools
Сборка
Сборка
• ? компонентов
• ? сборок в год
• 8 часов на билд
• 1 билд в день
• 20 компонентов
• 10 Тб сборок в год
• 1.5 часа на билд
• 2-3 билда в день
Было Стало
Сборка
• Единая “точка входа”
• Понятная структура
• Простое управление
Управление Серверами
С чего начиналось
• Гора билд серверов
• Ручное управление
• Нет повторяемости
• Боязнь сломать
Этап 1
• Виртуальные машины
• Распределенная ФС
• Клонирование
• Vagrant
Этап 2
• Управление конфигурацией
• Деплой “одной кнопкой”
• Интеграция со сборкой
Этап 3
• Единая “точка входа”
• Тестируемое знание
• Общая ответственность
Результат
Система Контроля Версий
Система Контроля Версий
SVN
Система Контроля Версий
GIT
`
• Единая “точка входа”
• Понятная структура
• Документация
• Быстрое “ревью” кода
Почему?
Пока вы не смотрите…
Пока вы не смотрите…
• Коллеги “срезают углы”
• Деградируют процессы
• Времени не хватает
“Операционные” фичи
“Операционные” фичи
• Сложно объяснить
• Выгода не ясна
• Приоритет - низкий
“Операционные” фичи
В итоге у вас нет контроля
Помогаем себе сами
Помогаем себе сами
• людей не изменить
• разные цели
• разные привычки
• инерция
Культура
Культура
• Меняется “сверху”
• Довольно устойчива
• Вне нашего влияния
Если б я был Голдратт…
The Goal
Или Билл Палмер
The Phoenix Project
сила воли
Но в реальности…
сила воли
Но в реальности…
сила воли
Но в реальности…
сила воли
Но в реальности…
Сложные системы
Сложные системы
• Хаотичная структура
• Непонятные связи
• Постоянный “дрифт”
Сложные системы
Что делать?
Сложные системы
Ввести ограничения
Нет контроля - нет решения
Нет контроля - нет решения
• культуру
• коллег
• руководство
Поэтому не трогаем:
Меняем то, что достижимо
• Находим хаотическое поведение
• Ищем средство “локализации”
• Убираем человека из “контроля”
Меняем то, что достижимо
А как же карго-культ?
А как же карго-культ?
Говорят что это плохо…
А как же карго-культ?
• Решает проблему
• Уменьшает сложность
• Создает модульность
Не так плохо, если:
Путь DevOps в Parallels
Константин Назаров
@racktear
http://hangops.ru
Спасибо!

Путь DevOps в «Parallels» / Константин Назаров (Parallels)