如何向客户展示多容器Web应用程序的正确方式

68次阅读
没有评论

问题描述

有一个由多个服务组成的Web应用程序(身份验证服务、数据库、主要Web应用程序…),每个服务都可以在容器中运行。目前,当客户要求演示时,用户会在新的开放端口上创建和运行这些容器的新实例。但是,即使没有任何人使用,每个容器也会占用1GB的主机内存(目前总共32GB)。你有什么建议?是否有现成的解决方案?我应该研究什么来找到满足我的需求的解决方案?

编辑对评论的回复:
– 首先,这不是一台笔记本电脑,它只是Azure上的一个虚拟机(32GB和4个CPU),实际上,是的,它就像一台笔记本电脑。
– 我的客户希望(实际上是我希望)在不进行任何安装的情况下测试/评估我的应用程序,只需填写一个演示请求表单,然后我会发送一封邮件告诉他们“您的主要Web应用程序正在运行在http://somehost:someport,您现在可以使用它!”
– 目前,我可以执行上述提到的情况,并且想要使用我的应用程序的人可以使用它。但这并不高效。(???)
– 你提到了Swarm/Kubernetes,所以我的主要问题是:解决我的需求是否应该使用Swarm?如果是,如何使用?你能分享一种最佳实践方法吗?

现在我将搜索如何制作自己的SaaS系统:)

解决方案

请注意以下操作注意版本差异及修改前做好备份。

方案1

首先,你需要了解客户的需求。他们为什么来找你做这个项目?他们目前遇到了什么问题?你的解决方案如何为他们提供价值?在演示时,你需要展示你的解决方案与现有方式的差异。

以下是一些可能的需求和对应的解决方案示例:
1. 如果客户想要维护一个旧的应用程序,并升级硬件或底层组件,你可以展示如何使用容器化来实现无负面影响的迁移。
2. 如果客户需要根据需求弹性扩展应用程序的容量,你可以展示如何通过容器化部署来实现弹性扩展。
3. 如果客户需要高可用性,你可以展示如何使用容器化部署来实现更简单的高可用性设置,并演示删除一个实例后应用程序仍然正常工作。
4. 如果客户希望更快地交付应用程序,并且对质量没有太大影响,你可以展示你的交付流程,包括自动化测试、质量保证、交付和部署。

总之,你需要了解客户的需求,展示现有方式与你的解决方案的差异,并突出你的解决方案带来的价值。

方案2

请注意以下操作注意版本差异及修改前做好备份。
另一种方法是使用容器编排工具(如Docker Swarm或Kubernetes)来展示你的应用程序的运行方式。这样可以展示你的应用程序如何在多个主机上独立升级或独立扩展。

以下是一种可能的演示方法:
1. 首先,你可以使用Docker Swarm或Kubernetes来部署你的应用程序。这样可以展示你的应用程序如何在容器编排环境中运行。
2. 然后,你可以展示如何使用容器编排工具来升级或扩展你的应用程序。这样可以展示你的应用程序如何在多个主机上独立升级或独立扩展。
3. 最后,你可以演示如何使用自动化工具(如Helmfile)来部署你的应用程序,并展示自动化扩展等功能。

请注意,以上解决方案仅供参考,你需要根据客户的具体需求和你的应用程序特点进行调整。

参考资料

正文完