1飞天5K项目的由来
2013年8月,历时4个月,阿里集团涵括云梯1空间优化与跨机房集群扩展、以及云梯2 单集群规模从1500台升级到5000台,同时实现跨集群扩展的5K项目顺利取得阶段性成果。世界范围内,像google、facebook这样的顶级技术型IT公司,集群的规模就是按照5000来划分的,而此前国内还没有这样的技术。借助5K项目,阿里集团取得了自身技术发展史上的一次划时代的突破!
在今年的阿里云计算大会上,阿里云资深总监唐洪接受了记者的采访,唐总提到:从某种意义上讲5K是一个基础,并不是根本的目标,我们做5K一方面是为整个云服务提供基础服务,另一方面是为广大的开发者提供大规模的计算能力。
阿里云资深总监唐洪
一个普通的开发者,当他有一个需求,想要用5000台机器,跑一个小时,做一些事情的时候。今天阿里云有这个能力提供出去,这件事情是亚马逊也没有的facebook 也没有的,谷歌没有做的事情。
那么飞天5K到底是一个什么样的项目呢。首先云梯1和云梯2都是阿里集团处理海量数据储存与计算的系统,前者底层为Hadoop,后者底层为阿里云自主研发的ODPS和飞天。
对于云梯这样的大规模分布式离线存储和计算集群来说,扩展性一直是其重中之重。如果某一天云梯集群不能通过加机器来增加存储空间和计算能力时,那么云梯将无法继续支撑集团的离线计算业务。到今年上半年,云梯遭遇了机房容量的限制。
业务规模增长迅速,预计离线计算集群将从现在的2个集群6000多台,增长到6个集群共21000台服务器,单集群规模要达到5000台,整个计算、存储、数据管理等技术都遇到极大的挑战。为了突破集群存储的瓶颈,阿里云飞天团队、集团核心系统部、集团技术保障部、CDO数据平台等多个团队紧密协作,成功实现单集群超越5000台、多集群跨机房计算,并完成集群业务的大腾挪。
2飞天5K如何应对运维上的压力
相对于这样的庞大的机房在运维方面肯定将会面临着非常严峻的挑战,不论是在软件还是硬件方面。针对于运维方面的问题唐总做出来如下回答。
在阿里巴巴,维护淘宝总站的团队与维护阿里云是同一个团队,所以在国内屈指可数的几家公司可以运用这么大的网站,这是其一。
第二,从机房硬件的角度来讲阿里云设有不同等级的保护措施,比如每一个机房都会有柴油发电机和UPS,当发生断电时,先是UPS切换进来,这时候柴油发电机开始启动,当柴油发电机切换进来之后可以保障足够72小时的临时供电。
另外在软件层面上,一旦遇到更长时间的故障,比如杭州前段时间发大水,如果时间再久一点,可能连柴油机都抗不住的情况下、甚至忘了隔绝的情况下,我们的云服务也会为用户提供很多异地架构的应急方案,这不过这些不是自动完成的,需要用户做一些配合。如果云上的是一些无状态的业务,这样在发生大规模故障时服务可以切换到另一个机房。
如果是有状态的OSS、OTS这些服务的话,我们也会为可以提供异地同步的服务,不过目前只针对重点客户进行测试,还未正式发布,今年晚些时候或者明年这些东西就会和大家见面。
如果是异地的双机房备份,用户最关系的莫过于两个机房之间的切换时间。唐总表示:如果是简单的网站服务,它的切换速度取决于DNS的切换速度,因为你知道互联网基础设施中的域名服务非常关键,相当于我们把这个域名知道这个服务器还是那个服务器,两个不同的数据中心,IP地址是不可能一样的,这里的切换时间决定了整个服务的切换时间,通常都是分钟级别。
如果是状态切换的话,就要看状态的切换时间,一般的话都是秒级的切换速度,就是在同步切换。不过这个切换动作取决于管理员的切换动作时间。
当前网络问题仍然是一个非常大的问题。唐总表示,对于飞天总体上来讲,并不是任何两个机房之间都可以实现这样的切换,我们需要非常仔细的进行考察,并且有专门的专线做宽带与配置。并且对阿里巴巴而言,这是一个自动化运维的项目,所以你需要的一个是机房的配制是标准化的,运维的流程是标准化的,所以希望整个动作尽量少,人都是要做线性动作的话,肯定是有动作上瓶颈的限制。
我们要将整个项目标准化,甚至包括整个机房的设施部署都要标准化,我们也是慢慢在改进的地方。机架要标准化,整个的机房的大概的架构都要标准化起来。
35K项目的最终受益人群
对于5K项目的定义,唐洪表示:某种意义上5K是个基础,不是根本的目标。我们做5K作为整个云服务的基础,一方面我们能提供大规模计算的能力。我们邀请了四大开发者,华大基因、澳门科技大学、上海交通大学等,邀请了他们在5K的环境做一个事情,其实没有5K大规模计算他们是不可能的。
另外有5K是可以帮助我们做成本的节省,刚才问了一个问题有了5K我们能做什么,资源调度5K最关键的是要做共享,比如有些应用是CPU,有些应用是内存,有些应用是IO,只有池子大了我才能在几个应用之间进行互补,否则池子那么小,资源占满,其他东西跑不上来,所以5K可以降低运维的成本,集群数目少,提高了调度的效率,削峰填谷的事情可以做的更多,这样反映在用户上面,对他们来说我们可以提供更低廉的服务,做到同样的资源。
并且5K并不是一个极限,那时候说不定是10000台一个集群了。因为我们从到达5000差不多攻坚项目,正常的话,技术演进也是一个渐变的过程,我们这次大概半年的时间从1500扩展到5000,乘了3,其实5000到一万才乘2。绝对数量是比较可怕的,但是相对小一点的问题了。还有硬件不停的红利,CPU在变快,网速从千兆变成了万兆,核心交换机的容量也可以增大,某种意义上到那个时候简单的支持红利,即使集群规模在5000台,处理能力也会有可能翻倍的。
当一个12万核的计算能力、100多PB的硬盘、500T内存5000节点单集群,公开对开发者体验使用意味着什么?
意味着作为一名开发者,你将不受基础设施的局限,它可以帮你做以前不能做的规模,以前不能做的事情;意味着1个人可以做一群人才能做的事情,意味着小公司可以做一家大公司才可以做的事情……
飞天将5000台服务器连接成为一台超级计算机,而这台超级计算机的计算能力就看你如何使用。这是世界上首次对开发者公开使用5000节点单集群的一次尝试,以前没有,将来是否会再次发生也未可知。如果没有参与,你将很难想象5000节点单集群的计算能够带来什么样的想象空间。