SlideShare a Scribd company logo
1 of 21
Chef, WTF?
Всеволод Поляков, Grammarly
DevOps, Infrastructure Software Engineer.
ghbdtn!
• ~100 кукбуков
• chef-cleaner
• ~ 2 года с шефом
Что у нас было
• 30+ сервисов
• 300+ серверов
• lisp, erlang, java, python, ruby
• больная внутренняя кухня
Истоки
• Мы хотим чтобы девелоперы отвечали за свои
сервисы:
• добавление нового сервиса
• добавление нового сервер
• мониторинг
• обновление программного окружения
Chef прикольный
• Все им пользуются
• мультиос
• 2 459 кукбуков
Как все выглядит в
мечтах
Как все на самом деле
В чем проблема?
• Для опса? Проблем нет.
• Для девелопера?
• новый фреймворк, сложно работает
• можно поломать все
• надо знать много подноготной
Как девелоперы
пользуются шефом
Chef & git
• Не синхронизируется с шефом, без CI
• даже с CI не все просто
• настройка рабочего окружения не простой
процесс ( ChefDK много чего решил )
• Плохо работает с Berks, проблема
синхронизации версий кукбуков
Berks Way
• berks apply лочит все кукбуки
• особенно прикольно после berks update
• выход - хранить в отдельном каталоге, внутри
гита
• все кукбуки перед использованием заливать на
удаленный сервер
• залить кукбук в шеф = залить все его зависимости
Типичный Berksfile
knife.rb
• либо отсутствие синхронизации изменений
• либо это:
14 типов переменных
14 типов переменных
Роли
• Не версионируется
• Одна роль под все окружения
• Метароли
• Роли-кукбуки
кукбуки
• враперы
• LWRP, HWRP, definitions, WTF!
• патченные вендорные кукбуки
• кукбуки-роли
• ведорные кукбуки ни фига не простые
руби код
• круто, но три стадии выполнения
• здорово усложняет логику
псевдо
декларативность
• ты не знаешь установилось или нет
• нет идемпотентности
• и непонятно как и зачем это все тестировать!
docker
• docker
• rocker
• rocker-compose
• consul
Спасибо!
Всеволод Поляков
Grammarly

More Related Content

What's hot

Continuous Delivery, или волшебная кнопка для релизов по запросу, Денис Яковл...
Continuous Delivery, или волшебная кнопка для релизов по запросу, Денис Яковл...Continuous Delivery, или волшебная кнопка для релизов по запросу, Денис Яковл...
Continuous Delivery, или волшебная кнопка для релизов по запросу, Денис Яковл...Ontico
 
Github Flow. Тестировщики против тестирования
Github Flow. Тестировщики против тестированияGithub Flow. Тестировщики против тестирования
Github Flow. Тестировщики против тестированияSQALab
 
Константин Назаров – Распараллеливание сборки Parallels Desktop для Mac
Константин Назаров – Распараллеливание сборки Parallels Desktop для MacКонстантин Назаров – Распараллеливание сборки Parallels Desktop для Mac
Константин Назаров – Распараллеливание сборки Parallels Desktop для Mac404fest
 
Devconf-2015 Тестируем инфраструктуру как код
Devconf-2015 Тестируем инфраструктуру как кодDevconf-2015 Тестируем инфраструктуру как код
Devconf-2015 Тестируем инфраструктуру как кодIgor Kurochkin
 
RootConf 2015: Как Vagrant и Chef ускорили разработку в несколько раз
RootConf 2015: Как Vagrant и Chef ускорили разработку в несколько разRootConf 2015: Как Vagrant и Chef ускорили разработку в несколько раз
RootConf 2015: Как Vagrant и Chef ускорили разработку в несколько разTimur Batyrshin
 
Путь DevOps в «Parallels» / Константин Назаров (Parallels)
Путь DevOps в «Parallels» / Константин Назаров (Parallels)Путь DevOps в «Parallels» / Константин Назаров (Parallels)
Путь DevOps в «Parallels» / Константин Назаров (Parallels)Ontico
 
Why we did not choose Hadoop
Why we did not choose HadoopWhy we did not choose Hadoop
Why we did not choose HadoopSerguei Gitinsky
 
DUMP-2015: «DevOps-практики в разработке решений для бизнеса» Максим Пашук, 2...
DUMP-2015: «DevOps-практики в разработке решений для бизнеса» Максим Пашук, 2...DUMP-2015: «DevOps-практики в разработке решений для бизнеса» Максим Пашук, 2...
DUMP-2015: «DevOps-практики в разработке решений для бизнеса» Максим Пашук, 2...it-people
 
Кортунов Никита. Как ускорить разработку приложений или есть ли жизнь после P...
Кортунов Никита. Как ускорить разработку приложений или есть ли жизнь после P...Кортунов Никита. Как ускорить разработку приложений или есть ли жизнь после P...
Кортунов Никита. Как ускорить разработку приложений или есть ли жизнь после P...AvitoTech
 
"Девопс - это не только для программистов. Практические примеры из жизни одно...
"Девопс - это не только для программистов. Практические примеры из жизни одно..."Девопс - это не только для программистов. Практические примеры из жизни одно...
"Девопс - это не только для программистов. Практические примеры из жизни одно...it-people
 

What's hot (12)

Continuous Delivery, или волшебная кнопка для релизов по запросу, Денис Яковл...
Continuous Delivery, или волшебная кнопка для релизов по запросу, Денис Яковл...Continuous Delivery, или волшебная кнопка для релизов по запросу, Денис Яковл...
Continuous Delivery, или волшебная кнопка для релизов по запросу, Денис Яковл...
 
Github Flow. Тестировщики против тестирования
Github Flow. Тестировщики против тестированияGithub Flow. Тестировщики против тестирования
Github Flow. Тестировщики против тестирования
 
Константин Назаров – Распараллеливание сборки Parallels Desktop для Mac
Константин Назаров – Распараллеливание сборки Parallels Desktop для MacКонстантин Назаров – Распараллеливание сборки Parallels Desktop для Mac
Константин Назаров – Распараллеливание сборки Parallels Desktop для Mac
 
Devconf-2015 Тестируем инфраструктуру как код
Devconf-2015 Тестируем инфраструктуру как кодDevconf-2015 Тестируем инфраструктуру как код
Devconf-2015 Тестируем инфраструктуру как код
 
RootConf 2015: Как Vagrant и Chef ускорили разработку в несколько раз
RootConf 2015: Как Vagrant и Chef ускорили разработку в несколько разRootConf 2015: Как Vagrant и Chef ускорили разработку в несколько раз
RootConf 2015: Как Vagrant и Chef ускорили разработку в несколько раз
 
Путь DevOps в «Parallels» / Константин Назаров (Parallels)
Путь DevOps в «Parallels» / Константин Назаров (Parallels)Путь DevOps в «Parallels» / Константин Назаров (Parallels)
Путь DevOps в «Parallels» / Константин Назаров (Parallels)
 
Why we did not choose Hadoop
Why we did not choose HadoopWhy we did not choose Hadoop
Why we did not choose Hadoop
 
Using Ansible
Using AnsibleUsing Ansible
Using Ansible
 
DUMP-2015: «DevOps-практики в разработке решений для бизнеса» Максим Пашук, 2...
DUMP-2015: «DevOps-практики в разработке решений для бизнеса» Максим Пашук, 2...DUMP-2015: «DevOps-практики в разработке решений для бизнеса» Максим Пашук, 2...
DUMP-2015: «DevOps-практики в разработке решений для бизнеса» Максим Пашук, 2...
 
Кортунов Никита. Как ускорить разработку приложений или есть ли жизнь после P...
Кортунов Никита. Как ускорить разработку приложений или есть ли жизнь после P...Кортунов Никита. Как ускорить разработку приложений или есть ли жизнь после P...
Кортунов Никита. Как ускорить разработку приложений или есть ли жизнь после P...
 
"Девопс - это не только для программистов. Практические примеры из жизни одно...
"Девопс - это не только для программистов. Практические примеры из жизни одно..."Девопс - это не только для программистов. Практические примеры из жизни одно...
"Девопс - это не только для программистов. Практические примеры из жизни одно...
 
A.pleshkov
A.pleshkovA.pleshkov
A.pleshkov
 

Similar to Chef wtf

Vagrant и chef. от dev до deploy
Vagrant и chef. от dev до deployVagrant и chef. от dev до deploy
Vagrant и chef. от dev до deployzykin-ilya
 
Chef Server не нужен? для DevOps-40
Chef Server не нужен? для DevOps-40Chef Server не нужен? для DevOps-40
Chef Server не нужен? для DevOps-40Stanislav Bogatyrev
 
«Chef и Аnsible в инфраструктуре 2ГИС» — Артём Силенков, 2ГИС
«Chef и Аnsible в инфраструктуре 2ГИС» — Артём Силенков, 2ГИС«Chef и Аnsible в инфраструктуре 2ГИС» — Артём Силенков, 2ГИС
«Chef и Аnsible в инфраструктуре 2ГИС» — Артём Силенков, 2ГИСDevDay
 
Docker: from understanding to production
Docker: from understanding to productionDocker: from understanding to production
Docker: from understanding to productionAnton Turetsky
 
Chef по обе стороны Bamboo / Артем Семенов (Align Technology)
Chef по обе стороны Bamboo / Артем Семенов (Align Technology)Chef по обе стороны Bamboo / Артем Семенов (Align Technology)
Chef по обе стороны Bamboo / Артем Семенов (Align Technology)Ontico
 
Николай Сивко "Хорошо поддерживаемое в продакшне приложение"
Николай Сивко "Хорошо поддерживаемое в продакшне приложение"Николай Сивко "Хорошо поддерживаемое в продакшне приложение"
Николай Сивко "Хорошо поддерживаемое в продакшне приложение"Tanya Denisyuk
 
Тестируем инфраструктуру как код
Тестируем инфраструктуру как кодТестируем инфраструктуру как код
Тестируем инфраструктуру как кодAndrey Tokarchuk
 
Большая книга рецептов или часто задаваемые вопросы по управлению сложными си...
Большая книга рецептов или часто задаваемые вопросы по управлению сложными си...Большая книга рецептов или часто задаваемые вопросы по управлению сложными си...
Большая книга рецептов или часто задаваемые вопросы по управлению сложными си...Ontico
 
Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...
Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...
Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...Ontico
 
DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Кон...
DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Кон...DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Кон...
DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Кон...it-people
 
13 октября, DEV {web} - конференция о Highload веб-разработке. "Управление ок...
13 октября, DEV {web} - конференция о Highload веб-разработке. "Управление ок...13 октября, DEV {web} - конференция о Highload веб-разработке. "Управление ок...
13 октября, DEV {web} - конференция о Highload веб-разработке. "Управление ок...IT-Portfolio
 
Devops: от заката до рассвета
Devops: от заката до рассветаDevops: от заката до рассвета
Devops: от заката до рассветаAlexander Titov
 
DevOps-40 meetup #7, Project FiFo
DevOps-40 meetup #7, Project FiFoDevOps-40 meetup #7, Project FiFo
DevOps-40 meetup #7, Project FiFoAlex Chistyakov
 
DevOps в Agile среде. Как, почему и когда инструменты помогают.
DevOps в Agile среде. Как, почему и когда инструменты помогают.DevOps в Agile среде. Как, почему и когда инструменты помогают.
DevOps в Agile среде. Как, почему и когда инструменты помогают.Alexander Titov
 
Страх и ненависть в мире релиз-инжиниринга
Страх и ненависть в мире релиз-инжинирингаСтрах и ненависть в мире релиз-инжиниринга
Страх и ненависть в мире релиз-инжинирингаMikhail Chinkov
 
Сергей Константинов (Яндекс)
Сергей Константинов (Яндекс)Сергей Константинов (Яндекс)
Сергей Константинов (Яндекс)Ontico
 

Similar to Chef wtf (20)

Vagrant и chef. от dev до deploy
Vagrant и chef. от dev до deployVagrant и chef. от dev до deploy
Vagrant и chef. от dev до deploy
 
Chef Server не нужен? для DevOps-40
Chef Server не нужен? для DevOps-40Chef Server не нужен? для DevOps-40
Chef Server не нужен? для DevOps-40
 
«Chef и Аnsible в инфраструктуре 2ГИС» — Артём Силенков, 2ГИС
«Chef и Аnsible в инфраструктуре 2ГИС» — Артём Силенков, 2ГИС«Chef и Аnsible в инфраструктуре 2ГИС» — Артём Силенков, 2ГИС
«Chef и Аnsible в инфраструктуре 2ГИС» — Артём Силенков, 2ГИС
 
Docker: from understanding to production
Docker: from understanding to productionDocker: from understanding to production
Docker: from understanding to production
 
Chef по обе стороны Bamboo / Артем Семенов (Align Technology)
Chef по обе стороны Bamboo / Артем Семенов (Align Technology)Chef по обе стороны Bamboo / Артем Семенов (Align Technology)
Chef по обе стороны Bamboo / Артем Семенов (Align Technology)
 
Николай Сивко "Хорошо поддерживаемое в продакшне приложение"
Николай Сивко "Хорошо поддерживаемое в продакшне приложение"Николай Сивко "Хорошо поддерживаемое в продакшне приложение"
Николай Сивко "Хорошо поддерживаемое в продакшне приложение"
 
Тестируем инфраструктуру как код
Тестируем инфраструктуру как кодТестируем инфраструктуру как код
Тестируем инфраструктуру как код
 
Большая книга рецептов или часто задаваемые вопросы по управлению сложными си...
Большая книга рецептов или часто задаваемые вопросы по управлению сложными си...Большая книга рецептов или часто задаваемые вопросы по управлению сложными си...
Большая книга рецептов или часто задаваемые вопросы по управлению сложными си...
 
Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...
Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...
Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...
 
DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Кон...
DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Кон...DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Кон...
DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Кон...
 
13 октября, DEV {web} - конференция о Highload веб-разработке. "Управление ок...
13 октября, DEV {web} - конференция о Highload веб-разработке. "Управление ок...13 октября, DEV {web} - конференция о Highload веб-разработке. "Управление ок...
13 октября, DEV {web} - конференция о Highload веб-разработке. "Управление ок...
 
Devops: от заката до рассвета
Devops: от заката до рассветаDevops: от заката до рассвета
Devops: от заката до рассвета
 
Chef (Rus)
Chef (Rus)Chef (Rus)
Chef (Rus)
 
Continuousdelivery
ContinuousdeliveryContinuousdelivery
Continuousdelivery
 
Sivko
SivkoSivko
Sivko
 
Chef @DevWeb
Chef @DevWebChef @DevWeb
Chef @DevWeb
 
DevOps-40 meetup #7, Project FiFo
DevOps-40 meetup #7, Project FiFoDevOps-40 meetup #7, Project FiFo
DevOps-40 meetup #7, Project FiFo
 
DevOps в Agile среде. Как, почему и когда инструменты помогают.
DevOps в Agile среде. Как, почему и когда инструменты помогают.DevOps в Agile среде. Как, почему и когда инструменты помогают.
DevOps в Agile среде. Как, почему и когда инструменты помогают.
 
Страх и ненависть в мире релиз-инжиниринга
Страх и ненависть в мире релиз-инжинирингаСтрах и ненависть в мире релиз-инжиниринга
Страх и ненависть в мире релиз-инжиниринга
 
Сергей Константинов (Яндекс)
Сергей Константинов (Яндекс)Сергей Константинов (Яндекс)
Сергей Константинов (Яндекс)
 

Chef wtf