2019杭州云栖大会大咖有约,由阿里云智能资深技术专家陈绪带来以“飞天如何有效支撑中国最大公共云:详情架构与演进”为题的演讲。本文对为什么飞天系统要自主研发,以及“飞天”的演进与架构进行了详细的介绍。
视频直播回顾
以下为精彩视频内容整理:
“飞天”史
当看到“飞天”这个词时会想到什么?其实在中国谈飞天有三个含义。第一个飞天是印度的飞天Apsara神女的壁画;第二个是跟阿里云长期合作的飞天茅台;第三个就是我们今天要讲的这个支撑中国最大规模公共云的飞天操作系统。这个飞天是在2008年立项,就是要构造一个自主研发的操作系统,飞天的来源从本质上是借鉴了印度的飞天壁画,意味着能够一飞冲天。阿里云是在2009年9月10号成立的,但早在2009年2月,阿里云团队就写下第一行飞天代码,到2010年,第一个客户阿里金融通过飞天平台正式对外提供服务,到2011年,阿里云开始大规模对外提供基于飞天的云计算服务,到2012年,飞天成为双11的基础设施,到2013年,飞天首个5000台集群正式上线,阿里云成为世界上第一家对外提供5K计算能力的公司,到2014年,飞天全球用户突破100万,到2015年,“登月计划”完成,阿里巴巴集团所有的数据计算任务迁移至飞天平台,到2016年,ET城市大脑项目启动,飞天进入人工智能时代并应用于解决社会治理的难题,到2017年,飞天获得中国电子学会15年来首个科学进步特等奖,直到去年2018年,飞天进入2.0时代,成为面向万物智能的云操作系统。
为什么飞天系统要自主研发
为什么有自信说这个飞天是阿里云自主研发的系统呢?原因在于当年全世界还没有特别成熟的云计算软件代码可以为阿里云所用,因此也就意味着阿里云从第一天开始,每一行代码就只能自己写,就只能自主研发。这是时代选择的偶然,更是历史的必然。
飞天系统的演进
飞天系统的架构与演进来源于世界对计算的实际需求。很多云是为做云而做云,而阿里云不是,阿里云是针对业务的需求而做云。阿里云研发要解决两个问题,一个就是针对IT成本增长太快的问题;另一个就是当时整个世界上还没有任何一个公司能够支撑这个性能指标。
在2013年所说的5k是指用5000台计算机组成一个集群同时处理大数据,也就是当年所说的ODPS,后面改名为MaxCompute。双11凌晨大屏幕出现的数据统计就是由这个飞天系统计算出来的,但是再往后飞天的技术方向发生了改变,改变在哪里呢?用户更多的是嫌到ID物理机房扛机器太麻烦,不想用原来的物理机,开始使用虚拟机,因此想要到阿里云上通过虚拟机的方式来买容器、买存储、买计算。当时阿里云刚刚成立,由于并没有经过实际演练,面临最大的困难是没有客户,就是没有人为飞天的研发买单。阿里云的第一个客户是阿里小贷,它是蚂蚁金服的一个业务,通过阿里小贷的牧羊犬项目证实了系统的大数据处理能力,能够满足市场上的需求。
接下来进入一个新的阶段,在2014年的时候还有很多友商攻击阿里云研发的系统不行,到去年2018年,再也没有任何一个公司说飞天系统不行了。这是为什么呢?因为在这四年中,阿里云团队不仅在技术上实现了升级和演变,而且从商业品牌上也获得了市场的认可。
飞天操作系统
最近的数据显示,中国59%的上市公司使用的是阿里云的系统。他们为什么用阿里云的系统呢?因为他们看中的就是飞天,飞天有几大体系,第一大体系叫做飞天云操作系统,它不是传统意义上的操作系统,它是云操作系统;第二个是飞天大数据平台;第三个叫飞天数据库,我们现在主要讲这个飞天云操作系统。
阿里云平台有一个底座,把这个底座称作天基,这个底座是保证所有对物理硬件的管控,能够灵活地进行调度,所以它的层级在最底下。飞天从创建到现在中间经历了无数次的演变和架构的调整,现在的飞天已经达到了一个很高的水平。物理层的管控全部是靠天基系统,在天基之上有神龙、盘古、洛神等主流云计算系统。
神龙是阿里云最先进的计算平台的一个架构,它和所有其它的计算平台最大不同在于它是专用硬件虚拟化。虚拟化经历过三代,第一代是软件虚拟化;第二代是通用硬件虚拟化;第三代自研了神龙的芯片。另外,神农在全世界不是没有对手,有一个对手就是AWS。
盘古是存储部分。当购买阿里云服务和产品的时候,其实主要买的是三个东西,一个是计算能力,就是一秒能够计算多少次;第二个是存储能力,在整个平台之上能够存储多少数据;第三个是网络能力,构建稳定的网络环境。以盘古为例,盘古系统完全是阿里自研的,经过了十年的研发,现在不仅非常稳定,而且还基于盘古创建了许多有创新意义的一些科技。首先,盘古可以存储数据,存储的数据分为块、文件、对象等。基于盘古之上构建的系统能够支持所有的存储需求,所以盘古系统真正实实在在地成为了整个存储的底层。盘古还能够进行日志服务,什么叫日志服务呢?在一个互联网大规模系统之中,最关键的数据就是数据日志,因为数据日志记录着所有行为的轨迹,那么对于日志的处理和分析就成为了一个通用的需求。很多公司的团队开发对数据进行分析的工具,跟阿里云的日志团队相比,这些公司没有那么多的研发工程师,所以说他们在工具的效率和功能上是有限制的。从去年开始,阿里云的日志服务业务增长得非常快,我们开始也没有想到一个日志服务会有这么多的用户,用户都有了日志服务之后,能够进行不同维度和各个层面的统计和归纳,而且花费的处理时间短得超乎想象。换句话说,就是把存储和日志服务这个整块处理能力全部委托阿里云,这是飞天操作系统的能力。
在飞天项目中,很多名字都是古代神话的名字,比如说洛神,其源于古代时期洛神赋。为什么网络这一块叫洛神呢?它讲的是网络之神,意思是把网络已经做得很神了。网络做到现在,目前比较受市场欢迎的两个主打产品是SAG(智能接入网关)和CEN(企业网),SAG解决了目前数字经济时代由于很多公司走向海外,导致分支机构特别多所面临的链接问题。当门店遍布全国或者全球的时候,就会出现一些核心的问题。一个是数据的安全问题,即数据传上去会不会被拦截掉,会不会出现内容的泄漏;第二个是对于新零售来说很核心的问题,是本地和*的一个数据连接问题。SAG真正地解决了安全问题和连接问题,它能够把全世界所有的门店组成一个局域网,所以说目前SAG特别符合新零售、连锁酒店的联网需求。有些人说没有SAG可以选择拉专线呀。注意:专线的成本至少是SAG的5倍以上,当存储有1000个节点的时候,全部用专线,费用会增长成天文数字,而洛神系统就解决了这方面的问题。
为什么洛神能够解决别人解决不了的问题呢?对于一个系统来说,它和用户越近,那么它的处理效果就越好,所以最好在处理数据的附近有数据机房,而阿里云在全世界有200多个数据机房。阿里云在亚太地区部署的数据存储机房最密集,其中阿里云在中国有八个地域(region),包括北京、张北、上海、杭州、成都、呼和浩特、青岛、深圳等。
云计算的本质特性很重要的一点是弹性,弹性的意思是说用多少买多少。目前最伟大的云计算公司都是从电商产生的。当年双11为了满足那一天的峰值需求,需要备货许多的物理机,而这些物理机往往需要半年的时间才能消耗掉。到了现在,有了公共云之后就不存在这个问题,不再为资源的闲置而烦恼,也不再为未来的需求而提前买单。
公共云和公有云之间的区别
公共云和公有云的英文名称都是public cloud,因此有很多人分不清楚。公共云和公有云的核心区别是看问题的出发点不同。Public cloud是让用户提供可供租用的云计算资源,使之以低成本获取资源并通过Internet使用。公共云的提法很好地承接了这一理念,强调了公共基础设施的概念,以标准化方式构建的平台能够以比较好的性价比满足大部分用户的需求,这里更多强调的是服务。另外,在服务的提供方面,公共云服务提供商往往提供最为大众化的、需求量最为广泛和集中的服务。“公有云”的概念则更多偏重强调对于物理资源的拥有权,这个不如公共云直观和贴切。所以我们一般把阿里云飞天构建的公共基础服务平台称为公共云,而非公有云。