阿里云企业级互联网架构-阿里云底层基础架构

文章目录
[隐藏]

也许你不知道阿里云的底层架构,也许你只听说过阿里云的“5K”集群,然而他们所表达的是一个:阿里云飞天开放平台(以下简称飞天)。飞天是由阿里云自主研发完成的公告云计算平台,主要解决规模计算的问题。

1.飞天的由来

在2007年,阿里巴巴集团的业务发展基本上都聚集在数据计算方面,核心的也都和数据相关,例如广告业务,需要知道推荐广告的用户人群,这是数据问题;在比如有着近10亿用户群的淘宝,商品搜索也是数据问题;而支付宝的反欺诈问题,也需要用数据来解决。于是,阿里巴巴决定,希望通过数据的挖掘和数据的运算来解决实际的业务问题,因此,飞天的想法诞生了。

当然,在飞天之前,有很多各种各样的解决方案,但是渐渐的,阿里巴巴发现,IT预算的增长远远超过业务增长的速度,如果没有自己的核心技术,总有一天,赚的钱比不过花掉的钱,这也促使了飞天飞天的产生。

依图科技创始人林晨曦在2008年的时候也在微软工作,进行分布式系统的研发。但当时林晨曦意识到,数据时代就要到来,而阿里巴巴拥有大量的数据资源,会产生大数据平台和业务,于是林晨曦也随着王坚博士一起加入到阿里巴巴,成为了飞天最早的负责人。

飞天的核心技术均由阿里巴巴的工程师自主完成,在谈到技术选择时,林晨曦告诉51CTO记者,2008年,阿里巴巴的技术分为三套体系,一是开源技术,采用Hadoop等开源技术,二是雅虎体系,主要集中在搜索和邮箱,三是传统IOE架构。而在飞天的技术选择上,很多阿里人都认为应该采用一些开源的技术,但是,阿里业务在发展的过程中会不断产生技术问题和需求,如果不是自主的知识产权技术来解决,恐怕只能了解皮毛,解决不了实际。因此,阿里巴巴希望技术能够掌握在自己手里,因此,飞天基本上都是阿里巴巴自主研发。

唐洪作为飞天的第二任负责人,对技术的掌控在自己手里也是相当认可的。如果一开始直接使用开源技术,尝到了甜头,但是能力上没有把握好是非常危险的,在飞天的代码中,有很多独创的东西,这页促使了飞天的工程师成为了中国分布式系统中最强的开发团队。

2.飞天是什么

那么,什么是飞天呢?通俗的说,飞天就是把几千台廉价的服务器整合成一台超级计算机,为阿里云最底层的技术支撑。

飞天开放平台最底层是数据中心,上面是通用服务器搭建的集群,再上层是大规模的通用平台,包括远程过程调用RPC(夸父)、安全管理Security(钟馗),分布式协调Naming/Coordination(女娲),资源管理Resource Management(伏羲)、分布式文件系统Distributed File System(盘古),应用调度Job Scheduling(伏羲),分布式部署Cluster Deployment(大禹),分布式检测Custer Monitor(神农)。而上层提供的就是阿里云对外的所有云服务,均是通过Web API作为借口进行控制和访问的。

飞天开放平台有两大设计原则,首先是以通用大规模服务的平台作为底层,提供多租户的环境,将资源利用率提到最高;第二,是基于Web API作为提供服务的方式,开发者只需要登录阿里云网站就可以使用阿里云提供的服务。

在谈到飞天的难度时,唐洪认为,飞天很大程度上要做的事情是要规避故障,并且对数据进行冗余。简单的理解,就是说服务“永远”不中断,数据“永远”不丢失。当然,这里“永远”是打引号的,但是这一台超级计算机一定要比单个服务器的可用性和可靠性要高得多才行。

同样是是飞天人的汤子楠认为,飞天系统有2个关键作用,首先,在2010年左右,中国的IT公司大多集中在应用层,很少有涉及到IT系统的最底层,毕竟做底层系统会面临着非常大的技术挑战,而中国的IT知识都是被国外垄断,中国人没有自己的技术,因此,能够做飞天,是一件很宏伟的目标,会被记入到史册中。其次,在飞天研发过程中,集中基础设施构建,不断解决系统核心问题,例如规模、稳定性、容灾等。在飞天的发展过程中,锻炼了大量分布式系统的人才,这些技术的积累为未来产品的爆发提供了厚积薄发的能力。

有意思的是,飞天系统中各平台的名字基本上都是中国古代的名字,也标志着这是中国自主研发的技术平台。

3.飞天的未来

2009年2月4日,阿里人写下了飞天的第一行代码;2010年8月27日,飞天在阿里巴巴内部正式成为了五个应用公关平台;2011年7月8日,阿里云官网正式上线,阿里云第一个云服务弹性计算也同时上线;2013年8月15日,第一个5K集群上线,也是中国自主研发的系统中第一个达到如此大规模的系统。

而飞天的下一个目标就是10000万。从5000到10000,不只是乘以2这儿简单,因为各方面能力都在增加,功能上也在叠加,当在多租户隔离时的资源弹性调度,会因为动态资源调配的问题而增加控制的复杂度。因此,在数据结构优化和关键路径优化方面还有很多工作要做。

据唐洪介绍,10000台集群目前正在研发,预计在今年底或明年初就会正式发布。

近日,阿里云资深技术专家沈询向外详细披露了阿里云企业级互联网架构,正是这套被称为“双11背后男人”的架构体系,撑起了912亿的天量交易,这套系统也正被中国石化等大型企业视为互联网转型的基石。

阿里巴巴技术架构全方位曝光

 

每年的双11,天猫、淘宝都有很多新玩法,要保证新玩法快速响应,又要保证大促期间系统稳定,阿里云到底是用什么技术架构来支撑多样化的业务呢?

沈询表示,阿里的系统自上而下分为5个层面,分别是业务逻辑展现层、业务能力运营层、云化业务能力层、企业级互联网架构能力层和阿里云基础设施。

《阿里云企业级互联网架构-阿里云底层基础架构》

其中最为关键的是云化业务能力层的积累。例如,淘宝内有类似商品,交易,评价这样的共享能力中心,当新应用中有类似业务时都会使用这些能力中心来完成新功能,而每个能力中心都由专门的开发团队来负责。“让专业的团队做专业的事”,团队的协调成本可以有效控制,开发效率得到了显著地提升。这些业务能力的积累也逐渐成为了阿里最重要的竞争力,发展新业务时,只需在既有存量能力的基础上,开发增量部分就可以完成业务,节省了大量开发资源。

5年完成服务化改造 提供10万+服务化接口

在过去的五年时间里,阿里内部的所有系统已经全部完成了服务化改造,并且通过能力开放平台对外提供统一的接口服务。目前,整个阿里巴巴的业务能力平台已经积累了千个应用,提供了十几万个服务化接口。

沈询指出,阿里与其他企业最大的不同在于其底层平台的技术支撑。在创业之初,阿里也选择了购买成熟的企业级应用技术来解决架构问题。然而在实践中,阿里很快就发现传统架构在面对互联网应用时明显力不从心。

因此,针对快速开发、海量用户、大量数据、低延迟等互联网应用的实际需要,阿里云分别开发了企业级分布式应用服务框架(EDAS),分布式数据库服务(DRDS)和分布式消息框架(ONS)等来应对复杂的业务应用。经过多年积累,如今这个架构已经非常成熟,并在历年的双11时期经受住了考验。

阿里云企业级互联网架构的五大特征

互联网时代,企业的核心就是效率。沈询表示,阿里云企业级互联网架构为用户提供的最核心价值,在于随着系统机器数量的不断增加,处理性能呈线性上升,可靠性呈指数级上升,而运营成本不会随着机器的增加而显著增加。

为了实现这个价值,阿里云企业级互联网架构呈现了去服务化、中心化、异步化、高可用、数据化运营等五大特征。

具体来说,服务化的技术体系提供企业级分布式应用框架(EDAS)来实现原有业务面向互联网服务化改造,改变企业内竖井式、烟囱式的系统建设。让应用开发周期更短,并且能够让IT应用系统进一步的促进业务发展。

同时,阿里云采用了去中心化架构,没有核心流量汇入点,这样带来的负载更小,故障影响的范围也更小。

《阿里云企业级互联网架构-阿里云底层基础架构》

然而,去中心化也会面对系统运维和管理成本的上升的问题。而阿里云经过数千个应用近10年的不断锤炼和试错,已经从一个个充满血泪的运营故障中积累了一套数据化、自动化运维的经验,能够大幅降低去中心化应用系统的运营成本。

沈询表示,在大量的实践中,只有很少的部分业务流程需要使用到强一致的方案。而在大部分场景中,阿里云都可以依托分布式消息服务(ONS),通过异步化、最终一致的方案来完成业务逻辑。以双11为例,完成一次交易动作需要调用200多个应用系统同时完成,假设每个系统需要10毫秒才能返回,那么整条链路就需要2秒钟才能完成调用过程,再结合前端延迟,总时长或超3秒。数据显示,每增加1秒延迟,就会有流失6%的用户。而异步化系统能有效改善该现象,只要保证三个应用的同步调用保证,其他非重要的系统可并行在后端异步完成,最后用户体感的延迟将从原有的2秒直接下降到30ms,用户流失率将大幅降低。

在云计算环境下,阿里云使用了成千上万个虚拟机来负载业务,并对自动化提出了更高的要求。阿里云研发的,分布式数据库服务(DRDS),分布式消息服务(ONS)都能以自动化的形式实现系统的秒级切换和快速恢复,对应用几乎没有影响。

大数据时代离不开数据化运营,除了上述几点,阿里云企业级互联网架构的服务层(DRDS\EDAS\ONS)都具备了成熟的数据化运营体系,能够帮助用户精准定位目前系统中存在的问题,并提出相应的改善方案。

上述五大特征,铸就了阿里云企业级互联网应用架构平台,沈询表示,该架构已经基本成为了企业内各类业务的标配,除了多年来在天猫、淘宝上的出色表现,P2P领域的红岭创投,CRM领域的网聚宝以及大型国有企业中国石化等,都借助阿里云企业级互联网架构,轻松实现了完全去中心化和异步化,在控制成本的情况下实现性能和可用性的线性提升。

点赞