困知,勉行—阿里云服务观

阿里云官方 · 发布于 2014-12-10 16:49:06 · 最后由 阿里云官方 回复于 2014-12-10 16:49:06
370

文 / 郭雪梅

虽然道歉无法弥补给大家带来的麻烦,但是,我们可以用更快的访问速度,更好的用户体验,更贴心的体验去弥补,虽然故障的事实无法改变,但我们的努力可以创造更少故障的未来!----杜勇《进步集》

2014年10月15日,北京飞往杭州的飞机上,绝大多数乘客都是中国的一线开发者。他们和我的目标一样,向着同一个地方:杭州转塘,参加2014阿里云开发者大会。安静的路途中,不时能听到关于创业、产品、技术、实践的轻声讨论。我的脑海中盘旋的也是与多位2014阿里云开发者大会的演讲嘉宾沟通时提到的阿里云近期发布的新技术和他们极有代表性的实践建议。有意思的是,无论是普通参会者还是演讲嘉宾,大家都很少提到云服务。

确实,自2013年5月大掌门与阿里云和解等事件之际,王坚博士带领阿里云团队与出现问题的客户深入沟通、听取客户的问题与建议,直接敦促提升服务质量以来,阿里云的服务口碑有了极大提升。今年,我们也曾深入走访阿里云,感受到了其极为强大的服务措施和实施目标。但即使这样,我也没能预料到服务在阿里云未来发展规划中是如此重要――10月16日飞天大会场的主题是“服务不是口号,是承诺!”

是的,“服务”是2014阿里云开发者大会最为重要的主题词。10月16日,面对现场8000余位开发者,阿里云技术领军者飞天负责人唐洪、技术保障负责人刘振飞、产品负责人张东晖直面阿里云在服务上出现的问题,并分别从技术、运维安全保障、产品等维度坦率地讲述发生问题的原因所在,以及阿里云将如何通过种种努力来落实对客户的服务承诺。坐在旁边的一位移动开发者激动地对我说:“没说大话,说了实话。我们能理解并尊重阿里云的努力,大家都期待以后能更好。”

飞天:云计算是一门实践科学,自研路上关键技术挑战

飞天是阿里云自主研发的核心系统,是真正在阿里云背后为用户提供通用云计算服务的平台。飞天系统最底层是Linux集群,没有使用任何高端的存储及服务器,其上包含多个模块:分布式文件系统盘古(Pangu),任务调度和资源管理模块伏羲(Fuxi),从底层上监视和处理导致集群性能下降的集群诊断系统华佗(Huatuo),网络连接的模块夸父(Kuafu),监控系统神农(Shennong),集群部署大禹(Dayu)和安全管理,其上承载ODPS、ECS/SLB、OSS、OTS、RDS等云计算产品,并通过服务的方式对外输出云计算能力。

飞天的研发路程注定不会平坦,在自主研发的路上,没有成功的经验可以借鉴。在阿里云资深总监唐洪看来,“云计算是课本上学不到的,就靠分析一张张工单,一个个事故,看到一个蓝屏和闪断等问题之后,才会明白云计算的挑战在哪里。我们唯一能做的就是努力,努力做好云计算,用200%的努力来实践。”

阿里云的飞天平台从第一行代码开始,到支持超过百万云上客户的业务,发展到今天,仍然面临很多挑战,而这些挑战也是唐洪带领的飞天团队正在努力去解决的。分析研发中的最关键的技术挑战,唐洪认为有三点: 第一,小概率故障成为常态;第二,怎么样能够降低人在服务链条里面的负作用;第三,解决多租户下性能影响的问题。

■ 小概率故障成为常态:分布式计算集群里面有成千上万台,几十万台甚至上百万台服务器,每个服务器都有很多组件,所以任何小概率事件都会被放大。如磁盘的故障,磁盘是服务里面最容易发生故障的问题,SATA磁盘的年故障率是3%,这样一来,5K机器每天坏4块,100K机器每小时坏4块。再如机器的异常,一些常见的问题有内存ECC错误、根分区只读问题等等。如果有5K机器,每天坏一台,100K机器每小时坏一台。还有网络故障,虽然比较可靠,但还会发生丢包、时断时连等故障,阿里云集群受影响时间大约是每年每集群1小时。可用性不单单是一个概率,用户受影响的程度并不能用概率或受影响的时间来衡量,如企业网盘,对这种业务类型的客户来说,从分钟到秒的距离就是生与死的界限。为此,飞天团队研发了名为“华佗”的系统模块,进行快速甄别和自动化处理,从系统层面上尽快发现并根本解决底层的故障。(详情可参阅《凌云》第4期《走近华佗,解析自动化故障处理系统背后的秘密》)。

■ 人是最薄弱的环节:在重复事件执行上,机器比人可靠,然而在当下飞天的运营环节中,还存在大量的人为因素,比如配置错误;代码修改后,操作流程没有同步更新;操作流程二义性;非常规操作流程缺少验证;人为操作失误等都会造成故障。所以,在飞天后续服务中,将进一步降低人在服务链条中的负作用。如热升级、御风项目来解决人为参与比率、工作量,提升过程中的自动化和可控性;通过搭建所有云产品的最小化测试环境“麻雀”来减少测试盲区。

■ 多租户环境的性能隔离:后台负载干扰在线服务,多种环境下性能隔离的问题从系统层面根本解决是很复杂的事情。多租户隔离可以帮助提升弹性和成本效益,但同样存在反面制约,如果平台做不到不同用户之间的隔离,一个用户的应用可能就会影响到另外的用户。比如由于快照造成ECS和I/O性能较慢的问题。所以,要实现平衡,需要对全局进行控制,如I/O进程、网络和单机的流控,此外还需要开发诸如影子拷贝等新手段来实现。

“困知,勉行”是唐洪心路历程的写照,这四个字概括了他和他的团队是如何理解客户的痛点,如何理解云计算技术,如何去做好云计算技术的。唐洪坚信:与客户一起面对挑战,用200%的努力实践。只有这样,才能做好云计算的服务。

技术保障:做可信赖的运维与安全服务

阿里集团包括阿里云、天猫、淘宝、支付宝、小贷在内的各项业务,以及近几年双十一、飞天5K等诸多奇迹的背后,阿里的技术保障部都发挥了关键性的基础支撑作用。其负责人是担任阿里巴巴集团副总裁的刘振飞,谈到服务,一向直率的振飞也有苦恼。“在我们的服务分析中,故障和Bug的占比大约占四分之一,这是我的责任。但我一直困惑的是,这些年我们将淘宝、支付宝的稳定性都能做得比较好,经过五年的双十一,这么大的活动也不会出现问题,却服务不好阿里云上看起来非常小的一个客户。”

想不明白的刘振飞查看了最近几个月的投诉单,那一瞬间,刘振飞知道了原因:云计算有数以百万计的客户,业务千差万别,产生的问题大不一样;淘宝与支付宝等阿里内部的业务活动是可预知的,能够提前预判来进行风险防范,但云平台的客户分布在各行各业,云上客户的业务高峰和低谷无法预知,应用模式无法判断;淘宝、支付宝的应用开发与内部的运维密切合作,能够各自迁就互补,但我们对云上客户的应用开发、部署一无所知。这些原因使得即使云计算平台上一个很小的客户,也能“搞得我们非常狼狈。但如果我是客户,我也会抱怨。因为确实是监控、排查工作不足”。

面对最真实的用户声音,他们选择从思想上根本转变,真正站在用户的角度思考问题。大会现场,刘振飞代表技术保障部承诺彻底解决“服务器宕机和闪断、各地访问云机房的网络质量、DDoS攻击误杀以及用户服务器安全等问题”。

■ 解决服务器宕机:从供应链的源头上控制服务器的质量;加强机房管理,形成标准的配置和标准的变更流程;当故障无法避免时,尽量将故障快速迁移。

■ 解决闪断问题:完善产品性能;做部署的优化和网络的排雷,对所有云机房进行排查,寻找隐藏的盲点进行改进,从硬件上和网络环境上减少闪断的可能。

…………

了解更多内容请到《凌云》专题:http://lingyun.aliyun.com/6/