作为一个曾经亲自扛着 2U 服务器进长安街长话机房的系统工程师,我对服务器的感情是深厚的,当抚摸着冰冷的裸金属,感受着机房内嗡嗡的背景噪音时,似乎能感觉到数据的流动。因此,当得知我的采访对象是国内第一个服务器硬件开源项目的总架构师陈国峰先生时,我还是有点小激动的。
国峰是一个十分低调的人,现任京东云硬件研发总监,他曾在百度工作,负责过百度硬件架构设计的相关工作,如百度的“北极”整机柜服务器、百度网盘用的冰山服务器、百度 AI 所使用的 X-MAN 异构计算服务器等就是其带领团队研发的成果,他也曾任开放数据中心委员会“天蝎”项目的总架构设计师。这十来年的硬件设计经历,让这个行业“老兵”对于互联网的基础设施——服务器,有着独到的见解。
演进:从复杂到简单的服务器
我最早接触过的服务器是 Sun 微系统的 Sparc 小型服务器,并没有见识过最早的 大型机(MainFrame)。随着互联网的发展,作为互联网迅猛发展的重要基础设施,服务器的形态也逐渐演变,从塔式服务器、刀片式服务器,再到机架式服务器,我们可以看到服务器的发展从高成本向低成本演进,由复杂变简单,由高技术壁垒向无技术壁垒演进。
就好比手机的演进过程,从一开始使用模拟网的大哥大,到后来使用数字网的手机(现在我们称之为功能机),再到现在的智能机,可以看到,手机的技术在急速进步,技术壁垒在迅速降低,生产成本也以不可思议的速度降低。而在服务器硬件方面,我们同样发现,现在的机架式服务器与原来的大型机相比,亦是如此。
从另外一个角度来看,随着市场需求的不断加大,我们对于服务器硬件的看法也逐渐发生了变化。从过去每个互联网公司最重要的硬件资产就是昂贵的服务器,到如今服务器已经成为了基本的生产资料一样普遍和随处可见。
以前对大机和小机追求的高可靠性、高稳定性,以及由此产生的高成本,随着云计算技术的普及,对单个服务器基础设施的稳定性和可靠性也在降低。互联网应用系统可以通过软件、集群的方式,来提升可靠性和稳定性,通过软件上的容忍度,对集群的容忍度会变高,通过这些上层的手段来避免对于底层基础设施的过度追求。相应的,随着对于基础设施的要求的不断降低,硬件设计的成本自然而然的也就降了下来。
变化:源自真实场景的需求
京东云的下一代服务器也并非完全凭空诞生,而是源自于实际需求的变化。
在过去,使用机架式服务器依然有大量的工作需要在机房内由人工完成,比如一个月可以在一个机房内交付 1 万台机器,一年 10 万台左右的规模。在过去的产业模式下,这种机制尚可持续,但如今的 HyperScale 模式下,这样的交付效率显然无法满足业务对于大规模数据中心的部署要求。
另外,随着云计算的兴起,云的场景也开始多元化,传统的公有云开始衍生出混合云、私有云……这样就会诞生另外一个场景,私有化的部署,包括边缘部署。这种部署是很分散的,不是集中式的。对于这种分散式的部署,我们更需要的是一体化集成的整机柜服务器,避免把很多部署的技术资源分散到各个地域和零散的点上面去。然而云用户,特别是私有云和混合云用户对硬件的稳定和配合功能往往也会有不同的诉求,这给传统的整机柜服务器提出了新的挑战。
为此,国峰带领他的团队,设计出了京东云下一代服务器。
在他看来,下一代服务器必须具备以下几个特性:
高稳定性。在过去私有云的时代,总拥有成本(TCO)是服务器定制的核心诉求,而在云的时代,为用户提供高可靠的基础设施是京东云的基本服务宗旨,所以,我们把高稳定性放在第一位,而不再是简单的将成本放在第一位。
高灵活性。公有云就意味着你的客户也是千人千面,不同于传统自用私有云,公有云客户需求的多元化是不可避免的,因此,基础服务就必须有足够的灵活性,以适配这种来自需求的灵活性。这也是为什么京东云下一代服务器要采用模块化设计的概念。
高效率。对于当前复杂的云市场,公有云,私有云,混合云多种场景并存的市场下,提供一体化交付,并且快速响应客户的资源需求也是产品竞争力的一项重要指标;高效另外一个层面的含义是高能效,能效是数据中心技术中的又一项重要指标,直接影响基础设施的运营成本;因此高效率也成为硬件基础设施的重要特性。
低成本。任何产品都避不开成本,成本是产品市场的核心因素,影响到产品的核心竞争力,但是,在云的场景下成本管控应当是在为客户提供了高稳定性、高灵活性、高效率之后考虑的事情。
HaaS :Hardware as a Service
和我们所熟知的裸金属、异构计算不同,京东云下一代服务器是比裸金属和异构计算更底层的基础设施服务。确切地说,不管是裸金属还是异构计算,包括上层的 IaaS、PaaS、SaaS 等服务都可以在京东云下一代服务器上呈现。
京东云将会围绕着下一代服务器打造公有云、私有云、混合云、全方位的云产品。一方面,这些底层的硬件服务会服务于京东集团内部的自用私有云,同时也会服务于集团的公有云业务。另一方面,针对私有云和混合云,也可以对外提供私有化交付。如果客户有需求,京东云可以将这些定制的硬件结合京东云的 Iaas、Paas、SaaS 相关技术和产品做成整体解决方案,交付给客户。针对不同的客户需求,京东云可以围绕定制化服务器硬件和MDC(整合IT,供电,制冷一体方案)提供租、售产品服务。这就是我们所谓的 HaaS 的理念和概念。
挑战:技术的进步
当然,下一代服务器并非一蹴而就,所面临的挑战主要分为三个方面:
第一、设计理念——高灵活性,因为用户的需求不可预测,用户场景复杂,租用机房较多,每个机房基础设施条件不一样,同时业务类型复杂,资源调配迁移需求比较多,而目前主流的整机柜与通用机相比,无论从 21 英寸的尺寸还是集中的散热方式都有很大的差异,造成了整机柜部署的局限性,很难实现灵活迁移,混合部署。京东云的下一代服务器通过“标准化,模块化,弹性化”,极大地提高了多场景支撑的灵活性。首先我们采用 42U 19 英寸标准机柜为设计单位,节点独立散热,通用性强,实现了整机柜和标准机架服务器任意切换。其次,节点前 IO 设计,机柜后部无任何线缆,所有运维工作均可在冷通道进行,单边维护效率更高,环境更友好。同时通过模块化设计,可实现前后 IO 灵活切换,集中供电和单机供电模式灵活切换。
第二、也是这个行业面临的通用性技术挑战——高功率密度问题。因为现在芯片行业已经进入到后摩尔定律时代了,意味着计算力的提升也会带来功耗的不断提升。功耗的上升,对于系统散热设计的挑战就会越来越大,风冷已经不足以满足目前的制冷需求,甚至散热某种程度上已经制约了服务器和数据中心的发展。所以,在新的架构设计上,我们会通过一些新的散热手段,比如通过风液混合散热的方式解决功率密度的问题。
第三,功率密度提高之后,风扇转速就会更高。同时由于硬盘的存储密度不断上升,对于外部环境的振动、噪声的敏感度就越来越高。所以我们在设计上对于硬盘和风扇振动需要考虑得更多,我们采用了“硬盘前置,风扇后置”的系统架构,最大程度的拉开风扇和硬盘之间的距离,有效的降低了震动对硬盘的影响。
开源:硬件开源任重道远
软件是开源领域的主力,虽然已经有一些开源硬件的出现,但是,仍然算不上主流,绝大多数团队在硬件方面依然采用传统的闭源方式。
在这个方面,我专门请教了国峰。在他看来,首先,必须承认硬件开源的发展远不如软件开源。硬件开源是最近几年兴起的,国际上比较知名的组织就是 OCP(Open Compute Project),以及国内比较知名的 ODCC ,其前身是 BAT 三家发起的天蝎项目。
他认为,之所以过去大家不做硬件开源,主要是两个原因:
一方面,原来硬件的技术壁垒相对较高,大家希望通过这些技术壁垒来创造价值,来实现商业变现,所以,之前市场上一直没有硬件开源的社区和项目。
另一方面,硬件跟软件有一个很大的不同点,软件的代码一旦写好,在机器上直接运行就能知道是否可以工作,硬件不一样,要验证一个硬件系统的设计,首先要从原理图上设计出来,然后在工厂生产出来,最后进行验证。它的周期长,同时需要大量实物的投入,投入成本相对比较大。此外,还需要有很多专业设备做测试,调试,所以,它的验证成本也非常高。这也是为什么硬件开源难以发展起来的原因。
但是,随着时代的变化,市场的不断变大,技术的开放力度也在不断的增强,技术壁垒也相应在不断降低,成本也越来越低。众人拾柴火焰高,一个新的硬件出来之后有更多的人参与进来,它的上下游的生态就会建得更快一点,普及周期就会变得更短。
这也是为什么京东云下一代服务器要做硬件开源的原因,我们希望建立和维护这样的生态,把大家拉到一起共同推动新生态的演进。
当然,开源也并非易事,要开源首先必须得做好充分的准备来接受市场以及行业专业人士的检验。目前京东云正在为下一代服务器的开源做准备。接下来,京东云也会围绕其新的硬件设计建立一些开源的渠道,比如 OCP、ODCC 等。
京东云希望通过硬件开源,让行业里面更多相关经验的从业者参与到下一代服务器的硬件设计中来,共同围绕新的服务器架构营造一个合作共赢的生态。