写点什么

阿里云计算资深总监唐洪谈飞天现状以及 5K 项目发展

  • 2013-10-31
  • 本文字数:3453 字

    阅读完需:约 11 分钟

2013 年 8 月,历时 4 个月,阿里集团涵括云梯 1 空间优化与跨机房集群扩展、以及云梯 2 单集群规模从 1500 台升级到 5000 台,同时实现跨集群扩展的 5K 项目顺利取得阶段性成果。

阿里云开发者大会上,我们就飞天的发展现状和这次5K 项目取得的突破采访了阿里云计算资深总监唐洪。

InfoQ:现在飞天的整体规模是怎样的?有多少数据中心部署了飞天?

唐洪:大概有几十个数据中心,差不多每个阿里巴巴集团的数据中心里面都会有我们自己部署的飞天集群,单集群的规模也已经到了 5000 台。整个飞天我们从 2008 年做了 5 年的时间,可以看到集团使用基于飞天云平台的比例越来越重,基本上所有阿里集团重量级的应用都会用到阿里云。其他部门没有精确的统计过,比如说大的数据处理方面,我觉得云平台的比例超过一半以上。

我们以前有内部有个说法,叫云梯 1,云梯 2。云梯 1 是基于开源系统搭建的,是飞天没有完全成熟之前的云梯过渡阶段,现在使用的资源已经小于飞天的资源。

InfoQ:飞天现在每年版本的更新状况。

唐洪:其实很难界定,版本的概念是传统软件的一种概念,我们的版本首先是作为一个操作系统,以服务化的方式来提供的,比如说现场发现一个 bug 我们马上就更新了。我们一般一年一到两次这样大的升级,但是外界用户一般是看不到的。

InfoQ:我看到网上有一些评测,阿里云 IO 速度有些慢,我不知道您是怎么看的?

唐洪:有一种是一些竞争对手的评测,他们从不同的角度来做类似于苹果和橘子的比较。其实对一个系统的设定,每个人的取舍不同,比如系统性能的稳定性、数据的可靠性等,大家关注的方面显然不太一样,因此性能快慢也是相对来说的,对于绝大多数的用户来说,不是追求极致的把一个硬盘的性能压到极致,而是要降低他的运维 IT 的负载、降低他的硬件购置的成本。所以我们没有追求单个虚拟机能够做到多快多快的性能。我们追求在一个合理的,在一个比较好的性能的范围内,提供好的性价比。第三类是碰到一些客户的问题,所谓 IO 的问题其实是一些我们系统设计里边碰到的比较有挑战性的问题,可以认为是个 bug,也就是说它的平均的性能满足期望,但是偶尔性能可能会导致整个系统不响应,我们 2012 年开始花了很大的精力在解决这样的问题,我们从工单的角度来看这方面的问题是解决差不多了。

InfoQ:阿里云基础设施,如防断电、防不可抗的自然灾害等有没有优越于其他服务商的?

唐洪:第一,在阿里巴巴,我们维护淘宝总站的团队和维护阿里云是一个团队,所以在国内是屈指可数的几家公司运营这么大的网站。第二个, 从硬件角度来说防断电,我们设有几级的保护措施,比如我们在每一个机房会有柴油机发电机,当它断电之后柴油发电机可以切换进来,确保它有足够多的能量供给 72 小时临时供电。我们会有一个 UPS,断电以后 UPS 切换进来,然后是发电机发动起来,我们会收到报警把一些非关键性的功能关掉。延长整个数据中心的使用时间。另外一方面从软件层,比如杭州前一阵发大水,如果时间再久一点,可能是连柴油机都顶不上了情况下、甚至网络隔绝的情况下,我们的云服务器会提供异地架构的方案,但是需要客户去做一些配合,比如说你可以在两个不同的数据中心购买我们的云服务器,这样发生故障的话你可以切换到另一个那边去,这是无状态的东西。还有有状态的,比如 OSS、OTS 这些服务,我们会做异地的同步,应该都还没有发布,但是对重点客户我们在做测试,今年或者明年会提供这些东西。

InfoQ:你们在研制飞天的时候,硬件研发到了什么样的阶段?目前飞天面临的最大的挑战是什么?

唐洪:飞天作为一个通用的计算服务,已经标准化硬件,所有的飞天集群机型都是差不多的,比较通用型的带 CPU、带内存,有些云服务比如说针对存储型的,全部用的 SSD 的硬盘,相对来说有比较好的耦合。

对于挑战来说,当你把一个服务从企业内部的人群变成了互联网人群的话,首先要考虑的是安全的问题,企业审核的流程,可以做到一些控制,如果放在公共的互联网上,任何人可以到 5K 上,他们的作业是并行跑的,安全首先是非常非常大的挑战,我们是做了很多的工作。

其次企业用户和互联网的量级是不一样的,企业用户数以百计,互联网用户数以千计、数以万计,在整个架构上用户管理上有不一样的大的架构。很多美国的互联网公司也基于 hadoop 做了很多的东西,为什么从来没有公司可以把 hadoop 这种能力作为功能服务弄出去?这个本身需要做很大的工作才有可能变成一个公共服务的。

InfoQ:云服务对外界的市场的比例多少?

唐洪:没有数过多少机器用于对内服务,多少机器用于对外服务,我猜想差不多一半的样子,比如数据形态的大规模数据的处理,对内服务多一些,对于长尾的,比如对于移动应用端的东西可能对外的多一些。

InfoQ:我们了解到飞天实现了 5000 节点的单集群,我想问一下单集群有什么好处,双集群又有什么好处。

唐洪:飞天在单个集群里面,可以说是透明。单个应用,通常来说只能用到一个集群里面的资源,也就是说,属于你的一个集群只有 500 台的话,你最大的规模也就只能到 500 台了。所以大集群容纳的作业也就大了。

其次是数据,当你有分多个集群的时候,在本地和远程访问的性能是不太一样的。集群大了之后,可以做的事情就更多了,承载的数据就更加容易访问。当然也不是说多集群就不可以做到这一点,因为很多的集群是用有很多小的集群来做的,包括 hadoop 也有这样的方式。通常来说,它的效率就会低一点。

InfoQ:单集群升至到 5000 台,跨集群的计算,已经是一个比较大的规模。它在国内甚至在国际上的影响是怎么样的?飞天 5K 影响力谈一下。

唐洪:这是一个技术的东西,我觉得它的影响力单单技术实现到一个东西是没有影响力的,我们今年在开发者大赛的时候,做了一个飞天 5K 的体验项目,把它的计算能力给外面的人用了,这件事情谷歌,facebook 都没有做到过的事情。一个随随便便的开发者,当他有一个需求,想要用 5000 台机器跑一个小时,做一些事情的时候,可以直接使用。

InfoQ:未来数据可能不断的往外成倍的往上翻,我相信有一天 5000 台会达到极限,那时候怎么做?

唐洪:那时候说不定是 10000 台一个集群了。正常的话,技术演进也是一个渐变的过程,我们这次大概半年的时间从 1500 扩展到 5000,3 倍的扩展,5000 到一万 2 倍的扩展,绝对数量是比较可怕的,但是相对而言就小一点的问题了。 还有就是硬件的红利:CPU 在变快、网速从千兆变成了万兆,核心交换机的容量也可以增大,某种意义上到那个时候简单的支持红利,即使集群规模在 5000 台,处理能力也会有可能翻倍的。

InfoQ:咱们是单集群 5000 台往上加,还是说再去加集群?

唐洪:单个集群到 5000 台,但是会有第二个 5000、第三个 5000,你通常说的是业务的数目增加,不是单个业务量,通常单个业务量一个 5000 台支撑可以的,这就是我们为什么要做 5000 台的量的原因。

InfoQ:咱们 5K 项目,总目标是咱们提供跨机房的服务,最终这些收益的人群,是定位在什么地方?

唐洪:某种意义上 5K 是个基础,不是根本的目标。我们把 5K 作为整个云服务的基础,一方面能提供大规模计算的能力,另外有 5K 是可以帮助我们做成本的节省,比如有些应用是 CPU,有些应用是内存,有些应用是 IO,只有池子大了我才能在几个应用之间进行互补,否则池子那么小,资源占满,其他东西跑不上来,所以 5K 可以降低运维的成本、集群数目少提高了调度的效率、削峰填谷的事情可以做的更多,这样反映在用户上面,对他们来说我们可以提供更低廉的服务,做到同样的资源。

InfoQ:前面几十个数据中心,我想知道,多大的比例部署了 5K?

唐洪:我们现在有三个集群部署了 5K。

InfoQ:您去年说飞天是谷歌 + 亚马逊的服务模式,现在跟亚马逊、谷歌比起来有什么优势?

唐洪:我们作为一个公司来说,要看产品和业务的竞争力,跟谷歌比不是非常公平的比较,因为谷歌没有在推云服务。谷歌在云那方面做的一直羞羞答答的,一直没有大踏步向前走,它其实有云服务,但我听到的小道消息的说法是有两派人,一派人觉得我们不应该做,就是谷歌不应该做这种公共云计算服务商,他觉得谷歌不应该把这种大规模计算的能力公布出去,造就他的很多的竞争对手,对它的搜索对它的广告造成危险。亚马逊的角度来说,大规模计算服务,它是没有的。对我们的优势,毕竟我们在国内对中国的云计算,或者是移动互联网的市场我们会有第一手精确的了,这样对我们产品的本地化,贴近用户的使用习惯,我们觉得可以比亚马逊做的更好。

InfoQ:您看到前面的路是怎么样的?

唐洪:道路,前景很光明,道路还是很艰苦的,马拉松才跑了 5 公里。还有很长的路,还有很多人要跑。

2013-10-31 22:364739
用户头像

发布了 89 篇内容, 共 32.2 次阅读, 收获喜欢 4 次。

关注

评论

发布
暂无评论
发现更多内容

注解式限流是如何实现的?

Java 程序员 后端

浅谈Java开发规范与开发细节(下)

Java 程序员 后端

测试用例的设计方法及案例

Java 程序员 后端

深入理解JAVA虚拟机原理之Dalvik虚拟机(三)

Java 程序员 后端

渣本Java开发小伙如何一步步成为架构师?回首看来,每一步都不容易

Java 程序员 后端

没想到-Springboot-+-Flowable-开发工作流会如此简单

Java 程序员 后端

浅谈(chain of responsibility)责任链模式

Java 程序员 后端

源码分析ElasticJob选主实现原理

Java 程序员 后端

漫谈一条SQL语句的一生

Java 程序员 后端

牛皮!华为工程师总结的Java生态知识体系面试必看笔记,太秀了

Java 程序员 后端

浅谈物联网开发最热协议—MQTT协议

Java 程序员 后端

深入理解Java String类

Java 程序员 后端

深入理解JAVA虚拟机原理之内存分配策略(二)

Java 程序员 后端

源码分析Dubbo服务消费端启动流程

Java 程序员 后端

没用过这些 VSCode 插件?怪不得写代码头疼

Java 程序员 后端

泪洒阿里,面试惜败闭关2月金九银十再战Alibaba!

Java 程序员 后端

消息发送常见错误与解决方案

Java 程序员 后端

清幽现云山,虚静出内功。阿里《Java开发手册》最新嵩山版发布

Java 程序员 后端

渣本Java开发小伙如何一步步成为架构师?回首看来,每一步都不容易(1)

Java 程序员 后端

牛批!Java集合框架面试题精华集(2020最新版),附PDF版

Java 程序员 后端

浅谈分布式事务

Java 程序员 后端

消息中间件

Java 程序员 后端

淦!阿里限产新一代微服务+K8S+容器进阶笔记,实战理论满满

Java 程序员 后端

深入学习Kafka数据消费大致流程(如何创建并使用Kafka消费者)

Java 程序员 后端

深入理解MySQL索引

Java 程序员 后端

源码分析Dubbo 泛化调用与泛化实现原理

Java 程序员 后端

泪目!跳槽太不容易了,美团4轮面试,四个小时灵魂拷问,结局我哭了!

Java 程序员 后端

深入浅出MySQL - MyISAM有趣的那些“锁”事儿

Java 程序员 后端

深入理解Java类加载器(一):Java类加载原理解析

Java 程序员 后端

深入理解什么是端口(port)

Java 程序员 后端

爱了,在GitHub超火的Java程序性能优化实战笔记,实在太香!

Java 程序员 后端

阿里云计算资深总监唐洪谈飞天现状以及5K项目发展_服务革新_水羽哲_InfoQ精选文章