Upload
alex-chistyakov
View
685
Download
1
Tags:
Embed Size (px)
DESCRIPTION
My slides on repeatability from DevOps-40 meetup, Apr 2014
Citation preview
Повторяемость
Повторяемость
Александр Чистяков, главный инженер Git in Sky,
2014
Кто я?
§ Меня зовут Саша§ Повелитель всех зверей на земле и рыб в море§ Завоеватель Британской Империи§ Король Шотландии
Повторяемость. 2014
Поговорим про повторяемость
§ Исх.данные -> Процесс -> Результат§ Исх.данные -> Процесс -> Результат§ ⇑ Плохо§ ⇓ Хорошо§ Что угодно -> АвтоВАЗ -> Ведро
Повторяемость. 2014
Задача: «сделать почтовый сервер»
§ Возьмем Debian...§ Debian — плохо, старый софт, возьмем...§ Slackware, Gentoo, Arch, ...§ LFS§ ^ Заодно и согреемся§ Поставим Postfix, cyrus и т.д. и заживем
Повторяемость. 2014
Немного форумной магии...
§ Почтовый сервер есть и даже работает!§ Теперь нужны:§ Второй почтовый сервер§ VPN-сервер§ Веб-сервер§ Актуальные обновления безопасности
Повторяемость. 2014
Какие возникают риски?
§ Со временем система начинает разваливаться§ Инструкции по поддержке сложны,
непонятны или не существуют§ Отсутствует квалифицированный персонал§ Уровень автоматизации низок§ Уровень accidental complexity высок
Повторяемость. 2014
Как с этим справлялись исторически?
§ Различные варианты формализации:§ Документирование§ Пакетные менеджеры§ Формальные правила сборки и установки
Повторяемость. 2014
Идеальный мир
§ За разработку системы отвечают
компетентные лица§ Сценарии установки и использования описаны
в документации§ Благодарные пользователи бородаты§ Patches welcome!
Повторяемость. 2014
Почему не работает
§ При любых действиях пользователя
получается всё время почтовый сервер§ Даже если нужен был контроллер домена§ До сих пор неизвестно, как пропатчить KDE§ Видимо, что-то пошло не так
Повторяемость. 2014
Что же пошло не так?
§ Идея о том, что все сценарии использования
можно перечислить в документации была
довольно наивна§ Как и идея о том, что небольшая группа
Неизвестных Отцов может решать за всех
пользователей
Повторяемость. 2014
Что делать?
§ Дать пользователям больше свободы§ Классическая схема “ядро системы + плагины”§ В нашем случае это “ядро системы + пакетный
менеджер + пакеты”
Повторяемость. 2014
Масонерия наносит ответный удар
§ Стандартом изготовления deb-пакетов можно
убить:§ Муху§ Котика§ Человека-паука
§ Наверное, deb-пакеты очень хороши?
Повторяемость. 2014
Пакеты уровня дистрибутива
§ Для многих современных сисадминов
повторяемость начинается на уровне пакетов
и там же заканчивается§ Пакеты уровня дистрибутива:
§ Великое наследие Неизвестных Отцов§ По-сути, просто механизм распространения
C/C++ библиотек и продуктов, за неимением лучшего
Повторяемость. 2014
“Я пришел дать вам волю”
§ Опыт jpackage.org не был забыт:§ Maven, Bundler, NPM, Bower, Composer§ Каждый кулик свое болото хвалит§ Тысячи их
Повторяемость. 2014
Вкалывают роботы — счастлив человек!
§ Теперь, когда пакетных менеджеров не один,
а восемь, пакеты необходимо доставлять в восемь
раз чаще§ Кто доставляет пакеты, когда Анонимус спит?§ Нужна CM система
Повторяемость. 2014
Сложность системы нарастает
§ По-прежему нужно следить за:§ Обновлениями§ Безопасностью§ Актуальностью информации§ Кстати, куда-то делся стандарт
на создание пакетов§ Что делает gem “factory_girl”?
Повторяемость. 2014
Наследование, инкапсуляция, полиморфизм!
§ К этому моменту превосходство декларативного
над императивным было уже очевидно§ Давайте же все описывать декларативно!§ Идея в том, что одни и те же правила сборки
контейнера дадут один и тот же контейнер§ ^ Похоже на повторяемость!
Повторяемость. 2014
Are we happy yet?
§ Happy DevOps engineer =>
§ Docker =>
§ Happy imperative bash script =>
Повторяемость. 2014
Масонерия пробивает пенальти!
§ Я не смог понять до конца, как работает
сетевой стек в Docker§ И почему я не должен мочь сделать проброс
порта внутрь при помощи штатных средств
(iptables)§ AUFS это не очень хорошо
Повторяемость. 2014
Необходимо избавиться от тела шелла
§ Nix:§ Чисто функциональный пакетный
менеджер§ Написан на Haskell§ NixOS — дистрибутив на его основе§ Много вы знаете хостингов с NixOS?
Повторяемость. 2014
Пересечение ужа и ежа
§ Nix-docker:§ Декларативно описывается конфигурация§ Делается Nix-пакет§ Заливается и запускается при помощи Docker
Повторяемость. 2014
Выводы:
§ Несмотря на более чем 20-летнюю,а, кое-где, и более чем 50-летнюю историю
§ Все только начинается!§ Вы, кстати, тоже можете участвовать
Повторяемость. 2014
Традиционный слайд
§ DevOps-40: некоторые любят погорячее!
Повторяемость. 2014
С вами был Александр Чистяков,главный инженер Git in Sky
[email protected]://gitinsky.com
http://meetup.com/DevOps-40
Пожалуйста, ваши вопросы.
Спасибо за внимание!
http://devconf.ru/offers/ - ПРОГОЛОСУЙТЕ, ПОЖАЛУЙСТА,ЗА МОИ ЗАЯВКИ!