首页 阿里云专刊

阿里云专刊

举报
开通vip

阿里云专刊 C M Y CM MY CY CMY K 阿里云—封面.pdf 1 2012-1-12 13:25:47 2222 访谈Interview 阿里云-最终.indd 22 2012-1-12 13:14:54 1 凌云 2012. 2 追寻凌云梦 ——对话阿里云总裁王坚 以数据为中心的云计算 ——阿里云OS浅谈 大规模云计算平台的技术挑战 阿里云服务综览 用API控制你的云端服务器 ACE开发者平台 ——基于阿里云引擎的应用托管平台 用云存储和C...

阿里云专刊
C M Y CM MY CY CMY K 阿里云—封面.pdf 1 2012-1-12 13:25:47 2222 访谈Interview 阿里云-最终.indd 22 2012-1-12 13:14:54 1 凌云 2012. 2 追寻凌云梦 ——对话阿里云总裁王坚 以数据为中心的云计算 ——阿里云OS浅谈 大规模云计算平台的技术挑战 阿里云服务综览 用API控制你的云端服务器 ACE开发者平台 ——基于阿里云引擎的应用托管平台 用云存储和CDN轻松搞定网站图片 借助OTS快速构建LBS服务 挖掘网站数据价值 ——大规模离线数据的分析处理应用 云应用开发快速入门 云平台体验攻略 电商与云计算 囧记单词结缘阿里云开放存储服务 访谈 架构 云服务特别专题 观点 5 2 7 10 11 16 19 22 25 30 32 35 36 主编:王坚 刘江 编委会:林晨曦 倪浩 张东晖 孟迎霞 董世晓 杨爽 美术设计:纪明超 朱凯 微博 @阿里云 @程序员杂志 Contents 主办 协办 阿里云-最终.indd 1 2012-1-12 13:14:54 22 访谈Interview 相比阿里巴巴旗下人人皆知的淘宝、支付宝等子公司,组建于2009年9月10 日的阿里云要低调得多。也许因为恰逢阿里巴巴集团成立十周年,庆典的宣 传太过火爆,外界很多人当时要么压根儿没留意到这个新公司的诞生,要 么就将它与阿里软件混为一谈了。 此后,除了2009年底大批招聘技术人员见诸报道之外,阿里云似乎一度从人 们视野中消失。即使是在云计算已经成为业界焦点、如火如荼的2010年,也 未见阿里云有较大动作。原定2010年底的发布迟至2011年上半年将尽仍然不 见动静。而在此前后,阿里云庞大的布局曝光——分布式计算系统、分布式 数据库、手机操作系统、浏览器、输入法、搜索、地图、邮件、翻译……引起 技术圈内激烈争论,豪华团队、投资巨大、研发受阻、前途未卜等等有关阿 里云的传言也越来越多。更有前阿里员工甚至直斥阿里云不靠谱、纯忽悠。 2011年7月,联手天语推出的阿里云手机迅速成为媒体焦点,总体上外界的 评价是毁誉参半。10月24日,阿里云首次开发者大会召开,弹性计算平台、 开放数据处理服务、ACE平台、云应用平台、开放存储服务和CDN、开放结 构化数据服务等全线产品首次全面发布。此后阿里云喜讯不断,先与日本 游戏平台DeNA达成战略合作,后又获得政府亿元资金支持。 但围绕着阿里云的疑问仍然不绝于耳。一个电子商务公司为什么要同时做云 计算和移动操作系统?为什么一开始就做这么全面的布局?在中国这个市场 里如何靠云计算赢利?三年时间里阿里云荟萃的众多技术精英到底做了些什 么?带着这些问题,在12月28日,我专门飞到杭州,对话阿里云掌门人王坚。 平台之梦 位于杭州文二路西湖国际科技大厦的阿里云公司办公场所面积很大,充满 活力,满眼都是朝气蓬勃的技术人员。据介绍,目前公司已经有1200人,其 中八九成都是工程师,包括中国第一个ACM-ICPC冠军队成员林晨曦在内 的一批技术骨干,分别负责基础平台、基础服务、云计算业务、云手机四 块,公司没有销售。 世界范围内,云计算的领导性厂商,技术上是Google,而业务上则是 Amazon。Amazon Web Services目前已经渐渐成为主流,不仅是众多创业公 司的首选,也是Netflix、DropBox、Zynga等行业新贵们崛起的幕后英雄,已 经实现数亿美元的营收而且潜力巨大。而在中国,对应的市场仍然基本上 追寻凌云梦 ——对话阿里云总裁王坚 文 / 刘江 王坚其人 被同事习惯地称为“博士”的王坚是一位颇具传奇色 彩的技术领袖。这位1962年出生的杭州本地人个子却 很高,学者气十足,说话思维敏捷,声音洪亮。小时 候成绩并不出众的他,长大后却成为博学广识而有独 特思维模式的怪才。 加入阿里巴巴以前,他曾经是声名显赫的微软亚洲研 究院常务副院长,负责过用户界面、机器学习、大规 模数据处理、广告平台、无缝个人计算等诸多看上去 非常发散的项目。他主持发明的数字墨水技术、数字 笔和手写数学公式识别器等都是名噪一时的学术成 果。更令人称奇的是,他居然是心理学科班出身,在 杭州大学从本科读到博士,短时间在国外进修后,又 回到母校任教,先后担任教授、博士生导师和心理学 系主任。而他当年进入微软研究院时的身份却是国内 人机界面第一人。 与大多数同龄人不同,王坚敢想敢做,没有太多顾 忌,思维方式很像美国人。《追随智慧》一书中曾爆 料,当年他之所以接受李开复的邀请加盟微软,动因 竟是因为老开会烦了,又不想当学校指定的理学院副 院长。而他第一次见到李开复时,开口就批评后者参 与开发的苹果系统和微软的Windows用户界面都很糟 糕…… 阿里云-最终.indd 2 2012-1-12 13:14:55 3 凌云 2012. 2 是一片空白。在平台征战的时代,这块业务是当然的制高点, 其重要性不言而喻。 阿里巴巴是中国与Amazon最接近甚至在电子商务方面布局更 全面的公司,它的资源实力毋庸置疑,而外界不大了解的是, 其技术能力在业界也是领先的。因此,阿里投身做云计算, 逐鹿平台之战,并不奇怪,但阿里的雄心仍然令我吃惊。王 坚介绍,从战略上来说,他们想做的事情实际上可以解读为 Amazon+Google并有所超越。Amazon最重要的贡献是真正 实现了计算的Utility化,而Google真正从技术上把计算的规模 做上去了。这两点阿里云都要做,即用Google模式的技术来做 Amazon模式的运营,而同时还在慢慢努力做的一件事情,是 数据,要为人人提供全网规模的数据与计算。也就是说,如果 你今天愿意,就可以做一个全网规模上的搜索引擎,计算和数 据不再是你的约束。 阿里云对自己使命的 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 述方式颇有点与众不同——打造以数 据为中心的先进云计算服务平台。在对话中王坚不无自豪地表 示,三年前公司成立的这个初衷,现在一个字都不用改。他们 当初对云计算的理解和判断基本上仍然是成立的。 为什么这么强调数据?王坚认为,数据将成为对国家和企业 至关重要的战略性资源。而且,是近年来发生的一个革命性变 化——数据都是在线搜集完成的,从不在线到在线,使数据真 正具有了战略价值。与他的说法可以相互印证的是,全球范围 内Big Data也成为业界大热词,有国外观察者称数据将成为新 时代的石油。 另一个要素——计算能力,也是国家和企业绝对的核心竞争力。 Google是一个很好的例子,它实际上是把一个本来是大家公共的 数据变成独有的,然后在这上面创造了一个巨大的企业。相当于 6千米海底下的石油,理论上是大家的,但别人都没有能力打,只 有Google有这个技术能挖掘其中的价值。而阿里云的愿景是做中 国拥有最大计算能力(而不是服务器最多)的公司。 阿里云的业务模式有两种,一种是数据中心和技术、运营都由 阿里云负责,一种是数据中心和服务器是客户的,阿里云负责 技术和运营,与客户分享收入。后一种模式已经有好几家公司 在尝试,王坚预计后一种可能利润更高。 超越Hadoop 王坚在对话中多次强调,阿里云战略上最与众不同之处,就是 坚持追求拥有自己的具有竞争力的核心技术。而且,经过三年 艰难地技术攻关,数次推倒重来,终于跨过了这个技术门槛, 依靠自己的技术力量实现了飞天(Apsara)这个非常扎实的通 用大规模分布式计算系统,它除了MapReduce之外,还支持最 广泛的各种编程模型。而且,阿里云技术人员在这个统一平台 上实现了电子邮件、搜索、地图、弹性计算、数据处理等众多 功能,也就是说邮件和搜索底层是一样的,除他们外,在世界 上只有Google能够做到这一点。 说到这里,王坚有些动情:“这其中有很多具体的技术难题, 有的非常难,比如调度那一块,就让开发团队吃了不少苦头。 你不做到那个层次,根本不会知道其中奥秘。一开始很多人都 不相信我们能够做出来。但我们成功做出来了,对此我完全有 理由感到自豪。” 我们都知道中国公司很少会选择冒很大风险自己从事这种底层 的自主研发,当时这一决策是怎么做出的呢?难道不怕最后搞 砸了无法交待? 王坚回答,做平台必须面对正面战场,这是绕不过去的,打游 击战、平型关大捷什么的没有用,无法结束战争。幸运的是, 团队的内外部环境非常好:集团对此有足够的耐心和坚持,马 云本人是铁杆的支持者,集团CFO也说过钱不是问题的话,其 他子公司的友情支持,加上有一批铁杆的员工,还有来自万网 这样铁杆用户的支持。他直言:“有这么幸福的环境,如果还 做不成的话,只能说是我们这帮人无能。” 处于核心的飞天系统的研发成功之后,阿里云终于一扫之前的 阴霾,各种上层产品源源不断地发布。 我又提出一个早已准备好的问题:为什么不直接用Hadoop呢? 王坚回答:“大家都会觉得,直接用Hadoop不是很好更快吗。 Hadoop当然在离线大数据处理上很有价值,但它无法解决我 们公司公共云计算服务的问题,因为我们已经上线的云服务, 已远远超出Hadoop的能力,这和公司的定位是有关系的。今天 飞天已很好地支持了阿里云的各类业务,其中也包括了大数据 处理,从这个意义上讲,飞天实际上已经超越了Hadoop。” 他还补充说,现在号称做云计算的公司很多,实际上其中的技 术门槛是非常高的,很少有公司具备这样的实力。一些企业搞 一百台服务器就做网盘、云存储,还有所谓的私有云,把一个 企业解决 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 放大就说是云计算,说实话,这些真不能算。此 外,通用的云系统比垂直、专用的要难得多,虽然单看某个具 阿里云-最终.indd 3 2012-1-12 13:14:55 44 访谈Interview 体的应用效率上后者可能还是会有优势,但整个平台规模效益 一上来,结果就完全不同了。 有了坚实的底层技术做支撑,阿里云就有信心在规模效益和 成本上取得竞争优势。王坚举了一个让他最感自豪的实验案 例,在一个1500台组成的数据处理集群上,一边处理数据的同 时,还可以溜进去几个作业,完成动画渲染,实际上相当于渲 染是免费的。 与此同时,云计算除了解决基础设施需求之外,必须给客户提 供更多价值,比如搜索等服务,比如能给客户带来用户,降低 用户获取成本。 拨开迷雾 问:在已经有很多业务的互联网公司做通用云计算平台,都会 遇到平台与业务关系之间的矛盾。之前外界对阿里云的很多质 疑也是说阿里云的研发不跟具体的业务结合,阿里集团自己内 部也不怎么用。阿里云目前的情况如何?又是怎么解决相关问 题的呢? 王坚介绍:“目前集团内外都有很多成功案例,平台接入的直 接客户接近5000家。其中包括集团内部的整个邮箱。万网更是 铁杆用户,在我们发展早期帮过大忙。他们第一天上线时,客 服电话都被打爆了,而到现在几乎各种有竞争力的功能都是我 们在后面支撑。阿里金融是联合运营的例子。淘宝的对外数据 业务和开放平台也会建在阿里云平台上。还有ShopEx等外部 的客户也跑在我们的平台上。类似的例子还有很多。” 在平台和现有业务之间,阿里云有过经验教训,中间有一个 痛苦的转变过程。最开始,阿里云同时还承担集团技术部门 的角色,要兼顾公司内部和面向外部的平台开放,一度非常纠 结。支持集团内部业务与真正面对公众的开放云计算平台之 间差异还是很大的。王坚说,看到Google虽然技术领先但在与 Amazon的竞争中处于下风之后,坚定了外部服务和内部服务 各有专注的看法。内部服务现在专门成立了集团技术部,由刘 振飞负责。而阿里云将完全转变为专注对外业务,即使是集团 内部的公司,也要按两家公司结算,分享营收。 问:阿里云本来应该是专注于平台的,为什么会想到去做云手 机?之后的路线图是怎么样的? 王坚坦言,的确这一年同时在打两个正面战场,很辛苦,但移 动终端也是一个绕不过去的正面战场,靠做应用无法解决所 有问题。这个决策主要是从阿里巴巴集团战略的角度出发的, 不能失去这么大的一个机遇。内部各公司中阿里云最有条件去 做这一块。而且,战略上移动互联网和云计算是不可分的,如 果你的云计算只是在传统互联网上成功的话,其实还不能算成 功。云计算生根不是在移动互联网上,但开花结果会在移动互 联网上。某种意义上阿里云在概念上是非常紧密的两家公司。 但在云平台方面,对其他终端系统也是开放的。 下一步基本上每两三个月会有一个新的版本,2012年1月会出 手机云OS 2012版,这一版在用户体验上有了很大提高。同时, 已经开始在谈第二个手机厂家,天语也会出更多的型号,支持 高端和低端,还有平板。但最重要的,是把互联网运营的思想 带到手机上去。现在路子已经趟出来了,就是有三个系统:终 端操作系统、云端系统,还有运营手机的系统,比如应用商店 之类。 问:就目前来讲,你给阿里云打分打多少分? “从个人角度,”王坚回答,“打两个分比较客观。必须承认正 面战场是很难的,就阿里云自己今天走到这一步而言,我觉得 可以打90分。但从让别人满意来看,我觉得打不到60分。确实 由于能力所限,还有很多需要改进的地方。” 问:你预计阿里云过几年能够像Amazon那样成为盈利部门? 王坚确认,从集团角度阿里云会持续投入,一年十个亿,基本 上要做十年。但阿里云有可能在12个月到24个月以内实现盈 利。现在公司可以不再增加一个人,收入却不断稳定增加。 “我的第一个目标,是阿里云给集团外部提供服务所需的计算 资源,要超过集团内部,这个目标已经是可以预见的。而第二 个目标,是我们的计算规模能够与Amazon相提并论,相信一 定不会花十年的时间。” 阿里云的战略方向是正确的,自主研发核心系统的勇气也令 人敬佩。从CSDN最近与阿里云平台的合作来看,产品值得信 赖。阿里云公司杭州办公区的前台有一副对联相信给所有访客 都留下了深刻印象:梦想永在凌云意意气风发,代码成就万事 基积沙镇海。让我们祝福阿里云。 阿里云-最终.indd 4 2012-1-12 13:14:55 5 凌云 2012. 2 时下,云计算是一个时尚的名词,但究竟云计算解决了什么问 题?云计算的技术挑战又在哪里?云计算和移动互联网又是怎 样的关系?本文将阐述阿里云的观点,并介绍阿里云在云计算上 的努力。 云计算的三个实质问题 云计算可以被解释为虚拟主机的租赁服务,也可以被解释为企 业软件的SaaS化,又或者是一个“云机箱”之上跑许多个虚拟桌 面。在阿里云看来,云计算要解决三个实质问题。 第一是大规模。这里提到的大规模不仅是超过单台PC服务器的 能力,更指的是能够支撑互联网级别的数据和应用,例如个人邮 箱、搜索等。 第二是低成本。低成本的一个标志在于用系统软件来解决廉价 硬件在复杂条件下不可靠的问题。 第三是服务运营。这里所指的服务运营是能够通过无差别的存 储计算能力来提供公共的基础服务。 当各式各样的应用可以共同运行在一个统一平台之上,才能达到 真正的大规模,而由此得到的规模效益才能够获得低成本,于是 这三个本质的问题是云计算的有机整体。 传统的软件以功能为主体,而云计算则彻底推动了“数据为 王”。数据将成为一家企业乃至是一个国家极其重要的战略资 源。而数据的搜集、存储、分享、处理和应用是需要大量的计算 资源的,从这个意义上说,云计算可以称为“以数据为中心的分 布式大规模计算”。而一个企业乃至一个国家瞬间能够调用的计 算资源则成为了能否利用和发挥好数据这个战略资源的核心竞 争力。提供公共计算服务的云计算平台将大大促进企业之间、 社会各行业间的数据收集、分享和实时处理,在这基础之上必将 孕育出大量的数据运营的新商业模式,数据也将最终成为一切 商业行为的决策基础,从而大大提高社会的整体效率,促进人类 从大工业化时代走向信息化时代。 云OS架构 搭建云计算平台是一项有较高技术门槛的大工程。云OS在这个 大工程中起着至关重要的工作。云OS的本质就是数据中心上的 操作系统,它需要把成千上万台通用PC服务器变成一台超级计 算机。 如图1所示,阿里云OS运行在成千上万台服务器的Linux之上,飞 天大规模计算系统相当于Windows中的内核,负责管理集群系 统资源、控制分布式程序运行、隐藏下层故障恢复和数据冗余 等细节、有效地提供弹性计算和负载均衡的服务;开放存储服 务(OSS)、开放结构化数据服务(OTS)和开放数据处理服务 (ODPS)类似于Windows API,提供了方便的进行大规模数据的 存储、查询和处理服务;在这之上的Cloud Engine为第三方云应 用提供了弹性、低成本的运行环境,帮助开发者简化云应用的构 建和部署;在互联网基础应用的层面,如同Windows自带记事本 和画笔,阿里云OS自带了搜索、邮箱和地图的服务。 这样的体系结构可以有效并广泛地支持各种互联网的应用,并 以数据为中心的云计算 文 / 林晨曦 ——阿里云OS浅谈 阿里云-最终.indd 5 2012-1-12 13:14:56 66 架构Architecture 且作为一个开放系统,为第三方开发者提供简易的操纵整个数 据中心计算资源的能力。在阿里云OS中,飞天大规模计算系统 是整个系统的核心技术能力,承载了从PC服务器到“数据中心” 这台超级计算机的质变。 云计算与移动互联网 随着3G时代的到来,移动互联网的兴起将带动互联网进入新 一轮的高速发展。移动设备将成为人们更方便、更广泛地接 入互联网的终端。移动的特性同时也带来了对数据收集、分 享、处理等更高规模上和实时性上的要求。因此,虽然云计 算不是为移动互联网而诞生的,却很可能在移动互联网开花 结果。为了更好地配合和利用数据中心中云计算平台提供的 计算能力,阿里云OS同时管理了移动终端上的计算资源(如 图2所示)。其中,为了帮助开发者便捷地将互联网服务接 入移动终端,使得云应用拥有和本地应用一样流畅的用户体 验,阿里云OS为开发者提供了云端和终端的资源和服务构建 统一的云应用框架。 阿里云通过构建阿里云OS来实现以数据为中心的云计算,解 决了大规模、低成本、可服务运营这三个本质的问题。同时, 阿里云OS在移动终端的努力,使用户可以用更便捷的方式来 获取互联网服务。云OS是一个费时费力的大工程,但同时也 是云计算绕不过的技术门槛。阿里云将直面平台搭建这样的 正面战场,使得云计算不再是概念,而是实实在在的工作。 图1 阿里云OS架构 图2 阿里云OS对移动终端计算资源的管理 2008年11月加入阿里集团研发院,目前是阿里云计算平台部门的资 深专家。从2008年到目前,一直从事阿里云大规模分布式系统(飞 天)的架构和开发工作。在加入阿里云之前,林晨曦曾在微软亚洲 研究院从事分布式系统、机器学习等研究工作。 林晨曦 阿里云-最终.indd 6 2012-1-12 13:14:58 7 凌云 2012. 2 正如单机操作系统的内核,在阿里云OS中,飞天大规模分布式计 算平台起到了承上启下的关键作用。飞天运行在通过网络互联的 通用服务器集群上,隐藏了海量硬件所带来的复杂度和不可靠, 向云OS的其他组件提供可信赖的的计算能力和存储能力。 具体来讲,飞天本身是一个由多个组件所构成的复杂的分布式 系统,其中的核心组件是以下两个子系统。 计算资源调度系统(又称伏羲):管理和调度集群计算资源; 在多个云服务间动态分配计算资源,以满足用户的计算需求;自 动检测服务器故障并迁移故障服务器上的服务。 分布式文件系统(又称盘古):管理集群的所有硬盘;合理地 安排数据存放位置以兼顾性能和数据安全性;自动检测磁盘故 障并复制数据以保证安全。 在实现飞天云计算平台的过程中,工程师们面临了许多技术挑 战,包括: 在不可靠硬件基础上提供高可靠的计算能力和存储能力; 提供高可用服务; 低成本运维海量硬件; 在线应用与离线应用并存; 克服节点间带宽的限制; 最大化利用计算资源,等等。 其中,不可靠的硬件是最基本的挑战。集群规模达到上千台后, 单机上的小概率事件变成了必然的、频繁发生的事件。硬盘、 硬盘控制器、CPU、内存、主板、电源等故障造成的宕机每天都 会发生。这类硬件失效故障,我们称之为“硬”故障(fail-stop故 障)。此外,还有一类故障现象不那么明显,称之为“软”故障, 例如,磁盘可访问但速度只有正常的1/10、服务器没有宕机但程 序运行缓慢、网络时好时坏等。这类“软”故障同样会影响服务 质量,因为在线服务如果执行缓慢会造成客户端超时,而对离线 作业而言,哪怕只有1%的数据处理任务缓慢,也会拖延整个数 据分析作业的完成时间。 硬、软故障发生都会对系统的可靠性甚至可用性造成不良影响, 因此如何及时有效地进行故障检测和恢复就变得比较关键。对 于硬故障的检测业界已有成熟的方案,本文第一部分只重点讨 论软故障的检测;本文的第二部分将集中探讨故障恢复策略相 关的问题;最后,我们将介绍如何在保证数据可靠的同时满足在 线应用的低延时需求。 云环境中的软故障检测 检测“软”故障有两种思路。 一种思路是针对每种具体故障设计检测方法。但“软”故障产 生的原因可能很多,例如执行缓慢可能是服务器硬件故障、网 络故障、磁盘故障、操作系统软件故障等,逐一检测会使系统 过于复杂。 另一种思路是从宏观现象来检测,下面看两个例子。 例子一:检测作业在某台服务器上执行特别缓慢的情况。 我们统计每个作业在每台服务器上的执行时间。因为输入数据 被均匀地切片,每台服务器上的执行时间应该大致相同。如果某 台服务器上执行时间超过了平均时间的三倍,它就被标记为“缓 慢”。如果各种不同作业在某台服务器上都“缓慢”,那么我们 有充分理由怀疑这台服务器有问题(但不知道原因)。调度系统 会自动把这台服务器加入黑名单,不再用它执行作业。之后再自 动或人工检查这些可疑服务器的具体故障原因。 例子二:检测磁盘读写慢的情况。 我们在分布式文件系统里也会统计每次磁盘访问的时间。如果 某块磁盘有大比率的访问时间远远超过系统平均值,那么很有 可能是这块磁盘快要发生故障了。文件系统此时会做三件事: 停止写新数据到这块磁盘,防止更多数据处于危险中; 开始为这块磁盘上的数据增加更多副本; 当这块磁盘上的所有数据都有额外的副本,就可以将它下线, 待运维处理。 大规模云计算平台的技术挑战 文 / 刘缙 朱家稷 张海勇 阿里云-最终.indd 7 2012-1-12 13:14:59 88 架构Architecture 故障自动恢复的策略 在检测到故障后,需要有自动及时的故障恢复机制。然而,故障 自动恢复机制一旦没有考虑周全就会成为一把双刃剑。让我们 从Amazon云服务那次严重的事故说起。 Amazon EC2大规模停机事件 2011年4月21日,Amazon的虚拟主机服务EC2发生大规模停机, 时间超过两天,影响波及Reddit、Foursquare、Quora等众多网站。 事后Amazon对此次事故作了详细分析(http://aws.amazon.com/ message/65648/)。 事故起因是Amazon对集群网络作日常维护升级时操作错误,网 络流量被全部切换到备用网络,导致备用网络过载。自动故障恢 复机制检测到网络不通,认为服务器大量宕机,马上开始数据复 制以替换“宕机”的服务器上的数据副本,引发了“镜像风暴” (大量服务器同时尝试创建数据镜像)。而由此增加的数据流量 更加剧了网络过载,从而使故障在集群中蔓延,进入恶性循环。 最终采取了包括暂时关闭自动故障恢复系统和增加硬件在内的多 种措施,服务于故障发生两天半以后恢复。 在此案例中,故障自动检测和恢复的策略是“在数据副本所在服 务器失去联系时,复制数据”。这一策略对“一台服务器故障” 这种小范围的常见问题很有效,然而在大范围故障如“网络过 载”的场景下,可能会起反作用。在这个案例中,如果根本没有 故障自动恢复机制,故障影响范围反而不会有那么大。 实际上,这一模式在过去的大规模分布式系统故障中反复出现: 发生了未曾预料到的、中小范围的故障 →故障自动恢复机制采取了错误的手段 →故障恶化,进入恶性循环 Amazon S3存储服务2008年的故障就仅仅是由于故障自动检测机 制的自身状态中一个bit出错,然而故障同样迅速蔓延到整个系 统,导致服务在没有发生硬件故障的情况下不可用。 对此,我们的策略是限制故障自动恢复机制的作用范围: 正常情况下,任何时候集群中都有且仅有很小比例的服务器发 生故障,此时自动恢复有效,即使无效也不会造成灾难; 如果发生(罕见的)大范围故障,明智的策略是尽量降低系统 负载,因为此时实际上已不可能靠故障自动恢复来保持服务质 量。万一此时故障自动恢复机制试图进行大量操作,并超出预设 的限制,即暂时禁止掉这部分逻辑。 以前面提到的硬盘访问变慢为例:考虑到硬盘平均日故障率小 于千分之一,我们给前述的疑似问题硬盘自动下线机制设置上 限,例如,任何时候只能通过此机制下线总数1%的硬盘。此限制 可以防止极端情况下,如大量硬盘出现问题,或者自动下线机制 本身故障时,故障恢复机制本身不会引发灾难。 数据可靠性和实时性能优化 云环境中,由于分布式系统有硬件故障多发的特点,保证数据可 靠性成为文件系统的一个挑战。 在飞天云计算平台的实际运营中发生故障最多的硬件是硬盘。 硬盘故障占阿里云数据中心故障总数的80%。原因之一是硬盘 是数量最多的部件,例如一个3000节点的集群就有30000多块硬 盘,即使硬盘本身的平均无故障工作时间(MTBF)达到1,000,000 小时,30000块硬盘也意味着平均每33小时就有一次硬盘故障发 生。实际运营数据显示硬盘厂家标称的MTBF值并不可靠,生产 环境的硬盘故障率可以几倍到几十倍于标称值。 硬盘故障最直接影响的就是盘古分布式文件系统。为了保证数 据安全性,盘古文件系统对所有的数据均采用了多份拷贝。在创 建文件时,用户可以指定文件数据的拷贝数目,文件系统会保证 数据分布在不同的节点和不同的机架上,使得单个硬件故障不 会造成数据无法访问。 多副本技术是业内广泛认可的有效防止数据丢失的技术,通常 采用流水线方式传递写需求以减轻单个节点的负载。但这会导 致数据写入的延迟增大,因为只有当所有副本都写成功后才能 结束一个写操作。 由于磁盘读写特性,上述多副本写入磁盘的延迟通常在几十毫 秒量级,有时可达100毫秒以上。云环境中的线上应用,有时会 有更高的实时性要求。盘古通过内存日志文件(in-memory redo log)来解决此问题。 内存日志文件的基本思想基于以下事实:虽然服务器因为掉电或 者宕机丢失内存数据的概率高于硬盘损坏的概率(所以在单机 系统中我们会把日志文件写入磁盘以避免内存数据丢失),但多 台服务器同时故障的概率却可以低到能够满足数据可靠性的要 求。对于实时性要求高的应用,盘古提供接口,使得数据文件进 入指定数量服务器的内存即可认为是写成功;盘古的后台线程 随后会把内存中的数据批量写入磁盘。 盘古在保证内存日志的可靠性和低延时上做了如下考虑。 保证redo log是多份拷贝的,避免单机故障造成数据损坏或丢失。 为降低写入延迟,确保redo log写入多个数据服务器内存buffer 后即返回成功,由后台工作线程保证内存数据在很短时间内持 阿里云-最终.indd 8 2012-1-12 13:15:00 9 凌云 2012. 2 久化到磁盘。 严格检测redo log数据的健康状态,并及时采取补救策略确保 数据的可靠性。 分布式系统的一个优势是对单点故障的屏蔽:数据的可靠性通 过多台服务器间的复制备份得到极大的增强。对于单机,内存数 据是易丢失的;但在多机环境下,如果能保证服务器不是同一时 间宕机,并辅以严格的策略保证,内存数据在不降低可靠性的情 况下,可以极大地提高性能。阿里云的数据中心保证了很好的硬 件隔离和冗余,并备有UPS等应急措施,为我们提供了使用内存 缓冲的良好硬件环境。 下面主要介绍我们在内存文件数据可靠性上的一些考虑。 写入内存阶段 确保多个数据服务器成功接收数据并放到内存buffer中(这点 是redo log的设计基础)。 选择数据服务器充分考虑硬件的隔离性,避免故障的关联。 在接受数据时数据服务器判断自身的健康状态: 所写的磁盘状态是正常的,并且剩余空间足够; 当前的workload状况良好,比如内存和I/O队列没有超负荷。 内存到磁盘持久化阶段 限制从内存buffer到磁盘I/O的最长时间(30秒内)。 发现写入超时后(比如磁盘异常慢或I/O请求超载),立刻通知 master服务器进行复制备份。 当发现写入异常(磁盘坏或者满等)后,立刻报警,通知master 复制。 检测与复制阶段 监测磁盘异常和后台检查数据完整性,发现异常后立刻通知 master复制。 可以看出,写入内存阶段的策略是预防措施;内存到磁盘持久化 阶段最危险,我们确保这个阶段尽可能短(保证预期性能的情 况下给出最长写入时间),并在确认出错后及时采取措施;检测 与复制阶段是典型的磁盘坏掉但保证数据不丢的策略。 小结 在设计和实现飞天云计算平台过程中,工程师们花费了大量努 力来应对海量硬件所带来的可靠性的挑战。本文叙述了部分设 计思路但远远不是全部。锤炼一个健壮的大规模分布式系统一 定需要良好的设计、精致的实现以及严格的测试。有了飞天这个 稳定可靠的云OS内核,各种丰富的云计算服务及应用便有了生 存、长大的肥沃土壤。我们随后将会介绍的各种云服务,正是运 行建立在阿里云自行研发的飞天云计算平台上。 阿里云公司计算平台部高级架构师,从事文件系统以及通信模块的 研发工作。之前担任IBM系统与技术研发中心高级软件工程师,从 事高性能计算软件研发工作,组建并领导并行文件系统中国开发团 队。在10年的IT职业生涯中,积累了丰富的大规模分布式系统的设 计、开发经验,并对操作系统、文件系统有浓厚兴趣和深入理解。 阿里云计算高级专家,负责分布式存储,主要兴趣在大规模分布式 系统的架构和实现。 2008年底加入阿里集团,专注于云计算平台的研发。目前在阿里云 数据中心计算平台部任架构师,着重于集群资源调度系统。2006年 于北京大学获得计算机硕士学位;在加入阿里之前,在微软亚洲研 究院从事大规模数据分析平台的研发工作。对分布式系统和编程语 言有浓厚兴趣。 张海勇 朱家稷 刘缙 阿里云-最终.indd 9 2012-1-12 13:15:02 1010 云服务特别专题Special 弹性计算平台 弹性计算平台是最为接近传统用户需求的云计算产品, 产品包括云服务器(虚拟化服务)和辅助的云负载均 衡。阿里云的云服务器更支持用户以API的方式来灵活 构建一个具备伸缩性的服务器架构。 ACE开发者平台 相比弹性计算平台,阿里云ACE开发者平台进一步为用 户简化了网络应用的构建和维护过程。ACE平台系统基 于云计算基础架构的网络应用程序托管环境,可根据应 用访问量和数据存储的增长自动扩展。ACE支持PHP、 Node.js等语言编写的应用程序。 开放存储服务和CDN 开放存储服务(Open Storage Service,OSS)是互联网 的云存储服务。当用户面对大量静态文件(如图片、视频 等)访问请求和数据存储时,使用OSS可以彻底解决存储 的问题,并且极大地减轻原服务器的带宽负载。使用CDN 可以进一步加快网络应用内容传递到用户端的速度。 开放结构化数据服务 开放结构化数据服务(Open Table Service,OTS)适 合存储海量的结构化数据,并且提供了高性能的访问速 度。当数据量猛增时,传统的关系型数据需要资深的 DBA才能搞定;而使用OTS,数据再怎么增长,它都自 动默默帮你搞定所有事情。这是时下热门的NoSQL在线 服务! 开放数据处理服务 想深度挖掘出海量数据(如HTTP Log)中蕴藏的价 值?开放数据处理服务(Open Data Process Service, ODPS)就是为了这个目的而存在。不用羡慕拥有几百 甚至几千台机器的大公司数据仓库平台,也不需要写 MapReduce程序,把你的结构化数据存储到ODPS中, 使用SQL语句就能完成相同的事情。 云应用平台 使用HTML5、CSS3和JavaScript就能在移动平台上开 发出用户体验优秀的移动应用?没错,云应用平台结合 了本地应用和互联网应用的优点,便于开发功能强大的 移动应用,并且还能非常容易地使用各种云服务。 体验云平台 在这些看起来很不错的服务的背后,有一个强大的大规 模分布式系统作为基础平台。这个平台里的分布式文件 系统、分布式调度系统等解决了各种各样的硬软件不可 靠问题。我们提供了一个在线环境,来试试随意杀掉一 台机器的感觉吧!不用担心,我们的分布式文件系统根 本不在乎一两台机器宕机。 阿里云服务综览 阿里云经过三年艰苦的探索与实践,参考业界的领先技术,独立开发出一套完整的云计算平台,并 初步形成了一套比较完整的开放服务。在接下来的七篇技术文章中,将多角度介绍阿里云开放平台 关键服务,希望向读者展现阿里云平台的全貌,进一步体验云计算的魅力。 1010 阿里云-最终.indd 10 2012-1-12 13:15:02 11 凌云 2012. 2 长期以来,寻找高速、稳定和便于管理的IDC环境一直是互联 网站长最头疼的问题。阿里云弹性计算平台为中国的站长和开 发者提供了一个不错的选择。作为开放平台,aliyun.com不仅 提供了面向终端用户的操作控制台,而且将弹性计算服务的各 项功能以Open API的形式对外开放,让合作伙伴或者站长可 以更加精细地控制弹性计算资源。 阿里云弹性计算平台目前提供的计算资源包括云服务器和负 载均衡。接下来,我们通过一个实例来演示如何利用平台的 Open API来构建一个具备伸缩性的服务器架构。 基本应用 准备工作:获得API权限 为了访问弹性计算平台的Open API,用户首先要注册成为 aliyun.com的开发者,获得AppKey和AppSecret。具体参见阿 里云云账号中心:https://account.aliyun.com/developer/oauth. jsp,此处不再赘述。每一个API请求必须有认证信息app_key, 否则将被视作非法访问。 API的响应内容采用统一格式,调用者可以通过指定format参 数选择返回数据的格式。目前支持的格式包括XML和JSON两 种,分别如下所示。 XML格式: JSON格式: 准备工作完成之后,我们将通过四个步骤来启动一个VM(如 图1所示)。 步骤 1:创建VM实例 在进入实战前,先简单介绍一下云数据中心的两个基本概念。 Region:相当于一个数据中心或者机房,不同的Region在物 理上隔离。 Zone:数据中心内部的不同集群,VM可以在Zone内迁移。 阿里云在北京和杭州有多个数据中心,因此,在创建VM前, 首先考虑好要把它放在哪个区域(这里假设我们选择了cn- hangzhou-dg)。 用API控制你的云端服务器 文 / 陈波 图1 启动VM的四个步骤 阿里云-最终.indd 11 2012-1-12 13:15:02 1212 云服务特别专题Special 接下来我们要考虑创建一个什么样的VM。弹性计算平台支 持目前的主流服务器操作系统,包括Windows系列、RHEL、 Debian等。Image仓库中已经预置了这些操作系统的不同镜像 版本,因此在创建一个VM实例前,可以通过query_available_ imgs接口获得可用Image的列表,并从中选择一个适合自身应 用的Image。假设此处我们选择了windows2003.32.20110520.01. vhd。 create_vm接口会根据你传入的参数创建一个VM实例,重要参 数如下。 cores:CPU核数。 mem:内存大小,单位为MB。 image_no:指定Image,例如windows2003.32.20110520.01. vhd。 请记住返回的vm_name,因为后续的API调用以vm_name为唯 一标识。 create_vm接口中有一个很特殊的参数safety_quota,表示云磁 盘的数据安全级别。当设置为0时,平台不会冗余云磁盘上的 数据,因此它的损坏率接近物理磁盘,年损坏率约为4%;当设 置为1时,云磁盘会自动将写入的每一份数据复制多份,并且 分布在不同的物理位置,确保任意一台宿主机或者交换机损坏 时VM数据都不会丢失,数据安全性达到99.999%以上。 调用示例如下: 调用返回如下: 步骤2:修改VM配置 通过默认配置生成的VM也许难以满足需求,此时可以通过 modify_vm、add_disk等接口来修改VM的CPU核数、内存大 小、网络带宽、增加磁盘等。 调用示例如下: 阿里云-最终.indd 12 2012-1-12 13:15:02 13 凌云 2012. 2 调用返回如下: 步骤3:绑定公网IP 网站服务不可缺少的是公网IP。通过query_unassigned_ips 接口可以查询未被使用的公网IP,从中选取1个,然后调用 assign_ip,就可以将公网IP绑定到VM上。 调用示例如下: 调用返回如下: 步骤4:启动VM 完成上述步骤之后,只剩下非常简单的一步:传入vm_name, 启动云服务器。在启动过程中,VM的状态历经pending、 starting,最终达到running状态。在公网IP ping通后,就可 以用终端工具连接云服务器了。Windows的终端工具一般是 Remote Desktop,Linux的终端工具一般是SSH。将来我们还会 向用户直接开放VNC带外管理的功能,让用户更彻底地控制云 服务器的生命周期。 调用示例如下: 阿里云-最终.indd 13 2012-1-12 13:15:02 1414 云服务特别专题Special 调用返回如下: 通过以上四个步骤就完成了弹性计算平台服务的基本功能调 用,是不是很简单?接下来还有更炫的功能。 高级特性 安全域 现在的IDC机房中各种病毒、木马层出不穷,常见的攻击方式 有伪造MAC、伪造IP、ARP欺骗等几种。据某黑客组织的统计 数据显示,将一台不安装防火墙软件的服务器暴露在公网上, 发现其漏洞的平均时间在72个小时左右。一旦机器被攻破,所 有业务数据都将呈现在黑客面前,系统随时可能瘫痪。 弹性计算服务在系统层面最大程度地避免了此类攻击的发 生,通过监控VM之间的流量,平台可以在第一时间阻止伪造 MAC、伪造IP、ARP欺骗等攻击。同时,我们提出了安全域的 概念。一个用户可以拥有多个安全域,默认同一安全域内的 VM网络互通,不同安全域的VM被隔离。当然,用户可以通过 自定义防火墙 规则 编码规则下载淘宝规则下载天猫规则下载麻将竞赛规则pdf麻将竞赛规则pdf 放行安全域间的流量。 初始情况下,每个用户都拥有自己的一个默认安全域。如果 有多个安全域的需求,就可以通过create_group接口来创建 新域。要把一个VM放在指定域中,必须在create_vm时指定 group_no参数。 接下来可以通过authorize_group接口将指定域的协议/端口开 放给另一个安全域或者一段公网IP。例如,你在云服务器上搭 建了一个FTP服务,但FTP协议漏洞经常被作为攻击目标,因 此你只想开放给一个固定的公网地址,此时可以通过以下参数 授权: group_no=the_ group_no&source_cidr_ip=1.2.3.4/32&ip_ protocol=tcp&port_range=21 快照与回滚 在第一部分中,我们提到create_vm时可以指定safety_quota参 数获得不同安全级别的磁盘,但99.999%的SLA只能确保云磁 盘上的当前数据不丢失,并不能保证数据本身的正确性。用户 可能误删文件,系统也可能被病毒破坏,此时大多数用户就会 回忆起Ghost等软件提供的系统还原功能。弹性计算平台现在 也提供了类似的快照服务。所不同的是,我们的快照服务可以 在不停止VM的情况下在线操作。当系统被破坏时,用户可以 通过一个API瞬间恢复到之前任意快照的状态。 创建快照很简单,调用create_snapshot传入需要做快照的vm_ name和device_no即可。当需要回滚时,调用rollback_snapshot 传入要回滚的vm_name和device_no,并传入要回滚的目标状 态snapshot_id即可。 当用户的系统崩溃、文件丢失时,快照将是一根救命稻草。 定制Image 第一部分中提到,创建VM前要先查询平台目前提供了哪些 Image。那么我们可以自己创建一个Image吗?如果可以的话, 自己定制一个Image,一下子启动100个一模一样的VM该有多 方便。 在弹性计算平台上,这是很简单的事情。平台上的任意一个 VM在任意时刻(当然,最好是安全关机状态)都可以打快 照,而每一个快照都可以通过create_image接口另存为一个 Image。接下来的事情就有趣了,每一个Image都可以派生一 大批VM,而每一个VM的快照又可以另存为新的Image…… 阿里云-最终.indd 14 2012-1-12 13:15:03 15 凌云 2012. 2 平台上的Image可见性分为如下三种。 private:私有,只有Image的创建者才可使用。 public:所有人可见、可用。 protected:受保护的,授权使用。 负载均衡服务 有一定规模的网站一般都会有多台服务器。一些统计数据反 映,一般单台服务器能承受的单日PV可达10万~300万,超过这 个数就要考虑架构的水平扩展,即用多台服务器来支撑高并发 流量。 弹性计算平台提供了所见即所得的负载均衡服务,只需要通 过几个简单的API调用,就可以为一批VM添加前端的负载均 衡服务。 query_available_vips:查询可用VIP。 assign_vip:为指定的一批VM添加负载均衡VIP。 弹性计算平台同时支持TCP和HTTP的负载均衡。 登录密钥 很多SA在管理Linux集群时都会采用一种技术——SSH KeyPair (密钥对),通过密钥对建立服务器间的通道,这样从管理机 远程登录服务器执行命令时就不再需要重复输入密码。弹性计 算平台也提供了这样的便捷性,不需要用户手工配置服务器间 的通道,只需调用create_key_pair接口生成一个密钥对,随后 在启动VM时指定key_pair_name参数即可。 平台保障 自动故障恢复 虽然云磁盘具备很高的数据安全级别,任意一块物理硬盘损坏 都不会影响VM运行,也不会导致数据丢失,但VM所在的宿主 机还是有损坏的可能;虽然CPU、主板这些部件相对硬盘损坏 的几率小很多(根据我们实际运维的数据,在千分之一到千分 之二左右),但它们发生故障时VM还是会面临宕机的风险。 当宿主机宕机时,弹性计算平台会自动监测到故障的发生,并 且立即根据一定的算法选择一台机器,让受影响的VM恢复运 行。由于云磁盘的数据安全保障,VM的硬盘数据可以恢复到 最后一刻的状态,但不保留其最后的内存和CPU执行状态。 因为故障随时可能发生,为了深夜里也能安心睡大觉,建议大 家把Web服务等应用设置为开机自运行,这样,VM被平台恢复 之后,你的应用也可以持续提供服务。 防DDOS攻击 DDOS攻击令互联网站长谈虎色变,一旦被黑客组织盯上,可 能面临几天甚至数周都开不了张的悲惨局面。国内的大多数 IDC针对此类攻击都没有特别好的解决方案,一般都是建议站 长换域名IP,或者购买更多的服务器与攻方拼资源。但这些方 案基本上都难以实施:换域名IP意味着和客户远离,购买大量 服务器则意味着巨额成本的投入。 弹性计算平台专门针对互联网应用的脆弱性提供了防DDOS攻 击服务,当攻击流量处于可清洗范围(目前是3~7GB)内时, 系统自动启动防御 流程 快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计 ,将攻击流量旁路到高端清洗设备上, 然后将正常的访问流量放行到后端的VM。当流量超过平台清 洗能力时,为了保护平台其他用户的服务不受影响,只能将受 攻击的IP屏蔽。 根据一些行业数据的统计,去年DDOS攻击的平均规模为 300MB。一般情况下,这类攻击都可以被挡在云数据中心之外。 小结 通过上面的介绍,相信大家对于阿里云弹性计算平台提供的服 务有了一定的认识。我们致力于构建一个足够开放的平台,相 信术业有专攻,相信开发者比我们更聪明、更有精力,希望大 家在这个平台上能够开发出Elasticfox这样优秀的管理工具,锻 造出GigaSpace这样具备雄厚实力的解决方案提供商。弹性计 算的明天,我们一同来创造! 阿里云-最终.indd 15 2012-1-12 13:15:03 1616 云服务特别专题Special ACE开发者平台是一个基于云计算基础架构的网络应用程序托 管环境,能帮助应用开发者简化网络应用程序的构建和维护, 并可根据应用访问量和数据存储的增长进行扩展。ACE支持 PHP、Node.js语言编写的应用程序,支持在线创建MySQL远程 数据库应用等。 目前开发一个网站已不是什么复杂的工作,但网站运维,如服 务器托管、防火墙设置、防黑客攻击等,却是很麻烦的事情。 如果网站运营得比较成功,还要重新考虑网站的架构使其能 应付快速增长的访问量。对于这些互联网创业者来说,ACE开 发者平台就很有价值。用户只需要将开发好的网站代码上传到 ACE上就可以运营这个网站,而且不需要考虑运维问题。并且 ACE能在网站访问量快速变化时,弹性增加或者减少计算资源 的分配,不需要开发者做任何处理。听起来是不是觉得运营网 站轻松了许多? 成为ACE的应用开发者 基于ACE构建应用,需要先在http://ace.aliyun.com网站上注册 一个账户。目前ACE还处于测试阶段,需要用户在页面http:// ace.aliyun.com/create/apply上申请邀请码,获得邀请码之后就 可以访问ACE网站了
本文档为【阿里云专刊】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_937405
暂无简介~
格式:pdf
大小:22MB
软件:PDF阅读器
页数:40
分类:工学
上传时间:2012-02-13
浏览量:97