repeatability on devops-40 meetup apr 2014
DESCRIPTION
My slides on repeatability from DevOps-40 meetup, Apr 2014TRANSCRIPT
![Page 1: Repeatability on DevOps-40 meetup Apr 2014](https://reader033.vdocument.in/reader033/viewer/2022060116/557f60a2d8b42a42328b506e/html5/thumbnails/1.jpg)
Повторяемость
Повторяемость
Александр Чистяков, главный инженер Git in Sky,
2014
![Page 2: Repeatability on DevOps-40 meetup Apr 2014](https://reader033.vdocument.in/reader033/viewer/2022060116/557f60a2d8b42a42328b506e/html5/thumbnails/2.jpg)
Кто я?
§ Меня зовут Саша§ Повелитель всех зверей на земле и рыб в море§ Завоеватель Британской Империи§ Король Шотландии
Повторяемость. 2014
![Page 3: Repeatability on DevOps-40 meetup Apr 2014](https://reader033.vdocument.in/reader033/viewer/2022060116/557f60a2d8b42a42328b506e/html5/thumbnails/3.jpg)
Поговорим про повторяемость
§ Исх.данные -> Процесс -> Результат§ Исх.данные -> Процесс -> Результат§ ⇑ Плохо§ ⇓ Хорошо§ Что угодно -> АвтоВАЗ -> Ведро
Повторяемость. 2014
![Page 4: Repeatability on DevOps-40 meetup Apr 2014](https://reader033.vdocument.in/reader033/viewer/2022060116/557f60a2d8b42a42328b506e/html5/thumbnails/4.jpg)
Задача: «сделать почтовый сервер»
§ Возьмем Debian...§ Debian — плохо, старый софт, возьмем...§ Slackware, Gentoo, Arch, ...§ LFS§ ^ Заодно и согреемся§ Поставим Postfix, cyrus и т.д. и заживем
Повторяемость. 2014
![Page 5: Repeatability on DevOps-40 meetup Apr 2014](https://reader033.vdocument.in/reader033/viewer/2022060116/557f60a2d8b42a42328b506e/html5/thumbnails/5.jpg)
Немного форумной магии...
§ Почтовый сервер есть и даже работает!§ Теперь нужны:§ Второй почтовый сервер§ VPN-сервер§ Веб-сервер§ Актуальные обновления безопасности
Повторяемость. 2014
![Page 6: Repeatability on DevOps-40 meetup Apr 2014](https://reader033.vdocument.in/reader033/viewer/2022060116/557f60a2d8b42a42328b506e/html5/thumbnails/6.jpg)
Какие возникают риски?
§ Со временем система начинает разваливаться§ Инструкции по поддержке сложны,
непонятны или не существуют§ Отсутствует квалифицированный персонал§ Уровень автоматизации низок§ Уровень accidental complexity высок
Повторяемость. 2014
![Page 7: Repeatability on DevOps-40 meetup Apr 2014](https://reader033.vdocument.in/reader033/viewer/2022060116/557f60a2d8b42a42328b506e/html5/thumbnails/7.jpg)
Как с этим справлялись исторически?
§ Различные варианты формализации:§ Документирование§ Пакетные менеджеры§ Формальные правила сборки и установки
Повторяемость. 2014
![Page 8: Repeatability on DevOps-40 meetup Apr 2014](https://reader033.vdocument.in/reader033/viewer/2022060116/557f60a2d8b42a42328b506e/html5/thumbnails/8.jpg)
Идеальный мир
§ За разработку системы отвечают
компетентные лица§ Сценарии установки и использования описаны
в документации§ Благодарные пользователи бородаты§ Patches welcome!
Повторяемость. 2014
![Page 9: Repeatability on DevOps-40 meetup Apr 2014](https://reader033.vdocument.in/reader033/viewer/2022060116/557f60a2d8b42a42328b506e/html5/thumbnails/9.jpg)
Почему не работает
§ При любых действиях пользователя
получается всё время почтовый сервер§ Даже если нужен был контроллер домена§ До сих пор неизвестно, как пропатчить KDE§ Видимо, что-то пошло не так
Повторяемость. 2014
![Page 10: Repeatability on DevOps-40 meetup Apr 2014](https://reader033.vdocument.in/reader033/viewer/2022060116/557f60a2d8b42a42328b506e/html5/thumbnails/10.jpg)
Что же пошло не так?
§ Идея о том, что все сценарии использования
можно перечислить в документации была
довольно наивна§ Как и идея о том, что небольшая группа
Неизвестных Отцов может решать за всех
пользователей
Повторяемость. 2014
![Page 11: Repeatability on DevOps-40 meetup Apr 2014](https://reader033.vdocument.in/reader033/viewer/2022060116/557f60a2d8b42a42328b506e/html5/thumbnails/11.jpg)
Что делать?
§ Дать пользователям больше свободы§ Классическая схема “ядро системы + плагины”§ В нашем случае это “ядро системы + пакетный
менеджер + пакеты”
Повторяемость. 2014
![Page 12: Repeatability on DevOps-40 meetup Apr 2014](https://reader033.vdocument.in/reader033/viewer/2022060116/557f60a2d8b42a42328b506e/html5/thumbnails/12.jpg)
Масонерия наносит ответный удар
§ Стандартом изготовления deb-пакетов можно
убить:§ Муху§ Котика§ Человека-паука
§ Наверное, deb-пакеты очень хороши?
Повторяемость. 2014
![Page 13: Repeatability on DevOps-40 meetup Apr 2014](https://reader033.vdocument.in/reader033/viewer/2022060116/557f60a2d8b42a42328b506e/html5/thumbnails/13.jpg)
Пакеты уровня дистрибутива
§ Для многих современных сисадминов
повторяемость начинается на уровне пакетов
и там же заканчивается§ Пакеты уровня дистрибутива:
§ Великое наследие Неизвестных Отцов§ По-сути, просто механизм распространения
C/C++ библиотек и продуктов, за неимением лучшего
Повторяемость. 2014
![Page 14: Repeatability on DevOps-40 meetup Apr 2014](https://reader033.vdocument.in/reader033/viewer/2022060116/557f60a2d8b42a42328b506e/html5/thumbnails/14.jpg)
“Я пришел дать вам волю”
§ Опыт jpackage.org не был забыт:§ Maven, Bundler, NPM, Bower, Composer§ Каждый кулик свое болото хвалит§ Тысячи их
Повторяемость. 2014
![Page 15: Repeatability on DevOps-40 meetup Apr 2014](https://reader033.vdocument.in/reader033/viewer/2022060116/557f60a2d8b42a42328b506e/html5/thumbnails/15.jpg)
Вкалывают роботы — счастлив человек!
§ Теперь, когда пакетных менеджеров не один,
а восемь, пакеты необходимо доставлять в восемь
раз чаще§ Кто доставляет пакеты, когда Анонимус спит?§ Нужна CM система
Повторяемость. 2014
![Page 16: Repeatability on DevOps-40 meetup Apr 2014](https://reader033.vdocument.in/reader033/viewer/2022060116/557f60a2d8b42a42328b506e/html5/thumbnails/16.jpg)
Сложность системы нарастает
§ По-прежему нужно следить за:§ Обновлениями§ Безопасностью§ Актуальностью информации§ Кстати, куда-то делся стандарт
на создание пакетов§ Что делает gem “factory_girl”?
Повторяемость. 2014
![Page 17: Repeatability on DevOps-40 meetup Apr 2014](https://reader033.vdocument.in/reader033/viewer/2022060116/557f60a2d8b42a42328b506e/html5/thumbnails/17.jpg)
Наследование, инкапсуляция, полиморфизм!
§ К этому моменту превосходство декларативного
над императивным было уже очевидно§ Давайте же все описывать декларативно!§ Идея в том, что одни и те же правила сборки
контейнера дадут один и тот же контейнер§ ^ Похоже на повторяемость!
Повторяемость. 2014
![Page 18: Repeatability on DevOps-40 meetup Apr 2014](https://reader033.vdocument.in/reader033/viewer/2022060116/557f60a2d8b42a42328b506e/html5/thumbnails/18.jpg)
Are we happy yet?
§ Happy DevOps engineer =>
§ Docker =>
§ Happy imperative bash script =>
Повторяемость. 2014
![Page 19: Repeatability on DevOps-40 meetup Apr 2014](https://reader033.vdocument.in/reader033/viewer/2022060116/557f60a2d8b42a42328b506e/html5/thumbnails/19.jpg)
Масонерия пробивает пенальти!
§ Я не смог понять до конца, как работает
сетевой стек в Docker§ И почему я не должен мочь сделать проброс
порта внутрь при помощи штатных средств
(iptables)§ AUFS это не очень хорошо
Повторяемость. 2014
![Page 20: Repeatability on DevOps-40 meetup Apr 2014](https://reader033.vdocument.in/reader033/viewer/2022060116/557f60a2d8b42a42328b506e/html5/thumbnails/20.jpg)
Необходимо избавиться от тела шелла
§ Nix:§ Чисто функциональный пакетный
менеджер§ Написан на Haskell§ NixOS — дистрибутив на его основе§ Много вы знаете хостингов с NixOS?
Повторяемость. 2014
![Page 21: Repeatability on DevOps-40 meetup Apr 2014](https://reader033.vdocument.in/reader033/viewer/2022060116/557f60a2d8b42a42328b506e/html5/thumbnails/21.jpg)
Пересечение ужа и ежа
§ Nix-docker:§ Декларативно описывается конфигурация§ Делается Nix-пакет§ Заливается и запускается при помощи Docker
Повторяемость. 2014
![Page 22: Repeatability on DevOps-40 meetup Apr 2014](https://reader033.vdocument.in/reader033/viewer/2022060116/557f60a2d8b42a42328b506e/html5/thumbnails/22.jpg)
Выводы:
§ Несмотря на более чем 20-летнюю,а, кое-где, и более чем 50-летнюю историю
§ Все только начинается!§ Вы, кстати, тоже можете участвовать
Повторяемость. 2014
![Page 23: Repeatability on DevOps-40 meetup Apr 2014](https://reader033.vdocument.in/reader033/viewer/2022060116/557f60a2d8b42a42328b506e/html5/thumbnails/23.jpg)
Традиционный слайд
§ DevOps-40: некоторые любят погорячее!
Повторяемость. 2014
![Page 24: Repeatability on DevOps-40 meetup Apr 2014](https://reader033.vdocument.in/reader033/viewer/2022060116/557f60a2d8b42a42328b506e/html5/thumbnails/24.jpg)
С вами был Александр Чистяков,главный инженер Git in Sky
[email protected]://gitinsky.com
http://meetup.com/DevOps-40
Пожалуйста, ваши вопросы.
Спасибо за внимание!
http://devconf.ru/offers/ - ПРОГОЛОСУЙТЕ, ПОЖАЛУЙСТА,ЗА МОИ ЗАЯВКИ!