Назад | Перейти на главную страницу

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

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

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

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

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

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

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

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

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