向客户交付服务器解决方案集的方式

向客户交付服务器解决方案集的方式

我正在寻找将我们的服务器解决方案交付给客户的方法。以便客户可以轻松安装和体验我们的解决方案。

我们的服务器解决方案包括 tomcat+webapp、memcached、db 解决方案等。将服务器解决方案交付给客户的首选方式是什么?

我正在考虑的事情如下。

  • 首先,制作与 vagrant 兼容的预烘焙一体化图像,然后要求客户提供 vagrant 的规定。
  • 第二种选择,将所有解决方案放入 rpm 包中,然后要求客户使用提供的 RPM 安装解决方案。
  • 第三,制作live CD镜像,然后向客户提供live CD镜像。

我想知道还有什么其他解决方案以及上述 3 个选项中会存在什么问题。

答案1

鉴于你的三个选项,我个人会选择你的选项 2,并构建一个可部署的包。此处包的优点是,你只需发送应用程序的依赖项,而不是整个操作系统。

一般来说,我倾向于在基于 ubuntu 的系统上部署,因此我通常会构建 DEB 而不是 RPM。鉴于您提到了 RPM,我假设您的客户端运行的是可以安装 RPM 包的 Linux 版本,但如果您不知道目标架构,那么分发 tarball 可能更有意义。由于您使用 Apache Tomcat,您可以将这些 tarball 视为直接打包的良好示例。

预烘焙图像方法在原则上听起来确实不错,特别是当你试图为客户构建一个简单的演示时。几年前,我研究过将解决方案作为虚拟设备但最终决定打包整个操作系统的许可问题比好处更麻烦。例如,您可能会面临许可问题,因为对 GPL 的一种解释是,分发 Linux“live CD”或 Vagrant 映像将要求您在 GPL 下发布所有代码(我猜您不想这样做)。此外,您不想负责确保磁盘映像上的系统库已使用所有相关安全补丁进行了更新。运行时服务器的安全性理想情况下应由您的客户负责,而不是您。

如果你决定构建 RPM,并使用 Maven 构建,那么我推荐杰德布右心室maven 插件,它们很棒。纤维增强塑料也是与包管理器合作的便捷工具。

答案2

亚马逊云。在云中构建服务器,然后您可以使用亚马逊机器映像创建映像。启动副本,为他们创建一个登录帐户并通过电子邮件向他们发送凭据。当然,这只有在他们乐于在云中进行测试而不是在自己的硬件上进行测试时才有效,但这对您的客户来说很容易。

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/CopyingAMIs.html

答案3

这在一定程度上取决于目标受众,但一般来说,您需要一个只需花费很少精力即可设置并能持续发挥作用的解决方案。

最常见的情况是,当供应商向我们提供测试版本时,他们会提供完整的 VMWare 磁盘映像(vmdk文件)。
这些与 VMWare 和 VirtualBox 兼容。
这有一个很大的优势,那就是你基本上可以控制环境,并且可以在交付之前对其进行很好的测试。
缺点是它不一定类似于生产环境或安装过程(除非你销售设备)。
我还没有看到任何(商业)供应商提供 Vagrant 盒子。
我个人不会仅有的提供 Vagrant 盒子,我担心这会吓跑那些还没有使用 Vagrant 的潜在客户。
我会考虑同时提供 Vagrant vmdk文件。

提供 RPM 非常棒如果这就是你最终要卖给客户的东西。
这也允许管理团队评估安装过程。
当然,这需要你提供非常好的文档(要求、配置设置等)。
但我还是会提供一张vmdk图片。
对于快速评估来说,这是最省事的方法(对客户和供应商来说都是如此)。

相关内容