将我的服务器环境作为软件包提供并安装在不同的服务器上的最佳方法是什么?

将我的服务器环境作为软件包提供并安装在不同的服务器上的最佳方法是什么?

我的 AWS 云上运行着一些软件,我希望能够将此软件包作为本地解决方案提供,以便任何人都可以在自己的服务器上配置它。让这个过程尽可能轻松的最佳方法是什么?

背景是这样的,我们在 Amazon Linux 服务器上运行 node.js。除了自定义代码外,我们还使用了一些开源 NPM 包。我们还使用 MongoDB 作为会话存储,使用 redis 作为缓存。目前,它们都在一个实例中,但我们提供的解决方案是将 mongodb 和 redis 分别放在自己的服务器上,并在多个应用程序服务器前面放置一个 Haproxy 负载均衡器服务器。我们使用 EBS 来存储 MongoDB 数据。

答案1

这实际上是一个产品开发问题,而不是系统管理问题。

也就是说,ceejayoz 说:将其作为咨询服务或预制设备提供。

我的选择是物理或 VMWare 设备,将您的软件安装在您熟悉管理的操作系统上,并且完全不让客户动手:您的团队必须端到端地管理系统。

随着规模的扩大,这可能包括“机架式”解决方案,您可以向客户出售一个独立机架中的集成环境(他们所做的就是提供电源和网络接口以将其纳入他们的环境),或者您提供实现与机架式等效的 VMWare 集群的解决方案。

答案2

对于如此复杂的系统,我会研究配置工具。对于配置工具,您有几十种选择,而木偶CF引擎是后者的两个典型例子。

不要指望完全自动化是一件容易的事。如果您不希望生成许多系统副本并或多或少地手动管理它们,您可以使用一些“引导”bash 脚本在新安装的系统上运行...

相关内容