人们在确定应用程序是否适合虚拟化时使用什么技术标准?我知道几年前事情已经发生了一些变化,所以我想了解人们在考虑技术适用性时的经验和方法。作为参考,我正在研究旧版和新构建的应用程序。
大小
加载
I/O
等...
欢呼马克
答案1
尽管我讨厌流行语,但我不得不提倡你采取整体方法,而不是尝试建立用于对虚拟化工作负载进行分类的基线指标。
笼统地说,你可以使用的以下基本决定因素包括:
- 支持 - 所讨论的操作系统是否能在虚拟环境中运行?您的应用程序是否依赖于在 VM 环境中无法正常运行的任何东西(例如许可证加密狗)。如果您的操作系统和应用程序在虚拟平台上,其供应商是否为系统提供支持?
- 许可 - 供应商是否有兼容的许可协议以在您的虚拟环境中运行?主机服务器的规格增加是否会产生额外的许可费用?
- CPU 使用率 - 给定服务器上的 CPU 使用率有什么特点?它是否每天都会因为生成大量报告而使 CPU 达到最大值一个小时?如果它花了 2 个小时,这实际上会造成问题吗?
- 磁盘使用情况 - 请参阅 CPU 使用情况
- RAM 使用情况 - 请参阅 CPU 使用情况
- 网络使用情况 - 请参阅 CPU 使用情况
还需注意方法论的危险。虚拟化业务环境需要技巧、经验和一些创造性思维才能正确完成,并且您必须仔细地将您能够提供的环境与您需要支持的工作负载配对,同时在此过程中融入大量业务需求和机会性基础设施改进。您能为这些东西编写手册,但这种方法的结果不会为企业带来最佳价值。
答案2
一般来说,并不一定存在一条界线,你越过这条界线,就会突然发现一种解决方案比另一种更好。虚拟化和非虚拟化各有利弊,如果有利弊,那么在云端还是在家里进行也无所谓。
您确实需要针对特定用例,找出每个解决方案相对于该用例的优缺点,然后为您的客户确定每个优点/缺点的优先级,然后选择一个解决方案。这没有确切的公式,因为相同的优点可能对一个客户来说是救命稻草,而对于同一应用程序而言,相同的优点对另一个客户来说可能并不重要。缺点也是一样,一家公司的交易破坏者可能对另一家公司来说并不重要。
当然,应用程序的适用性很重要,但是当两种方式都可以选择时,更重要的是优先考虑优点和缺点,而不是任何神奇的 IO/CPU/负载数字。
答案3
首先,我同意你需要确保供应商支持甚至允许虚拟化他们的应用程序。我们有一个非常重要的应用程序允许虚拟化,但如果故障排除需要,我们保留让我们将该应用程序加载到物理服务器上的权利。我们还有其他应用程序根本不支持虚拟化。
其次,你正在考虑哪种虚拟化主机硬件?如果你有足够的能力,你可以虚拟化任何东西,但如果能力不足,则可能导致严重的性能问题。
第三,您是否同意将关键任务软件虚拟化?您可能需要考虑使用群集或多个虚拟主机,这样如果单个主机出现故障,也不会导致一半的基础设施瘫痪。
最后,对于我们来说,非关键任务应用程序的最大标准是应用程序当前所处的硬件有多强大?我们有几台强大的服务器在做一件小事,虚拟化让我们受益匪浅。此外,更换旧硬件也是一大难题。Sysinternals 上有一个名为 disk2vhd 的工具,它可以从物理磁盘创建 vhd 文件(如果您使用的是 Hyper-V 或虚拟服务器),我们用这个工具虚拟化现有物理实例时运气很好。