标签 京东云 下的文章

作为一个曾经亲自扛着 2U 服务器进长安街长话机房的系统工程师,我对服务器的感情是深厚的,当抚摸着冰冷的裸金属,感受着机房内嗡嗡的背景噪音时,似乎能感觉到数据的流动。因此,当得知我的采访对象是国内第一个服务器硬件开源项目的总架构师陈国峰先生时,我还是有点小激动的。

国峰是一个十分低调的人,现任京东云硬件研发总监,他曾在百度工作,负责过百度硬件架构设计的相关工作,如百度的“北极”整机柜服务器、百度网盘用的冰山服务器、百度 AI 所使用的 X-MAN 异构计算服务器等就是其带领团队研发的成果,他也曾任开放数据中心委员会“天蝎”项目的总架构设计师。这十来年的硬件设计经历,让这个行业“老兵”对于互联网的基础设施——服务器,有着独到的见解。

京东云硬件研发总监 陈国峰

演进:从复杂到简单的服务器

我最早接触过的服务器是 Sun 微系统的 Sparc 小型服务器,并没有见识过最早的 大型机 MainFrame 。随着互联网的发展,作为互联网迅猛发展的重要基础设施,服务器的形态也逐渐演变,从塔式服务器、刀片式服务器,再到机架式服务器,我们可以看到服务器的发展从高成本向低成本演进,由复杂变简单,由高技术壁垒向无技术壁垒演进。

就好比手机的演进过程,从一开始使用模拟网的大哥大,到后来使用数字网的手机(现在我们称之为功能机),再到现在的智能机,可以看到,手机的技术在急速进步,技术壁垒在迅速降低,生产成本也以不可思议的速度降低。而在服务器硬件方面,我们同样发现,现在的机架式服务器与原来的大型机相比,亦是如此。

从另外一个角度来看,随着市场需求的不断加大,我们对于服务器硬件的看法也逐渐发生了变化。从过去每个互联网公司最重要的硬件资产就是昂贵的服务器,到如今服务器已经成为了基本的生产资料一样普遍和随处可见。

以前对大机和小机追求的高可靠性、高稳定性,以及由此产生的高成本,随着云计算技术的普及,对单个服务器基础设施的稳定性和可靠性也在降低。互联网应用系统可以通过软件、集群的方式,来提升可靠性和稳定性,通过软件上的容忍度,对集群的容忍度会变高,通过这些上层的手段来避免对于底层基础设施的过度追求。相应的,随着对于基础设施的要求的不断降低,硬件设计的成本自然而然的也就降了下来。

变化:源自真实场景的需求

京东云的下一代服务器也并非完全凭空诞生,而是源自于实际需求的变化。

在过去,使用机架式服务器依然有大量的工作需要在机房内由人工完成,比如一个月可以在一个机房内交付 1 万台机器,一年 10 万台左右的规模。在过去的产业模式下,这种机制尚可持续,但如今的 HyperScale 模式下,这样的交付效率显然无法满足业务对于大规模数据中心的部署要求。

另外,随着云计算的兴起,云的场景也开始多元化,传统的公有云开始衍生出混合云、私有云……这样就会诞生另外一个场景,私有化的部署,包括边缘部署。这种部署是很分散的,不是集中式的。对于这种分散式的部署,我们更需要的是一体化集成的整机柜服务器,避免把很多部署的技术资源分散到各个地域和零散的点上面去。然而云用户,特别是私有云和混合云用户对硬件的稳定和配合功能往往也会有不同的诉求,这给传统的整机柜服务器提出了新的挑战。

为此,国峰带领他的团队,设计出了京东云下一代服务器。

在他看来,下一代服务器必须具备以下几个特性:

  1. 高稳定性。在过去私有云的时代,总拥有成本(TCO)是服务器定制的核心诉求,而在云的时代,为用户提供高可靠的基础设施是京东云的基本服务宗旨,所以,我们把高稳定性放在第一位,而不再是简单的将成本放在第一位。
  2. 高灵活性。公有云就意味着你的客户也是千人千面,不同于传统自用私有云,公有云客户需求的多元化是不可避免的,因此,基础服务就必须有足够的灵活性,以适配这种来自需求的灵活性。这也是为什么京东云下一代服务器要采用模块化设计的概念。
  3. 高效率。对于当前复杂的云市场,公有云,私有云,混合云多种场景并存的市场下,提供一体化交付,并且快速响应客户的资源需求也是产品竞争力的一项重要指标;高效另外一个层面的含义是高能效,能效是数据中心技术中的又一项重要指标,直接影响基础设施的运营成本;因此高效率也成为硬件基础设施的重要特性。
  4. 低成本。任何产品都避不开成本,成本是产品市场的核心因素,影响到产品的核心竞争力,但是,在云的场景下成本管控应当是在为客户提供了高稳定性、高灵活性、高效率之后考虑的事情。

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 等。

京东云希望通过硬件开源,让行业里面更多相关经验的从业者参与到下一代服务器的硬件设计中来,共同围绕新的服务器架构营造一个合作共赢的生态。

本期人物介绍:

郭理靖,京东云产品研发部高级总监、产品委员会主席,专注于公有云服务、Docker、API 与数据开放平台、数据库服务等领域。擅长数据库、分布式存储系统、高可用服务架构等技术。

在任职期间,郭理靖研发上线了 MySQL、SQL Server、MongoDB、PostgerSQL、MariaDB、Percona、JDW(数据仓库)、DRDS(分布式数据库服务)、时序数据库、TiDB、BDS(区块链 BI 数据分析服务)等多款京东云产品 。京东云不仅是国内第一家支持 MySQL 8.0 的云厂商,也是国内第一家支持 MariaDB 的云厂商,而区块链 BI 数据分析服务也是可以代表全球区块链先进技术的创新产品,聚合了业界知名项目的核心数据,目前 BDS 已经对外开源。

前言

盛夏,在一家幽静的咖啡馆,我见到了匆匆赶来的郭理靖。我们深入谈了关于云计算、关于数据库方面的一些话题。我将这些谈话中的精彩内容整理出来,以飨读者。

与京东云共同成长的人

在谈话中,我了解到,郭理靖在京东的工作历程是伴随着京东云的发展一路走过来的。

从 2006 年到现在,郭理靖一直专注于云计算领域。从 2013 年京东云作为内部的基础设施云服务开始,他亲历了京东云从内部自用到正式商用的多个阶段的发展。

作为核心人员之一,郭理靖又在其中扮演了什么样的角色呢?

“其实我有两层角色,”郭理靖说到,“第一层,我负责数据库相关的服务,包括 RDS、数据仓库,现在京东云还推出了时序数据库、分布式数据库等,把京东技术体系内部的各种数据库的技术拿出来。另外,我还在京东云产品委员会,负责对京东云产品进行中长期规划, 评审产品开发可行性与必要性,规范产品上线流程,跟踪竞品动态与对标,统一产品培训资料,推进内、外部培训认证机制,精心打造京东云产品。”

谈到这里,我发现一个现象,根据我的了解,包括京东云在内的很多公有云服务商的产品负责人都是出身于一线技术岗位。之前也有人跟我说,“为什么云服务行业是技术人员来担任产品经理,这是因为云计算服务就是技术性的产品,不懂技术的没法制定和设计这样的产品出来。”

郭理靖表示:

“这种说法是比较有道理的,因为整个云计算的产品主要是给技术人员使用,要求产品经理有很强的技术功底、技术视野以及技术敏感度,不是技术背景出身的产品经理,难于理解用户诉求,很多细节没法把握。比如做时序数据库,到底是做成什么样的时序数据库,提供什么样的功能,只有做过技术支撑的产品经理,才能理解要什么样的产品和什么样的用户体验。”

从私有云到公有云

最初,京东云只是作为内部基础设施服务,那时候京东云的人手也比较少,最初采用的技术是 OpenStack 技术栈,从 2014 年开始全部转向了 Docker 容器技术。那个时候,京东已经把统一监控、部署、代码管理、日志服务这些技术部分都已经建设完备了,但是还缺乏一个核心的运行环境,而其时崛起的容器技术正好填补了这个空白。这个技术体系一直发展到现在。

到 2016 年, 京东云平台经历内部历练和打磨后,已经有了大规模的对外开放的技术基础了。在基础架构细节梳理的比较清晰、底层的基础设施服务和中间件服务都逐渐成熟、内部的使用和运营非常顺畅之后,当时决定,可以对外做公有云了。当然,做公有云和私有云的难度不是一个量级的,私有云很多事情都是在掌控范围之内,而做公有云要改造的东西特别多的。这包括网络管控、存储结构改造等几大的难点。

然而,京东云以后来者居上的节奏,从决定要对外开放,到真正的对外开往,仅用了几个月的时间,在 2016 年的 4 月 1 号正式对外开放公有云服务。

在京东云的公有云服务上线之后,逐渐往上增加各种产品和服务。产品从 20 多款已丰富至现在的 220 多款。

云计算从最初一个概念的提出,到后来发展为公有云、私有云、混合云等不同的形态,关于到底哪种云服务形态才是未来,人们也有不同的看法。不过从当前阶段看起来,主流的认识是,在认可公有云的基础上,企业希望有一种“私有化”的公有云服务。那么如何看待公有云、私有云以及接下来的发展呢?

郭理靖说:

“这个事情我们分两方面看,一方面就是看现状,另外一方面看接下去的发展。”

“当前的云服务的现状是公有云、私有云、混合云并存,而且这个阶段可能会比较长。……京东也在做私有云服务,……我们称之为 JDStack 专有云,专业服务中大型企业以及政务云 。JDStack 既能把京东云所有的能力集成起来,而又提供灵活选配的功能,除了核心的几个组件,如 SDN、RDS 等必需的产品之外,其他产品都可以选配,用户可以将京东云的能力复制一份带回家,这个产品目前的市场前景也非常好。”,同样,对于混合云,“我们可以提供的 VPN 以及专线接入,打通用户的私有云与我们的公有云,我们有完整的混合云方案,京东云的很多客户也是采用混合云的模式。”至于公有云,就更不用说了。这三种模式我们都有,主要是使用于不同场景……就目前来看,公有云市场最大,而私有云的销售份额要比混合云大。”

“你刚才讲到公有云上的私有云,确实有些用户希望在公有云里面划分一些独占的资源池,它的所有 VPS,RDS 都分配到那个资源池里面去,这种客户独享资源池的模式我们也是完全支持的。”郭理靖接着补充到,“存在这样的需求我觉得主要还是在于,政策法规上对于数据安全上面的规定。在金融、保险等领域,对数据保存的位置与管理都是有特殊要求的,使用这个解决方案,不仅能够满足合规的要求,而且能复用公有云统一的技术栈、管理服务,不用担心升级运维等基础设施性的问题。”

Docker 出现以后,随着 Kubernetes 编排系统的进一步普及和标准化,用户逐渐摆脱了被厂商绑定的情况,目前京东云在容器服务方面的进展是怎么样的?

“其实在云端提供容器服务的最大难点是资源隔离,在这方面我们做的还比较出色。我们应该是国内厂商中比较早做容器服务的。现在 Docker 是用 cgroup 进行隔离的,但会造成 Docker 容器之间的逃逸,导致同一台物理机上的 Docker 容器可以读取另一个 Docker 容器的数据。这在私有云上这不是太大的问题,但在公共云上是不可接受的,所以我们开发了原生容器服务,利用虚拟化去承载容器镜像。用传统的虚拟化技术进行隔离,同时兼容所有 Docker 的镜像,在启动速度方面,丝毫不逊色于 Docker,甚至在不少场景还会更快。同时原生容器还可以无缝衔接我们现有的 SDN 和云硬盘等底层服务,在公有云产品线里是属于与云主机平级的‘一等公民’,这会比在虚拟机里运行 Docker 要好很多。”

专注于数据库

除了云计算方面,郭理靖也植根于数据库领域。

“京东云的关系型数据库(RDS)覆盖面还是比较广的,支持的数据库类型也比较多,除此之外我们还有自己的 DTS 服务,可以做数据迁移服务。”他说,“京东云非常重视数据库,数据库研发团队也非常精悍。我们对新技术的敏感度及理解一直走在前面。例如,京东云是国内首发支持 MySQL8.0 的云厂商,同时也是第一家支持云数据库 MariaDB 服务的云厂商,我们也在积极进行云原生数据库的研发工作。

新的数据库,新的服务模式

关于京东云自研的新数据库服务,我表示很好奇,因为一个全新的数据库的研发难度显然要远远大于将已有的开源产品进行适配、优化后提供给客户使用。

郭理靖说,“因为 MySQL 在单一实例上自身存在容量限制,并不能发挥云端的优势:按需付费。比如购买云厂商的 RDS,企业实际购买的数据库服务的 QPS 是受限的,如果买更高性能则可能很多时候是浪费的。这就没有把云服务的资源和能力完全发挥出来:随着用户的体量越来越大,对容量的需求相对更大,应该在访问高峰时能够满足服务要求,在访问低峰时足够便宜,按照实际用量来收费。这样的数据库产品很值得设计研发。”

京东云对未来这样一个按需付费的数据库期望达到:

“第一、兼容SQL 标准;第二、按需付费、按性能付费,小规格的存储也能享受高性能,存储和运算深度分离;第三、性能非常好。”

开源开放

作为开源社区,我们自然也关注京东云的开源。

郭理靖说,“参与开源社区活动我们是非常积极的。我们不但是云原生基金会(CNCF)的会员,也加入了 Enterprise Ethereum Alliance(EEA),我们对开源这件事持很开放的态度。”

“在过去的几年中我们的工作压力比较大,更多的精力是投放在产品的打磨上,先要达到一定的产品丰富程度才能去做到精益求精,才能在对外开源,才能在开源社区上去贡献更大的力量”,郭理靖补充道。

当然,开源从来不仅仅是一种意愿,而是代表着背后很多的工作投入的。

开源这件事需要必要的时间和投入,京东云事业部对此也是持开放的态度,希望可以通过开源进行技术和品牌侧的建设。从这一点看,我觉得中国的技术公司已经有这样的思想和氛围了。

“要做一个完整的开源项目还是存在一些挑战,比如京东云的很多项目相互依赖比较多,要做开源的话首先要进行整理和切割,否则开源出去也无法独立运作,就没有开源的意义了。举个例子,如果要开发一个中间件,那必须把原先和用户、计费、管理、监控相关的东西全部切割出来,这个任务代价是很大的。”

郭理靖说,“目前我们的 BDS 项目已经完成代码的整理,已经对外开源了。BDS 是京东云打造一个行业标准的区块链的 BI + 数据搜索服务。区块链项目的底层区块存储结构各不相同,需要对不同的项目的数据进行解析与整理,基于此,京东云开源了区块链数据服务 (BDS),以望让更多的开发者与社区可以参与其中,接入更多公有链、联盟链、私有链等区块链项目。区块链数据服务将以区块链数据搜索引擎形式聚合所有区块链相关的内容,最大化区块链上可信数据价值,方便社区能在 BDS 上进行区块链数据的一站式查询。。”

“技术开源也能从另一个纬度考验我们的技术能力,进而驱动我们不断打磨技术和产品”。

作为京东集团技术能力对外输出的重要出口,京东云商用三年以来,正在逐渐演化为京东技术的“开源”代表,对内整合 AI、区块链等硬核技术,对外不断携手上下游伙伴扩张生态,京东云希望让各种技术通过云端整合相互促进,业务侧对外赋能可以像积木一般拆分重组,实现“即插即用”的模块化方式,为社区、为生态带来普惠价值。

结语

和郭理靖的谈话匆匆过去了一个小时,通过和一位直接负责云产品的技术负责人的深入沟通,让我对京东云丰富的云产品背后所掩盖的宏大的技术背景有所了解,也对云计算的发展有了更多的切实体悟。

“穿山甲专访”栏目是 Linux 中国社区推出的面向开源界、互联网技术圈的重要领军人物的系列采访,将为大家介绍中国开源领域中一些积极推动开源,谙熟开源思想的技术人,并辨析其思考、挖掘其动因,揭示其背后所发生的事情,为关注开源、有志于开源的企业和技术人标出一条路径。

取名为“穿山甲”寓意有二:取穿山甲挖掘、深入之意来象征技术进步和表征技术领袖的作用;穿山甲是珍稀保护动物,宣传公益。