研究人员设想将这些微小VM应用于诸如打印服务器、动态主机配置协议、VoIP服务等服务。流畅的云计算架构需要重新思考VM瘦身、即时配置以及跨不同物理服务器的VM迁移等问题。
NEC的高级研究人员Felipe Manco在加州Santa Clara举办的USENIX HotCloud研讨会上介绍了其之前在超流畅云计算方面所做的工作。“传统的云计算基础设施被限制在数据中心和核心网络。在过去的几年中,运营商已在网络的不同位置部署着处理能力。这一基本思想让在更接近于客户或企业内部的更小型服务器上部署云计算服务成为了可能。”Manco说。
一个流畅云计算的要求
这个新的架构有四个基本属性:位置独立性、时间独立性、规模独立性以及硬件独立性。位置独立性意味着,可根据应用程序需求跨不同网络设计实现服务器部署的能力。
惠普实验室互联网与计算平台研究中心的首席架构师Mike Schlansker说,这个新架构为应用程序开发人员、电信企业以及客户提供了把应用程序部署在何处的权利。例如,在靠近客户的位置部署应用程序可减少延迟。这将使提供诸如VoIP电话这类要求低延迟的服务成为了可能。
时间独立性是指应具有短时间启动虚拟机的能力,具体时间从几毫秒到几小时各不相同。规模独立性需要开发管理工具以便于在一台单一服务器上运行成百上千的虚拟机。硬件独立性需要能够在网络边缘的较小型服务器上运行云计算应用程序。
考虑新的云计算应用程序
Manco相信,这个新式架构一定能够让各种现有应用程序变得更为高效,它可以让原本老旧的应用程序焕然一新。虚拟CDN可以按需提供,其现金节点可实现动态填充和取消。
这些微云服务还将适用于为客户的内部设备提供后端服务,以便于提高维护、降低成本、加快推出新服务。使用在小虚拟机上运行的微云服务将有助于隔离各个应用程序,从而解决安全性问题和满足性能需求。另一个用例则是提供个性化的边缘服务,例如家长控制电视服务、云计算存储、通知和去除广告等。
使用unikernel缩小虚拟机规模
这个新式架构的关键要求就是,每台虚拟机都应拥有一个非常小的资源以满足内存和处理方面的要求。这些服务还应针对平台进行量身定制,从而实现对数以千计的服务器进行按需配置和按需消除配置。
Manco表示,这种新式架构的最佳实践就是使用开销远低于传统虚拟机的unikernel虚拟机。他们已经基于Xen虚拟机基础设施建设了一个初始平台。在未来,可能把类似的原理应用到容器中。但是Manco相信,unikernel可进一步提高现有容器的隔离性和安全性。
如果要提高Xen的虚拟特征,还需要付出大量的工作。它的设计初衷并不是为了支持数以千计短时间运行的虚拟机的。NEC实现了Xen工具堆栈的一个新实践以提升性能。其他已完成的工作可改善Xen控制台以便于更为动态地配置新虚拟机。
推动小虚拟机的极限
使用这个改进的Xen内核NEC展示了按需启动10000个客户虚拟机的能力。启动如此多数量虚拟机的挑战之一在于增加新虚拟机的增量时间会迅速增加。研究团队发现,与LXC容器的135毫秒相比,在新架构上增加第一万台虚拟机的时间为3.5秒。
Manco承认,实际应用中可能并不会出现同时维持如此大数量虚拟机的情况。对于刚入门者来说,Xen的调度问题有可能会降低每一个虚拟机的性能。问题是,传统Xen调度程序使用一个循环方式从每一个虚拟机那里收集输入。一个好的做法就是按需启动虚拟机而不是在内存中保持大量运行的虚拟机。
虚拟机位置至关重要
另一个好的做法就是在单台服务器上启动大量小虚拟机和在多台服务器上启动大量虚拟机之间进行权衡。如果应用程序将执行具有较大工作量的处理任务(如打印服务器),那么它们需要在多台服务器上进行启动。在另一方面,应用程序如果是执行一些诸如DNS查询这样的简单任务,那么就可以在一台单一的服务器上启动虚拟机。
一家云计算分析公司Cloud Physics的CTO Irfan Ahmad表示,“对于为众多类别服务提供无缝用户体验来说,针对快速移动的虚拟机开发一个架构是非常重要的。”当他还在VMware工作时,他们就遇到了这样的虚拟机挑战,即VoIP电话被虚拟机移动而打断。
Manco说,实际使用这个灵活的云计算基础设施还需要我们付出大量的努力。从长远来看,它承诺有望减少网络设备、有线电视盒和企业设备的成本。通过移动更多的功能和控制边缘服务器,它还能为物联网应用程序带来同样的灵活性。通过今天对这一领域的进一步深入研究,企业将能够在明天更好地利用好开发更多的流畅云计算应用程序。(完)