您当前的位置:首页 > 金融

起底阿里云“神龙架构”

发布时间:2019-10-09 16:06:08

  在我国云南东巴圣地玉水寨,有一处神泉。传说这神泉的泉眼处,是玉龙神出没的地方。

  每年玉龙神都要出来巡视丽江坝子,但见那神龙戏水而出、带风而下,轻盈灵动间把水翻折成三叠。水流的哗哗声跟神泉的安宁、祥和相映成趣,玉水寨美景“神龙三叠水”的美名便得乎于此。

  传说总是美丽而虚幻,但是我们今天要说的“神龙三叠(迭)”,则是真真切切发生着的科技创新故事。

  一、神龙3·献礼阿里云10年

  从2009年到2019年,阿里云(也即“阿里云智能”)十岁了。

  回首当年IT领袖峰会,BAT掌门人分别就“云计算”发表观点。在“旧瓶新酒论”和“为时过早论”面前,只有“不懂技术”的马云坚定要做云计算。

  10年前,只有马云对云计算充满信心

  2009年9月,阿里云正式成立。

  事实证明,抢跑了两年的阿里云真正掌握了先机,此后的阿里云在中国云计算市场一骑绝尘,丝毫不亚于亚马逊AWS 在海外的风头。

  阿里巴巴这个世界最大的数字经济体,从来不会躺在功劳簿上睡大觉或是沾沾自喜。尽管云计算越来越成为一门以规模取胜的生意,但阿里云并没有停下寻找新的(除规模外)核心竞争力的脚步。

  苦心人,天不负。

  2017年10月,阿里云“神龙架构”横空出世。

  代表云数据中心虚拟化技术变革、致力于以软硬协同设计提升虚拟化效率的“X-Dragon”,与被称为“裸金属虚拟化的先行者”的第一代神龙服务器,双剑合璧,踏歌而来。

  2017年10月,神龙架构亮相

  此后的2018、2019年,神龙架构一年一个台阶,第二代、第三代神龙服务器接踵而至。

  在今年的阿里云栖大会上,阿里云智能基础产品事业部总经理蒋江伟(小邪)透露,神龙架构已大规模应用于淘宝、天猫、菜鸟等业务;未来,阿里云遍布全球的百万服务器将全面升级至第三代神龙架构。

  神龙,真有这么神?

  二、神龙架构·缘起

  如果将“2006年亚马逊推出EC2和S3(以租赁计算力来为企业运行业务应用)”视为云计算商业化的起点的话,2015年前后,云计算市场已经网罗了大部分的互联网企业。

  这些“云原生企业”,对云这一弹性计算服务用得非常好,云计算也能很好地满足这些企业的需求。

  其实自云计算商用以来,在IaaS(基础设施即服务)层面,云计算的底层技术并没有根本性的变化:大规模标准化的X86服务器+(可以将这些资源池化并提供虚拟机服务的)Hypervisor系统软件。

  Hypervisor系统通过管理标准X86计算机集群,为用户提供虚拟机服务;用户因此得到弹性的计算资源,也不需运维复杂的底层硬件,可以专注于业务创新。

  然而,小邪、阿里云弹性计算技术负责人张献涛(旭卿)他们逐渐发现了一个问题——

  那些非云原生企业,他们的软件栈构建在传统的物理机上,在上云的过程中,很多不愿意做架构改造或者无从改起。这样一来,就导致超过一半(50%~60%)的用户只能“部分上云”,甚至百分之七八十的业务仍然在线下。

  针对这个痛点,阿里云的技术专家们开始思考:如何打造一款既能够接入云基础设施,又能够提供类似物理机服务的计算产品?

  “这就是我们当时做神龙的初衷。”小邪告诉《本来科技》。

  其他云厂商也有所行动,但他们当时提供的是一种如今可称作“托管云”的服务——将传统的物理机买回来放到云数据中心,提供用户“租赁服务”。

  小邪觉得:托管云生意做不长

  小邪觉得这种模式行不通。

  “它没办法持续:一千台服务器还能吃得消,一万台、三万五万台的时候呢?”

  机器自己买,硬盘坏了算自己的、数据丢了用户找你算账,这么做云服务,早晚被拖垮。小邪说,国内一家这么做的云计算厂商,已经濒临崩溃了。

  客户真正想要什么?

  “要的是物理机的资源,弹性的服务。其实就是‘定制化的物理机’——既能够享受物理机的性能,又能发挥云计算的优势。”

  旭卿说,这在那时,是个“太过理想化的东西”。

  三、虚拟化·“黑洞”

  “阿里的工程师有个特点:遇到问题就兴奋。”旭卿告诉《本来科技》,当时想到要实现这个理想化的产品时,阿里云技术团队也是“抓瞎”:没有产品可以模仿,没有现成的芯片、板卡等硬件可以支撑。

  但这确是一个从需求出发驱动的技术实现。

  大型业务上云,容器化是最热门的,它也代表着趋势,因为它解决了运维的标准问题。但是,跑容器性能最好的是物理机(裸机服务器)。一旦上云,容器本身也要一次虚拟化,加上上云的虚拟化,就是两层虚拟化,虚拟化本身就有性能占用,虚拟化的嵌套,更是不可避免地带来新的性能损耗。

  “技术人员都是有洁癖的。”小邪说:“这种性能的消耗会让他们不爽。”

  这个性能消耗其实是可以量化的。“差不多10%。”小邪说。

  10%的消耗意味着什么?意味着如果有1亿的预算,什么都没干,1千万就没了。

  另外,在同一物理机上的虚拟机之间,也会存在资源抢占的情况,这样一来,虚拟机的性能就会产生波动,影响计算的稳定性。

  用户会说:“既然如此,我为什么不用物理服务器?”

  虚拟化,从来就是云计算的基础。数十年前诞生的虚拟化技术,通过软件定义的方式来管理数据中心的计算资源,让云计算厂商可以根据企业需求输出计算能力,收放自如。

  然而,云计算的弹性能力是以牺牲性能损耗的形式来换取的。

  总结来说,资源损耗来自于虚拟化自身的性能开销、虚拟机之间资源抢占造成的性能波动、虚拟化嵌套造成的效率下降等等。

  因此,虚拟化就像黑洞一样,吸走了机器的部分性能。

  举例来说,在一台96核的服务器上运行云服务系统,可能需要占用8核32GB内存来提供虚拟化的开销,用户得到的只有88核和剩余内存。