我所在的公司销售一款商业桌面/服务器应用程序,该应用程序可在任何非专用 Windows PC 或服务器上运行,并使用 Tomcat 与应用程序进行所有交互。客户要求我们托管他们的应用程序实例,这样他们就不必在自己的服务器上本地运行它。该应用程序是轻量级的,理论上,一台普通的服务器可以处理 25-50 个实例,用户才会注意到速度变慢。但是每个 Windows 实例只能运行 1 个实例(因为应用程序写入一个公共注册表分支),所以我们需要像 VMWare 这样的工具来创建 25-50 个 Windows 实例。
我们知道我们最终需要重新编程才能使其真正适合云,但您会推荐什么样的服务器场或其他东西来实现这一点?我们没有购买自己的服务器,因此必须使用第三方。我们为这项服务预算了每位客户每年 500 至 1000 美元。
提前感谢您的建议、经验和指导。
答案1
只要您的应用程序可以在小型实例上运行,您就可以使用 Amazon EC2 来实现此目的。
一个小例子是:
小型实例(默认)1.7 GB 内存、1 个 EC2 计算单元(1 个虚拟核心和 1 个 EC2 计算单元)、160 GB 本地实例存储、32 位平台
如果您购买预留实例,则需要花费:
1 年期限:227.50 美元 + ($0.05 * (24 * 365)) = 665.50 美元/年
3 年期限:($350.00 + ($0.05 * (3 * (24 * 365)))) / 3 = $554 / 年
使用预留实例,您只需支付 1 年或 3 年的一次性费用,然后在运行时只需支付 0.05 美元/小时。
您可以购买一个预留实例池,并根据需要启动/停止它们。
答案2
每个 Windows 实例只能运行 1 个实例(因为应用程序写入公共注册表分支)
这可能是我作为程序员的本能,但我会专注于这一部分。更新应用程序,使其使用配置文件,这样您就可以提高可扩展性(减少多个 Windows 实例的开销),并降低成本(不需要那么多 Windows 许可证)。
不仅如此,您还在使用 Tomcat,它可以在 Linux 上顺利运行。如果您可以摆脱对 Windows 的依赖,则可以节省相当多的托管成本,并且可能再次提高可扩展性(如果您能找到优秀的 Linux 管理员)。