Повторяемость
Повторяемость
Александр Чистяков,
главный инженер 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
alex@gitinsky.com
http://gitinsky.com
http://meetup.com/DevOps-40
Пожалуйста, ваши вопросы.
Спасибо за внимание!
http://devconf.ru/offers/ - ПРОГОЛОСУЙТЕ, ПОЖАЛУЙСТА,
ЗА МОИ ЗАЯВКИ!

Repeatability on DevOps-40 meetup Apr 2014

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