Каков наилучший способ предоставления моей серверной среды в виде пакета программного обеспечения для установки на другом сервере?

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

Для справки, мы запускаем node.js на сервере Amazon Linux. Мы используем несколько пакетов NPM с открытым исходным кодом в дополнение к нашему пользовательскому коду. Мы также используем MongoDB в качестве хранилища сессий и Redis в качестве кэша. Пока это все в одном экземпляре, но решение, которое мы предложим, будет иметь mongodb и redis каждый на своем собственном сервере, а также сервер балансировки нагрузки Haproxy перед несколькими серверами приложений. Мы используем EBS для хранения наших данных MongoDB.

2 ответа

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

Тем не менее, в значительной степени то, что сказал ceejayoz: предоставьте это либо в качестве консультационной услуги, либо в качестве готового устройства.

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

По мере масштабирования это может включать в себя решения "стеллаж в коробке", где вы продаете своему клиенту интегрированную среду в автономной стойке (все, что они делают, это обеспечивают питание и отключают сеть, чтобы подключить их к своей среде). или решения, в которых вы предоставляете кластер VMWare, реализующий эквивалент стойки в коробке.

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

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

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