云需要服务器虚拟化吗?

阅读数:801 2010 年 7 月 24 日

话题:架构云计算DevOps

Allaire 的前任首席架构师 Simeon Simeonov(他推出了第一个 Web 应用服务器 Cold Fusion),撰写了一篇关于虚拟化的未来的文章,该文章基于 VMWare 的 CTO Steve Herrod 的发言:

我们支持让 Spring 成为云应用程序中的最佳语言,即便云并非是基于 VMWare 的 vSphere。

Simeon 的观点如下:

服务器虚拟化创建了云计算。 没有在单独的物理服务器上运行多个逻辑服务器实例的能力,我们现在所知的云计算经济就不可能实现。

另外,他还说

现在所知的服务器虚拟化只是我们所需要的一种支持,等到基于云的应用程序平台成熟起来时,应用程序在构建和部署的时候可以就不需要参考当前的服务器和操作系统的情况了。在那时,服务器虚拟化的价值就会大大降低。

VMWare 的 CEO Paul Maritx 解释说:

基础架构层的云都是新的硬件。现在正在扩展的云单元就是虚拟服务器。(……)这会在云计算发展的下一个阶段发生改变。在 Google App Engine 上我们已经开始看到这种转变的征兆,它拥有内建的自动伸缩功能,而带有 dynos 和 workers 概念的 Heroku 是可伸缩性的单元。工作在 Google App Engine 和 Heroku 之上的开发者永远都不需要考虑服务器,不管是虚拟的还是物理的。(……)应用平台层的云会成为新的硬件。

Simeon 争论说:

首先,也是最重要的,服务器虚拟化会导致系统开销。VMWare 的性能测试指出,系统开销在 8-12 个百分点之间。 然而,当多个虚拟机运行在同样的服务器上,并且开始竞争硬件和网络资源时,系统开销就会大大增加。

他认为付出这样的代价是不合理的,因为:

大多数当前的应用程序,(……) 依赖于可以从网络上获取的资源,像数据库和 Web service,这与本地资源,像文件和进程,是不同的。 (这就是为什么)创业公司会创建自定义的应用程序虚拟化层,将应用程序从服务器上解放出来,从而避免使用虚拟 Windows 或者完整功能的 Linus 操作系统。(……)我们会在平台即服务(platform-as-a-service)层达到多租用式的隔离(Multi-tenancy isolation),而不是在虚拟机层。

在与 Amazon 的 CTO Werner Vogels 交谈之后,Simeon 解释说:

在公有云上部署这样的 PaaS 产品的最大障碍就是信任关系。 当前 AWS 信任由服务器虚拟化层来提供安全和隔离。从技术上来说,在 Paas 层这样做并不会更困难。事实上,它会更加简单——你只需要移除或者捕获危险的 API——但是我觉得,至少一两年的时间之后,大量使用 PaaS 会对大型公有云的提供商有价值,从而努力降低服务器虚拟化的费用。

他做出这样的预言:

企业的私有云在一段时间内会需要服务器虚拟化,(但是服务器虚拟化和传统的服务器操作系统)市场会在三年内达到顶峰,然后开始逐步下降。

最后他做出这样的结论:

VMware 已经看清了未来,并准备转战到 PaaS 领域。(……)不久之后我们就可以抛弃服务器虚拟化的支持,并且像 Forrest Gump 的值得纪念的时刻一样,我们能够在下一代的平台即服务(platforms-as-a-service)的云中运行更精益、更可伸缩的应用程序。现在,我呼吁应用程序开发者应该停止编写直接与硬件和操作系统对象交互的代码,并尝试当前的平台即服务架构。

日益成长的应用程序架构(从管理程序、操作系统、虚拟机到各种服务、数据以及应用程序容器)已经成熟,足以进行主要的转换了。 在与 IaaS 和 Saas 进行简单的比较之后,PaaS 可能会成为云计算中的主流。 你会采用什么呢?

查看英文原文:Does the Cloud Need Server Virtualization?