本文由“
中移IT先锋队
”授权发表,原作者:
中国移动研究院技术经理 唐华斌
时间一晃进入2018年,距离Amazon AWS最早的云计算产品都已经过去”一轮“了,那时候估计没有人料想到云计算能有如此的成功。如果要说这一成功依赖于哪些技术的话,虚拟化一定位居前列。毕竟,AWS EC2建立了云服务基于虚拟化技术实现资源动态共享、弹性扩展的事实标准,OpenStack、NFV等产业也都围绕虚拟化技术发展壮大。
不过笔者最近突然发现,不知道什么时候开始,Bare Metal(裸金属)悄悄在云计算行业中流行起来,特别是随着2017年第四季度阿里云、AWS等相继发布相关产品,一时间如果没有Bare Metal,你都不好意思说自己是主流云服务商了。
这究竟是怎么一回事情呢?这个裸金属和物理机是同一个东西嘛?它为什么会出现,又将向何处去?带着这些疑问,笔者查阅信息、请教专家,发现裸金属中其实还是有不少门道的。
裸金属的“复兴”之路
我们知道,在公有云之前早就存在一个IT应用、特别是互联网应用托管(hosting)的巨大市场,这类托管服务广泛采用专用的物理服务器(dedicated hosting 后者 managed hosting),相比那时的共享Web主机(shared hosting)技术,用户能够更灵活的选择硬件、操作系统等。
随着"云计算"这一概念的流行,其中个一部分托管服务商也改头换面成为云服务商,其中比较有代表性的是Softlayer。早在2010年,Softlayer就推出了“裸金属云(bare metal cloud)”服务,为客户提供不含Hypervisor 的、支持自定义硬件基础架构的产品选择。到2013年被IBM收购的时候,Softlayer成为“世界上最大的IaaS私有云”服务提供商。
Rackspace紧随其后,于2012年推出名为"OnMetal"的裸金属云服务。作为全球影响力最大的开源硬件组织OCP和开源云计算软件组织OpenStack的创始公司,2016年上线的OnMetal v2开始采用OCP服务器和OpenStack的Ironic进行管理,使其更加名正言顺的称为云服务。
进入2016年以后,随着各大云计算巨头的纷纷加入,Bare Metal开始越来越多的出现在云计算的发布会和新闻里:
-
2017年7月12日,IBM宣布其云平台推出基于Intel新一代至强可扩展处理器的Bare Metal 服务器。同时可选的裸金属服务器还包括GPU和POWER8。
-
2017年9月6日,以成为“五朵云”之一为目标的华为,在HUAWEI CONNECT 2017 大会展示了计算服务的全系列产品,”全面开启虚机到裸金属云时代"。
-
2017年10月12日,阿里云在杭州云栖大会上发布”神龙云服务器“(X-dragon Cloud Server),称其为自研新一代软硬融合的虚拟化计算架构,兼具物理机的极致性能和云服务器的弹性。
-
2017年11月22日,微软宣布Azure云服务提供裸金属服务器的“有限预览”。
-
2017年11月28日,Amazon在2017年AWS Re:Invent年度大会上,宣布即将提供EC2 Bare Metal 实例。
除此以外,百度云、金山云、天翼云、青云等国内公有云玩家,也都于2016-2017年间,各自推出了自己的物理服务器云产品。
为什么裸金属又得到重视?
裸金属服务器之所以再度流行,与整个云计算行业在不断发展过程中,所带来的客户需求与市场变化、以及技术变化有很大的关系。大致说来有如下几个主要原因:
1、争夺更加重视性能与安全隔离等的企业用户
随手打开任意一个云服务商的产品说明页面,关于裸金属云服务器产品的介绍文字里,一般少不了”关键应用“、“高强度工作负载"、”卓越的性能”、”原生的、一致的体验“,“安全隔离”……等等说法,可见裸金属云服务器首要瞄准的就是企业应用和企业用户。
在公有云刚刚兴起的时候,以AWS为代表的公有云服务商和以IBM为代表的私有云服务商还是完全不同的两个阵营,前者以互联网和中小企业客户为主,后者以大型企业、政府客户为主。较早提供裸金属云的SoftLayer就明确表示:“很多用户喜欢裸金属云,给他们原生性能来运行大数据或者大型数据库……我们并不是要抢夺亚马逊的用户,但是我们挑选的是那些有性能问题的用户,他们需要高速磁盘I/O和高速网络。”
然而这种相安无事并没有保持太久,随着公有云软硬件性能的提升、企业所需的数据库解决方案等逐步丰富、安全性和可用性得到验证,
公有云服务商都纷纷转向利润更高的企业私有云或混合云市场,这应该是大量裸金属云主机出现的最重要原因。
2、支持第三方虚拟化软件平台和混合云
AWS在发布其i3.metal实例的时候,实际上是与VMware Cloud on AWS的混合云方案一起推出的,因为AWS的一些客户仍然希望使用VMware,而在Xen或者KVM虚拟机上运行VMware的“嵌套虚拟化”虽然理论上技术可行,但性能显然无法接受。因此AWS为用户提供了支持裸金属直接访问的新的实例。
无独有偶,差不多同期推出的Azure裸金属服务器,也明确说明其目的就是为了将VMware虚拟化栈迁移到Azure中。
阿里云虽然没有明确提VMware等第三方云平台,但也明确支持
“
Any Stack on Alibaba Cloud”
,神龙云服务器“具备再次虚拟化的能力,线下的专有云均可无缝平移到阿里云上,而不用担心嵌套虚拟化带来的性能开销”。
在腾讯云“黑石”服务器的固定配置中,也有一项“虚拟化”场景,帮助客户构建Openstack虚拟化私有云平台。
3、异构计算
与虚拟化云主机几乎都基于x86架构不同,裸金属服务器在平台架构方面似乎要丰富许多。
-
IBM自家的裸金属服务器,自然少不了POWER处理器,而OpenPOWER同样出现再腾讯云”黑石“服务器的可选机型中;
-
阿里云”神龙“、腾讯云”黑石“均提供ARM服务器机型配置;
-
在无处不AI的今天,云服务商自然不会放过GPU、FPGA等服务器产品。不过除了Oracle、IBM等少数几家以外,GPU或FPGA服务器属于虚拟机和裸金属之外的单独分类,也许是因为更多以机器学习平台而不是资源的方式提供服务?
4、容器应用的兴起
要说近两年云计算在技术上的最大发展,可以说就是容器技术的兴起。对于希望用容器来运行其应用的用户来说,虚拟机在某些情况下成为多余,而物理服务器就是自然而然的选择了。例如阿里云神龙服务器就说明了其应用场景之一就是“具有高管理自动化能力的容器类客户”。
AWS发布裸金属服务器i3时,同样也表明容器是其重要应用场景。这一点也得到容器热衷者的支持,他们认为这有助于2018年成为“容器之年”。在近期的一篇文章中,来自Twitter的OCI(开放容器标准)执行董事Chris Aniszczyk 说,“如果你看下那些来自CNCF和OCI的使容器更加标准化的项目,你会发现它们确实更容易在裸金属上运行。我认为一段时间后你将看到更多的使用裸金属的容器,因为相比一个非常复杂的OpenStack环境,它确实更容易在裸金属环境中创建。”
都是裸金属,有没有不同?
虽然云服务商纷纷推出裸金属云服务器的产品,但稍微分析一下,可以发现他们之间从技术实现、产品定位以及重视程度等方面还是有区别的。
技术实现
首先,从技术上来看,裸金属服务器可以大致分为两类:
-
第一类没有什么可多说的,就是原来的物理服务器租赁。与通用的云主机相比,没有Hypervisor、没有VM、也没有多租户共享。IBM、Oracle、腾讯“黑石”等都属于此类;
-
第二类就稍微复杂一些,可以看作一种介于传统虚拟机与物理机之间的“新”形态,其代表就是阿里云的“神龙"服务器和AWS的裸金属服务器。下面就第二类技术稍微多展开一些。
说来惭愧,阿里在发布神龙服务器的时候,我其实也是在杭州云栖大会会场的,但这种”既不是虚拟机产品,也不是物理机产品,而是一个兼具虚拟机和物理机优势的新物种“,让人真是很懵逼。其实不光是我,当时我看到几个群里也有不少人问”神龙服务器到底是个什么鬼“……
终于,在业界大拿@狒哥(经常飞拉斯维加斯的就是不一样)的指引下重新学习了一下AWS的Nitro架构,又从阿里云的介绍中找到了一些蛛丝马迹,现在看来,神龙应该是采用了与Nitro类似的思路和技术,将轻量级的虚拟化技术与定制硬件芯片结合起来,从而获得更高效的虚拟化性能,并可以直接支持普通虚拟机或嵌套虚拟化。
这样就不难理解其官网上的介绍文字了:”神龙云服务器从原理上来看是基于虚拟化的产品,但是又通过巧妙的设计使计算性能得以完整的保留,而同时又可以获得虚拟机一样在管理上的各种优势“。总体来看,阿里对神龙还是很重视的,甚至把整个神龙计划称之为"下一代云服务器产品"的重要基础。
AWS推出i3裸金属服务器的过程也可谓隆重。在2017年Re:Invent大会的Keynote演讲中,AWS全球基础设施副总裁Peter Desantis足足花了10多分钟讲故事,介绍AWS是如何从最初的虚拟化架构,在过去近5年时间里逐步发展出三代Nitro架构。而i3裸金属服务器,就是Nitro发展水到渠成的作品。
简单的说,Nitro 是一套基于定制硬件的系统架构,它致力于将虚拟化的网络、存储、安全管理及监控功能从传统实例中解耦,迁移到定制的专属硬件中,最终的目标是让 EC2实例与裸金属服务器之间在性能、安全性等方面“没有区别”。自2013年开始,AWS先后推出了C3、C4和C5等Nitro架构的虚拟化实例,其间于2015年收购了Ananpurna,以促进定制ASIC硬件芯片的发展。为了更好支持Nitro架构,AWS甚至在C5实例中首次放弃一直使用的Xen转而使用KVM虚拟化内核,足可以见Nitro对于EC2的重要性。
介绍中可以看到,AWS C5与i3的区别,仅在于是否保留虚拟层而已。AWS明确表示,在最新的Nitro架构的C5虚拟机实例上运行的AMI模板,同样也能在i3裸金属实例上运行。
至于微软是否也有了类似技术,目前没有找到可供参考的资料,但从其嵌套虚拟化应用以及微软在定制化服务器方面的动作,不排除这种可能性。
产品定位
还有一个有趣的现象在于,不同云服务商的裸金属要争夺是哪一类客户,或者说产品的定位,似乎也有一定的区别。例如,我发现腾讯云的黑石物理服务器在介绍其产品优势时,实际上是与自购服务器的传统托管模式相对比的。这其实就是Softlayer、Rackspace等早期转型为云服务商时的思路,而类似说明其云物理机优势的还有金山云。
这一点其实蛮有趣的,可能腾讯云和金山云从比较早期就开始在企业用户私有云或混合云的市场上发力(腾讯云与Oracle在2016年11月达成合作共推企业云服务),由此促进其公有云业务快速发展。从另一方面,也说明国内还存在比较多的托管用户还没有上公有云,这应该也是阿里云携神龙从虚拟化空间杀回来的重要原因吧。
而在国外,可能因为公有云发展比较充分,原有托管服务商转型云服务商等原因,传统自购服务器托管的用户减少,云服务市场竞争加剧。所以Oracle的裸金属服务器就直接对标AWS EC2实例,而AWS和Azure也不得不推出裸金属回应了。
重视程度
既然对于裸金属服务器的定位不同,各家对裸金属服务器的重视程度应该还是有区别的,这在主页上的产品分类和排序上其实有所体现。
对于Softlayer/IBM和Oracle来说,企业用户及其习惯使用的裸金属是其发家之本,所以在这三家的云服务主页上,Bare Metal的排序一定是在Virtual Server之前的。
而对于另外一些互联网出身的云服务商例如AWS或阿里云来说,裸金属仅仅是其密密麻麻的产品目录中的一个而已。除了发布会从体现技术实力的角度有较多宣传,目前从实际产品推介上还看不到有特别重视的地方。
裸金属的后续发展展望
在裸金属已经成为公有云服务商标配的今天,相信已经很少有人质疑“裸金属”是不是“云主机”这样的问题了。的确,从以前的自建转换到按需购买、按量付费的资源租赁,才是云服务的本质。
不过,与虚拟机相比,裸金属服务的提供仍然存在一些挑战,需要技术及产业的进一步成熟。
灵活性成为物理服务器的主要问题
灵活性无疑是物理服务器相对虚拟机的主要问题,处于性能、成本等原因,客户可能希望根据自己的应用需求灵活选用不同的服务器配置、OS等,虚拟化可以通过动态分配资源、镜像模板等方式很方便的提供。例如AWS,一般一个型号的物理服务器就可以分出small、medium、large、xlarge等多种虚拟机规格。
但物理服务器却没有办法这样从整机中方便的划分出部分资源来。所以包括IBM、腾讯黑石等提供物理服务器时,一般会提供两种选项:
-
固定的配置模型。提供大数据、视频、游戏等不同应用场景的主流硬件配置,供用户直接选择;
-
用户自定义类型。例如,腾讯云物理服务器的自定义范围包括:CPU、内存、硬盘、GPU卡、网卡等,如下图所示: