在re:Invent大会上,亚马逊的CTO沃格纳•沃格尔斯(Werner Vogels)详细介绍了AWS如何通过部署自定义硬件来创建与裸金属性能相近的实例。
Vogels说,能做到这一点,得益于AWS对虚拟化技术的创新。AWS一直在构建定制的硬件和改进新的软件架构,以减少延迟、最小化资源开销,并更好地隔离计算实例。
Vogels表示,虚拟化“从一开始就一直是云环境中计算部分的基础”。随着时间的推移,AWS已经“突破”了这项技术的界限。传统虚拟化的问题是,所有用户操作系统都在争夺相同的资源,这通常会导致计算环境出现噪音,有时甚至不可靠。“我们开始思考如何从根本上改变这一点,”Vogels说,因为“旧式虚拟化”确实阻碍了用现代软件架构构建的应用程序的性能。
AWS希望向其客户提供云中裸金属的性能,尽可能减少传统云构建软件的资源消耗。解决方案来自于亚马逊在软件开发方面取得的创新,然后将其应用于构建新的硬件。“如果我们从微服务、小型模块中吸取经验,并将其应用到硬件领域,会怎么样”,Vogels说,“或许我们可以改变虚拟化的世界。”
AWS与以色列的Annapurna实验室合作,开始研究Nitro,将网络嵌入到一个单独的卡中,并在2013年为一类新的C3实例提供动力。Annapurna的下一个任务是将处理过程也转移到Nitro卡上,从而实现C4架构。这次合作非常成功,Annapurna加入了AWS。
2015年收购以色列芯片设计公司后,“我们开始研究C5,新的目标是将I/O装载到单独的卡上。”AWS还着眼于移动其虚拟机监控程序的一部分,并将其放在Nitro上,把硬件组件发展成一个全面的系统。
由于虚拟化系统的许多主要组件现在都在silicon上运行,AWS基础设施软件设计师能够通过剥离hypervisor,使EC2实例更精简、更可靠、更安全,只需运行最低限度的所需功能。这导致了功能上的下一次飞跃——新一代的EC2实例实现了AWS“几乎像裸金属一样”的目标。
Vogels告诉与会者:“虚拟机监控程序很小,几乎不影响用户操作系统。”将功能装载到硬件上不仅提高了性能,而且大大提高了安全性,限制了组件之间的通信,能够方便的阻止不需要的功能和不良程序。
“Nitro成为了创新的基础,”Vogels说,它允许AWS“做很多我们以前做不到的事情。” 由于Nitro平台支持最新和最好的AWS计算环境,使得提供软件实时更新、打补丁、虚拟机监控程序,以及创建诸如Outposts本地服务这样的新系统都成为可能。
Nitro不仅支持虚拟机,还支持容器和无服务器服务。这一努力催生了Firecracker,它被用来提高AWS Fargate服务的效率,该服务为容器工作负载提供动力。AWS的首席软件工程师Clare Liguori说,这种先进的方法允许Fargate在“虚拟化的框架下”运行由容器组成的应用程序的每个副本,从而更好地隔离客户。
Ligouri在周四的主题演讲中告诉与会者,AWS最初使用EC2实例来隔离Fargate上运行在无服务器模型中的容器化工作负载的空间,但这些实例通常“太重”。Firecracker是一种速度更快、重量更轻的高效容器平台。Ligouri 说,“随着我们在Firecracker上运行更多的Fargate,我们的效率越来越高”。
亚马逊目前正在开发一个新的数据平台,直接在Nitro上运行,核心代码在GitHub上向开发者开放。这个项目利用了containerd,一个开源项目,它是开放容器计划的一部分。
Vogels指出,AWS Lambda无服务器系统也运行在Firecracker上,随着无服务器越来越受欢迎,这将带来更多的创新。当AWS首次推出Lambda时,它预计无服务器计算将主要吸引年轻的、有预算意识的公司。后来发现并非如此:“企业中正在迅速采用无服务器,”Vogels说。”
英文原文:https://www.crn.com/news/cloud/amazon-s-werner-vogels-on-reinventing-virtualization
(以上内容由光环云整理编译,具体内容请以AWS官方发布为准)
如果你想了解更多re:Invent大会的消息,与更多热爱AWS的小伙伴一起交流心得,就赶快加入我们的社群吧!
扫描如下二维码添加光环云社群小助理微信,备注re:Invent,她会拉你进群。
光环云社群小助理微信号:Sinnet-Cloud
网友评论