kzen.dev
  • Вопросы
  • Метки
  • Пользователи
Оповещения
Вознаграждения
Регистрация
После регистрации, сможете получать уведомления об ответах и комментариях на Ваши вопросы.
Вход
Если у Вас уже есть аккаунт, войдите чтобы проверить новые уведомления.
Тут будут вознаграждения за добавленные вопросы, ответы и комментарий.
Дополнительно
Источник
Редактировать
 BestPractices
BestPractices
Вопрос

Почему люди используют Puppet/Chef с Amazon Cloud Formation вместо того, чтобы просто использовать CloudInit?

Мы планируем использовать AMI EC2 инстансы, которые не являются "pre-baked". То есть, когда они запускаются, они представляют собой пустые установки AWS linux. Наш процесс загрузки будет подтягивать различные установки, которые нам нужны, например, python, tomcat. У нас будет минимум 3 экземпляра и максимум 8.

Учитывая эти требования, будет ли использование Puppet/Chef полезнее, чем использование Amazon Cloud Formation (CloudInit)?

Если мы будем использовать Puppet, то у нас будет декларативное программирование, которое легче аудировать, чтобы увидеть, что происходит, чем скрипт. Также CloudInit имеет ограничение на размер скрипта в 16k, с которым мы можем столкнуться, а можем и не столкнуться.

Кто-нибудь перешел с CloudInit на Puppet или Chef по конкретным причинам, которые они могут указать здесь в ответ на мой вопрос?

83 2012-08-16T20:55:34+00:00 4
 MattW.
MattW.
Редактировал вопрос 7-го ноября 2016 в 8:40
Программирование
chef
puppet
configuration-management
cloud-init
Решение / Ответ
 czervik
czervik
17-го августа 2012 в 12:50
2012-08-17T00:50:56+00:00
Дополнительно
Источник
Редактировать
#16973341

Есть ли преимущества перед CloudInit? Да, безусловно, их много!

Конечно, вы можете написать один раз скрипты CloudInit для инициализации сервера. Но что произойдет, если вам понадобится изменить конфигурационный файл, добавить пользователя, обновить пакет или установить новый пакет? В итоге вы будете заходить на серверы или писать для этого скрипты, что неизбежно приведет к несоответствующему состоянию серверов.

CloudInit - это не управление конфигурацией. Если вы решили начать использовать программное обеспечение для управления конфигурацией, используйте cloud init только для одной задачи: для загрузки агента Puppet/Chef/другого агента.

Puppet не просто помогает вам автоматизировать установку пакетов, настройку ключей ssh или настройку кучи Tomcat. Он обеспечивает состояние вещей. Когда разработчик в три часа ночи устраняет неполадки в Java-приложении и меняет конфигурацию Tomcat, Puppet изменит ее обратно. Вы можете быстро изменить версию Python для всех или группы узлов, и если кто-то установит другую версию, Puppet изменит ее обратно.

Когда ваш стек приложений меняется, и вы начинаете использовать, скажем, RabbitMQ, или Jetty, или новую РСУБД, вы можете легко протестировать и развернуть изменения на десятках или тысячах серверов.

Существует множество других причин для использования программного обеспечения для управления конфигурацией, таких как отчетность, аудит и соответствие требованиям безопасности.

 czervik
czervik
Редактировал ответ 17-го августа 2012 в 1:54
80
0
 Christopher
Christopher
17-го августа 2012 в 12:08
2012-08-17T12:08:04+00:00
Дополнительно
Источник
Редактировать
#16973342

Весь смысл управления конфигурацией заключается в предсказуемом и последовательном запуске машин. CloudFormation и cloudinit отлично подходят, когда вы ограничены исключительно AWS (хотя отладка шаблонов CloudFormation - это miserable experience), но что делать с приложениями, которые используют как ресурсы центра обработки данных, так и AWS, или локальные среды тестирования, или машины для разработки?

Если вы существуете исключительно в AWS, то, наверное, можно обойтись cloudinit и ничем другим, но я не уверен, что это реально для приложений любого масштаба (Netflix, например, предварительно создает свои AMI, используя технологии OSS, которые они написали и выпустили в мир; подробности смотрите в этом видео). Высокодоступные приложения являются трансрегиональными, часто базируются в VPC, имеют тенденцию к резервному копированию в центры данных через VPN, и это даже не касаясь демонстрационных сред, сред постановки, тестирования или разработки. Как человек, которому поручено инициализировать машины, я меньше всего хочу повторять работу или застревать в отладке нескольких методов инициализации.

Отсюда Chef или Puppet. Они одинаково хорошо работают как для AWS, так и для моего центра данных, и одинаково хорошо для моей машины разработки под управлением Vagrant, так и для демонстрационных сред, которые мне иногда нужны на лету. Я предпочитаю запускать Chef или Puppet из cloudinit, чем поддерживать и cloudinit, и Chef или Puppet.

 Community
Community
Редактировал ответ 23-го мая 2017 в 11:47
63
0
 egrubbs
egrubbs
4-го февраля 2015 в 8:09
2015-02-04T20:09:24+00:00
Дополнительно
Источник
Редактировать
#16973343

Для бросовых серверов, например, работающих в группе автомасштабирования, я бы сказал, что cloudinit, вероятно, достаточно. Сценарии оболочки linux или windows powershell должны сделать все необходимое.

Если вы планируете управлять долго работающим сервером, возможно, chef, puppet или docker дадут вам преимущество, как упоминалось в принятом ответе. Если вы не видите преимущества после их использования, то, вероятно, вам не нужен этот инструмент.

5
0
Brad Knowles
Brad Knowles
22-го апреля 2015 в 10:45
2015-04-22T22:45:53+00:00
Дополнительно
Источник
Редактировать
#16973344

По моему опыту, есть простые вещи, которые легко сделать из коробки инструментов, предоставляемых AWS, но, как вы получите в более сложные вещи, вы начинаете выяснять, что есть ограничения на то, что вы можете сделать с просто свои инструменты.

На этом этапе вы можете остановиться, или вы можете найти другие инструменты (как Chef или Puppet), что поможет вам достичь тех более сложных целей, а также делает вещи проще.

Ваш выбор.

0
0
Похожие сообщества 1
Puppet — русскоговорящее сообщество
Puppet — русскоговорящее сообщество
295 пользователей
Configuration management via Puppet. Русская группа. Возможно, вам также будут интересны: @pro_ansible, @ru_devops, @devops_ru. Не забудьте отключить уведомления
Открыть telegram
Добавить вопрос
Категории
Все
Технологий
Культура / Отдых
Жизнь / Искусство
Наука
Профессии
Бизнес
Пользователи
Все
Новые
Популярные
1
Ilya Smirnov
Зарегистрирован 5 дней назад
2
Денис Васьков
Зарегистрирован 1 неделю назад
3
Dima Patrushev
Зарегистрирован 1 неделю назад
4
sirojidddin otaboyev
Зарегистрирован 2 недели назад
5
Елена Гайдамамакинат
Зарегистрирован 2 недели назад
ID
KO
RU
© kzen.dev 2023
Источник
stackoverflow.com
под лицензией cc by-sa 3.0 с атрибуцией