Я в основном разработчик, по совместительству devops; и управлять серверами здесь и там для моих проектов.
- Я хочу автоматизировать подготовку серверов web / app / database в будущем для моих проектов
- Я управляю смесью серверов Windows и Linux (VPS, облачные и выделенные)
Я кратко посмотрел на исследованного Chef / Puppet / Ansible; и я хочу найти то, что:
- Легко учиться и понимать. Я не хочу вкладывать недели в понимание сложной технологии.
- В идеале не требуется сервер («главный сервер») для хранения конфигураций
- Поддержка инициализации серверов Windows и Linux
- Поставляется с соответствующей документацией, чтобы начать
Кто-нибудь есть какие-либо советы о том, какой инструмент лучше всего подходит?
Спасибо
Ответы:
У меня почти такие же требования, как и у вас, и я много исследовал эту тему. Вы можете определенно использовать Puppet / Chef, но кривая обучения высока. Кроме того, очень немногие рецепты для Puppet / Chef, которые я видел, на самом деле полностью поддерживают Windows, поэтому ожидайте написать свой собственный для Windows, который в противном случае был бы доступен для Linux.
Для управления Linux Ansible выполнит все ваши потребности. Он чрезвычайно прост в использовании, установке и не требует центрального сервера. Я успешно использовал Ansible с Windows, установив Cygwin с OpenSSH. Вы можете автоматизировать установку и настройку Cygwin с некоторыми простыми пакетными / PS-сценариями, чтобы загрузить свой сервер. После этого вы сможете использовать Ansible с ним, если он работает с Python из установки Cygwin. На самом деле Windows не поддерживается в Ansible, и, конечно, могут быть ошибки, но я смог успешно ее использовать. Если вы являетесь разработчиком, даже довольно легко понять исходный код Ansible, если у вас возникнут какие-либо проблемы. Разработчики также очень отзывчивы, когда дело доходит до ошибок. Я отправил обнаруженную ошибку, связанную с путями, и она была исправлена за один день.
Изменить: похоже, что SaltStack теперь имеет поддержку Windows. Кажется, что он работает с файлами YAML, который похож на Ansible. Определенно стоит проверить сейчас для Windows.
источник
Я использовал как Puppet, так и Chef (извините, я не отвечаю). Я могу с уверенностью сказать, что Puppet выполнит требования, которые вы перечислили выше.
Я использовал Puppet для обработки как физических серверов, так и облачных развертываний (AWS), и это довольно просто и надежно.
источник