我正在思考应用程序如何扩展以及最终耗费最多的 CPU 时间或 HDD 空间。
我知道这个问题是一个模糊的问题,取决于应用程序的类型,但如果有人有大规模应用程序的经验,请分享您的经验,了解在新的云/无服务器应用程序中最终成本最高的原因。
答案1
这高度依赖于您的基础设施是什么样的。
请注意,您的问题可能被视为偏离主题或表述过于笼统,但考虑到人们对此类问题的普遍兴趣,我会给出答案。
首先,您只考虑了 3 个主要资源中的 2 个,第三个是 RAM。我这样说是因为在当今每个主机有多个 VM 的 VM 环境中,更有可能耗尽 RAM 而不是 CPU。
因此,如果您的基础设施可能会扩展并且需要开发应用程序,则必须进行初步规划。在规划过程中,您必须考虑所需的 CPU、RAM 和 HDD 资源以及网络带宽要求等所有方面。在每种情况下,您都必须确保多年内不会超支。如果您可以添加 RAM 且停机时间最短,那么对于 CPU,您就只能使用最初获得的内容,至于 HDD,则取决于您使用的存储:您是否从一开始就使用了所有托架,是否使用外部存储,或者两者兼而有之。
在我的初始计划中,我购买了 5 台戴尔服务器,其中有 3 个系统驱动器 + 5 个大型 8+TB 驱动器用于存储。然后,我在 5 台物理服务器上分布了大约 20 台 VM 服务器。所有资源还不到一半。在接下来的几年里,我们添加了更多服务器,我根据可用资源进行分配:如果服务器需要大量处理能力,我会将其部署在具有大量未分配 CPU 核心的主机上。如果它需要大量 RAM,我会将其部署在具有大量可用 RAM 的主机上。以类似的方式,我将日志服务器部署在具有大量可用空间的主机上。我至少又添加了 10 个,但仍然没有资源接近警告。由于规划周全,所有这一切都很顺利。我还考虑到,如果任何物理服务器发生故障,其他服务器都有足够的资源来容纳来自其他服务器的 VM。然后我们为此获得了一台备份服务器,因此不再有这种限制。
因此结论是:你需要一个好的起步计划。