2006年Amazon推出S3服务,揭开了以分布式存储和大规模计算为标志的云计算的面纱。阿里一直关注并在思考着如何来做云计算。2008年,王坚博士加入阿里,阿里正式成立云计算公司,并决定自主研发大规模分布式计算系统——“飞天(Apsara)”。
2009年春节后上班第一天,阿里云团队在北京上地一间简陋的连空调都没有的办公室写下第一行代码。
而彼时,在大洋彼岸,唐洪刚从北美第四大搜索公司Ask.com跳到美国雅虎,正在埋头于大规模分布式计算系统Hadoop。当王坚博士在美国硅谷偶遇唐洪并初次介绍“飞天”时,唐洪对王坚博士说了一句大实话:“开发飞天这件事,完全不靠谱。”就连王坚博士后来也坦承:“我觉得他是对的,世界上没有人会觉得这个事情靠谱,因为它很难。”
时光总爱开玩笑。一年以后,唐洪遭遇了事业发展中的巨大挑战——“2010年的时候雅虎在Hadoop上的投入也在逐渐减少,而当时雅虎已经确定了把所有与数据相关的业务和处理都搬到Hadoop上。越来越繁重的业务压力,让程序员们为支持线上系统疲于奔命。所以我们有很多好的想法,都无法实现。”需要重构职业路线:是放弃自己执着多年的东西去一些新领域尝试新的技术挑战,比如当时在硅谷火热的社交网络Startup;还是加入一家真正有决心和坚持的公司去共同攀登大规模分布式计算系统的技术巅峰?
而此时,尽管相对Google、微软、Amazon这些分布式底层已经比较成熟的企业而言,阿里才刚刚起步,但阿里云的决心却已让“飞天”有了更大的成长空间。
一通漫长的越洋电话之后,2010年,唐洪离开硅谷,正式加盟阿里云,并带领美国、杭州、北京多个团队,肩负起阿里云计算整个技术底层的研发,成为刚刚两周岁还处于雏形阶段的飞天
技术负责人。对于这一选择,唐洪曾如此解释:“世界上除了Google、微软和Amazon,就只有阿里了,我找不到第五家公司能有决心长期投入在自主研发大规模分布式系统上。”
去IOE,飞天势在必行
阿里的IT基因中,开始植入云计算,伴随着一场“去IOE”运动的进行。翻开历史,淘宝曾启用全亚洲最大的OracleRAC集群,阿里更是购买过3年无限制的许可,阿里在IBM小型机以及EMC SAN存储上的投入也曾成为媒体争相报道的事件。但随着互联网爆发式发展,淘宝、支付宝和阿里巴巴B2B的注册用户数激增,阿里只能不停地通过水平和垂直扩展架构来应对新增用户生成的海量数据。而这种集中式数据库的架构,使得数据库成为了整个系统的瓶颈,越来越不适应海量数据对计算能力的巨大需求,更不用说越来越难以承受的高昂投入。阿里的“去IOE”已经势在必行:通过自主研发的分布式系统取代集中式数据库架构,使用MySQL+HBase取代MySQL,商用机取代小型机+SAN。
选择自主研发,这也是阿里云在步入云计算之路上做出的最重要的抉择:坚持追求拥有自有的最有竞争力的核心技术。在唐洪看来,云计算是一门高技术门槛的生意,具备核心技术竞争力等于具备了在战场上可以正面抗衡竞争对手的实力,尽管这个技术攻关的历程非常之艰难。选择自主研发而非采用开源Hadoop优化,也是基于一定的考虑,尽管Hadoop在离线大数据处理上具备优势,但无法完全提供阿里云要求的大规模分布式计算与处理的能力,而目前基于飞天上线的云服务,已远远超出Hadoop的能力。开源可以说是一条先易后难的路,尽管一开始可以走一些捷径,但事后在版本升级、研发上都会受颇多限制;从核心知识产权角度来看,今天无论是微软、Amazon或者Google的云计算平台,都没有采用Hadoop且不开放代码开源,本质上都是在追求自有的核心竞争力。开源软件无法彻底成为一个云计算底层平台的基础,采用开源软件并非解决做分布式系统这个问题的一剂良方。发展自有技术,坚持底层自主研发,如今能够构建超级计算机的飞天已成为阿里拥抱云计算,以及对外提供云计算服务的坚实基础。
目标5K,突破再突破
理想有多么美好,挑战就有多么巨大。在技术上,唐洪把自主研发大规模分布式系统飞天的挑战概括为三点。
- 小概率事情变成常态,主要包括故障率放大、故障类型不可预知及线上诊断修复不可避免;
- 昂贵的全局同步代价,Jim Gray在1996 SIGMOD的论文里指出,竞争代价是规模增长的三次方,因此,10节点集群扩展到1000节点,同步代价有可能放大百万倍,这就意味着两点——性能关键路径上需要避免全局同步,并与不精准的全局状态达成妥协;
- 动态的运行环境,这个问题主要是基于线上业务,由互联网应用的爆发式增长、服务器负载的周期性变化,及系统热点的无时不在和瞬时转移特性导致。
迎难而上,是突破再突破。2008年10月24日,组建飞天团队开始做设计;2009年12月18日,飞天有了第一个应用——为阿里金融做的大规模离线处理;2010年8月24日,飞天成功地支持搜索、邮箱、大规模数据处理、弹性计算存储等服务;2011年7月28日,阿里云自主研发的飞天云计算平台开始以公共服务的方式对外提供云计算商业服务;同年,首届阿里云开发者大会上,
基于飞天的阿里云开放服务产品体系全面亮相;2013年3月,飞天单集群规模已达1500台;2013年8月15日,飞天5K成功,承载着阿里巴巴集团数据业务的“开放数据处理服务(Open DataProcessing Service,简称ODPS)”集群正式开始生产运营,单集群规模达到5000台。
在实现单集群5000节点之后,通过上层应用ODPS,飞天已经支撑了阿里内部大部分数据业务,其中包括阿里小贷、数据魔方、阿里妈妈广告联盟、广告搜索、点击预测模型训练、支付宝所有业务、淘宝指数、阿里无线等。2014年7月,以RESTful API方式提供数据仓库、数据挖掘和其他数据应用服务的ODPS,正式对外开放。今天,已有近百万应用部署在阿里云平台上面,客户遍及全国不同地域、不同行业领域。
取得一系列技术突破的背后,是不为人知的一场艰难的历程,其中更大的困难在于人。召集一群能够做这件事的人难,而召集一群能耐住寂寞为梦想实现而甘于奉献的人更难,无数难题让飞天人吃尽苦头。回想一路的历程,唐洪说:“当飞天第一天立项、从第一行代码开始,便是带着明知山有虎,偏向虎山行的决绝和勇气前进的。而这一路不仅仅有阿里巴巴集团的研发人员在投入这场战斗,还有更多的是我们的客户、合作伙伴的支持,才能走到今天5K的目标。2013年10月25日,杭州转塘阿里云创业创新基地专门为飞天5K设立了纪念标志,我们在这个标志上不仅留下了在项目室小黑屋封闭开发的程序员、赶着早高峰下班的开发运维人员的名字,也有每个周末都赶来陪同加班的家属,更有把身家性命放在阿里云上的客户的名字,其实从另一个维度来说,因为有了他们才有了今天的5K。”
未来,腾飞的阿里云计算
飞天5K的正式上线,也标志着阿里与Google、微软和Amazon比肩,从此成为世界上独立拥有相关技术能力的屈指可数的公司之一。
未来,唐洪看得更远:“目前飞天所支撑的业务占有市场份额还不足1%,接下来的路还很漫长且艰辛。着眼未来,5K只能是飞天已经迈过的一道门槛,是阿里云一个新的起点。”
有一种追求叫自主研发!相信唐洪和这群有理想、有信仰的年轻人们在这片更加广阔的天空中能够更加自由地翱翔!
本文转载自 CSDN 作者 郭雪梅 童阳