Инструменты развертывания производства

Подобно созданию программного обеспечения, инструменты должны использоваться для развертывания обновлений рабочего сервера (будь то БД, веб-сайт, конфигурации маршрутизатора и т. Д.). Использование инструментов уменьшает определенные типы человеческих ошибок (например, пропущенные шаги).

  • Какие инструменты доступны для развертывания программного обеспечения / конфигурации / и т. Д. (Бесплатные или коммерческие)?

пожалуйста

  • Список одного инструмента на пост
  • Какую часть процесса развертывания он выполняет
  • Особые преимущества или недостатки использования этого инструмента (т. Е. Только.NET, поддержка всех платформ LAMP/WAMP и т. Д.)

Не добавляйте инструмент, который уже существует - добавьте комментарии, если у вас есть что-то особенное, чтобы сказать о данном ответе.

-Адам

11 ответов

Puppet - более недавно написанный инструмент, написанный на Ruby, который завоевывает позиции против cfengine.

Мне очень нравится cfengine 3

По сути, он может позаботиться о каждой части процесса развертывания, учитывая правильную конфигурацию: копировать файлы из местоположения, автоматически использовать систему пакетов (например, apt, yum) для установки / обновления пакета, запуска / остановки служб, проверки файлов / страниц содержание.

Я использую его для установки (или проверки наличия) пакетов, и, поскольку я больше разбираюсь в Java, при необходимости развертывания чего-либо я загружаю архив из центральной точки, останавливаю службу Tomcat, копирую архив в Tomcat каталог, запустите службу и убедитесь, что правильное значение можно найти на определенной обслуживаемой странице. Да, cfengine делает все это почти самостоятельно.

Преимущества:

  • Это работает (это важная особенность).
  • Существует как в Linux/Unix, так и в Windows (нативная)
  • Малое использование ресурсов

Недостатки:

  • Поначалу немного сложнее в использовании, примеры слишком полны, но повсюду появляются учебники

cfengine - канонический пример в мире Unix.

Хотя Capistrano и является главным инструментом разработчика, он также является хорошим выбором.

Я не уверен, насколько хорошо он поддерживается для платформ Windows, кроме того, что, кажется, работает. Linux/OSX полностью поддерживаются.

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

В сочетании с Git-репозиторием вы получаете управление изменениями и быстрое и простое развертывание.

Инструмент: Chef - это новый инструмент, выпущенный в январе Opscode. Он написан на Ruby и его язык конфигурации - чистый Ruby DSL. Это молодой инструмент в стадии активной разработки, но его используют в производстве несколько компаний.

Chef может управлять всей вашей инфраструктурой, от настройки служб загрузки и запуска PXE до развертывания приложений и управления пользователями. Это очень гибкий, расширяемый и мощный.

Конкретными преимуществами являются чистый Ruby DSL, API-интерфейс RESTful, доступные для поиска данные узлов и множество готовых к использованию кулинарных книг. Благодаря Ruby DSL сложные структуры данных и логика могут использоваться в рецептах, а вместе с RESTful API делают Chef мощным инструментом для программирования инфраструктуры.

В данный момент мы играем с Fabric, он довольно голый, но в духе Capistrano с использованием python.

Для миграций MS SQL Server sp_help_revlogin неоценим для миграции пользователей, чтобы перенести пользователей / SIDs / pwds в новое окно.

Для окон: SCCM

Мы используем набор инструментов Shavlik для обработки исправлений, настройки и аудита.

Я не могу думать ни о каких конкретных плюсах или минусах - это работает довольно хорошо, и у нас не было никаких реальных проблем с этим, которые я могу вспомнить. (Это самое лучшее, что я могу сказать об этом - оно работает достаточно хорошо, и мне не нужно об этом думать:)

Я хотел бы дать большой +1 как Capistrano, так и Chef. Оба очень хороши в написании определенных задач по развертыванию и управлению через ssh. Куколка тоже интересна, но старая поговорка обычно гласит: "Мастер на все руки, мастер ни один". Лучше всего было бы найти самый минимальный инструмент для тех заданий, которые вы хотите выполнить, и выполнять его.

Мы используем Setup Factory

Другие вопросы по тегам