0

我们有一个 Web 应用程序产品,我们出售给托管在我们服务器上的公司。该产品包含几个 Web 应用程序、Windows 服务和 SQL Server 数据库。现在我们只有一个客户使用我们的产品。我们有两台服务器——一台用于 Web 应用程序和服务,另一台用于数据库。

为了将产品添加到另一个客户端,我们必须“复制”所有应用程序和数据库并单独运行。

随着我们开始扩张,一些公司将需要比其他公司更多的服务器能力,我需要规划服务器基础设施。

每个客户端有两台服务器听起来很荒谬。托管成本将是巨大的。当我有 10 个客户时会发生什么?并且可能有些服务器会比其他服务器消耗更多的功率,使服务器使用 30% 的容量,而其他服务器则使用 70%。

我真正关心的一件事是将数据库与每个产品分开,因此在服务器受损的情况下,只有一个数据库会处于危险之中。

所以……我想到了虚拟机……听起来对吗?我需要两台超级服务器来保存虚拟机实例吗?(一个用于网络,另一个用于数据库?)负载平衡/等等呢?是否会因为我使用虚拟机而需要更多的维护时间?有硬件推荐吗?

任何帮助将不胜感激

非常感谢

4

1 回答 1

1

虚拟机绝对是分离客户端的最安全方式,并且可以让您灵活地将特定百分比的资源分配给特定客户端。

然而,在同一台物理机器上使用不同的进程会表现得更好(但并不总是显着),并且允许更动态地使用资源(即,如果一个峰值,它将使用它需要的资源)。但是,此设置不允许您轻松控制资源分配。您还必须构建自己的监控工具来查看和分析哪些进程(客户端)正在使用哪些资源(搭载 perfmon)。

如果您的应用程序不是为此而设计的,那么使用单独的进程也是危险的。应用程序在文件系统上缓存数据或访问除内存之外的任何地方的任何地方都需要彻底清理数据库,以确保来自客户端的数据不会混合或共享。

单独的虚拟机需要管理更多的工作——每个虚拟机都非常像它自己的计算机。所以你必须管理所有的虚拟机和物理机。

您可能还想考虑在 Amazon AWS 或 Microsoft 的 Azure 等更具动态性的环境中托管,与传统主机上的 VM 相比,这将允许您更轻松地根据需要进行扩展/缩减。

于 2011-06-06T19:18:31.407 回答