移动厕所?解剖Twitter 重口味的云计算

云计算
几周前,某君发了一张照片给我。这是研制中的云计算集装箱,把数据中心一整套设备放进集装箱内,实现移动式云计算数据中心。他问我,这个云计算集装箱,是不是很像移动厕所?

几周前,某君发了一张照片给我。这是研制中的云计算集装箱,把数据中心一整套设备放进集装箱内,实现移动式云计算数据中心,见图一左侧。

[[18060]]

图 1. 云计算集装箱 vs 移动厕所。

Courtesy http://i879.photobucket.com/albums/ab351/kan_deng/Cloud/vs.png

他问我,这个云计算集装箱,是不是很像移动厕所?

作为云计算工程师,我对这个类比有本能的心理抵触。

他接着说,不仅外型像,而且在本质上,云计算也与移动厕所很像。

我疑惑地看着他,很想知道那张嘴,还会说出什么雷人的话。

他问到,现在忽悠云计算的厂家很多,如何评判谁是真正的云计算?

还没等我回答,他接着说,检验云计算有四项基本原则,1. 大规模,2. 可扩展,3. 超稳定,4. 高弹性。

这里我先解释一下这四项基本原则。

1. 大规模。

截止 2010 年 4 月,Twitter 注册用户超过 1 亿,见图二。支持这么大规模的用户群,Twitter 网站的后台系统,需要大规模的计算和存储能力 [1]。

而 2010 年 10 月底,国内的新浪微博用户数,也超过了 5000 万,大有赶超 Twitter 的势头。所以,新浪微薄的网站,也需要大规模的后台系统 [2]。

图 2. Twitter 统计,2010 年 4 月 [1]。

Courtesy http://i879.photobucket.com/albums/ab351/kan_deng/Cloud/twitter-on-paper.jpg

#p#

2. 可扩展。

单单具有大规模的计算和存储能力,算不上是云计算。

从 2006 年 5 月 Twitter 上线,到 2007 年12 月,在这一年半的时间里,Twitter 用户数从 0 增长到 6.6 万。又过了一年,2008 年 12 月,Twitter 的用户数达到 5 百万 [3]。而截止 2010 年 4 月,Twitter 注册用户又增长了近 20 倍,超过 1 亿。

而新浪微博,起步虽晚,但是势头强劲。2009 年 8 月 28 日,新浪微博上线。66 天后,2009 年 11 月 2 日,新浪微博迎来了第 100 万个用户。2010 年 4 月 28 日,注册用户首次突破了千万大关。2010 年 8 月 28 日,新浪微博一周岁生日之际,注册用户数增长到 3000 万。截至 2010 年 10 月底,这一数字已经达到了 5000 万 [2]。

IT 界有句名言很给力,“在中国能办到的,在美国一定能办到。反之,不成立”。原因很简单,人口规模相差甚远,导致成长空间相差甚远。

伴随着用户数量的增长,网站的后台系统的承载能力,也必须相应增长,而且在增长的时候,不能破坏现有系统。这就是可扩展性。
 

 

图 3. Twitter 的成长历程 [4]。

Courtesy http://i879.photobucket.com/albums/ab351/kan_deng/Cloud/TwitterGrowth3.png

#p#

3. 超稳定。

仅仅具有大规模的,和可扩展的计算和存储能力,还算不上是云计算。

2009 年 4 月 26 日,Twitter 扛不住太多用户导致的流量压力,进而崩溃 [5]。此后又多次发生这样的故障。

2010 年 12 月 1 日,新浪微博注册用户突破 5000 用户后不久,新浪的后台系统也开始领教大规模的用户群,带来的洪水般的流量冲击的厉害 [6]。

要称得上云计算这个光荣称号,不仅要大规模,可扩展,还必须超稳定。向蒸不烂、煮不熟、搥不匾、炒不爆、响珰珰的一碗铜豌豆看齐。

 

图 4. Twitter 和 新浪博客崩溃

Courtesy http://i879.photobucket.com/albums/ab351/kan_deng/Cloud/Twitterfails.png

#p#

4. 高弹性。

美国的年度橄榄球决赛,绰号超级碗 (SuperBowl)。SuperBowl 在美国的收视率,相当于中国的央视春节晚会。

2008 年 2 月 3 日,星期天,该年度SuperBowl 如期举行。纽约巨人队 (Giants),对阵波士顿爱国者队 (Patriots)。这是两支实力相当的球队,决赛结果难以预料。比赛吸引了近一亿美国人观看电视实况转播。

对于Twitter 来说,可以预料的是,比赛进行过程中,Twitter 流量必然大涨。比赛越激烈,流量越高涨。但是 Twitter 无法事先预料的是,流量究竟会涨到多高,尤其是洪峰时段,流量究竟会冲到多高。

事 后统计 [7],在 SuperBowl 比赛进行中,每分钟的流量与当日平均流量相比,平均高出 40%。在比赛最激烈时,更高达 150% 以上。与一周前,2008 年1 月 27 日,一个平静的星期天的同一时段相比,流量的波动从平均 10%,上涨到 40%,最高波动从 35%,上涨到150%以上,见图五。

由此可见,Twitter 流量的波动十分可观。对于 Twitter 公司来说,如果预先购置足够的设备,以承受流量的变化,尤其是重大事件导致的洪峰流量,那么这些设备在大部分时间处于闲置状态,非常不经济。但是如果缺乏 足够的设备,那么面对重大事件,Twitter 系统有可能崩溃,造成的后果是用户流失。

怎么办?办法是变买为租。Twitter 公司自己建设的后台系统,规模无须太大,能够应付平时的平均的流量即可。同时租赁云计算平台公司的设备资源,以应付重大事件来临时,突发的洪峰流量。 Twitter 就是通过租赁第三方( Netcraft 公司) 提供的云计算资源的办法,顺利挺过了 SuperBowl 的洪峰冲击 [8]。

2011 年春节将至,新浪微博势必迎来创纪录的流量高峰。去年 2010 年央视春节晚会,收视率高达 95%,几乎每个中国家庭都在看 [9]。2011 年央视春节晚会现场直播之际,新浪微博的洪峰流量将冲到多大规模?新浪后台系统,能不能扛得住洪峰流量冲击?如果不行,新浪将租赁哪一家公司提供的云计算 服务?这些都是吊足 IT 人胃口的悬念故事。

 

图 5. 2008 年 2 月 3 日,SuperBowl 决赛导致 Twitter 洪峰

Courtesy http://i879.photobucket.com/albums/ab351/kan_deng/TweetFlood3.png

前面解释了云计算四项基本原则,1. 大规模,2. 可扩展,3. 超稳定,4. 高弹性。

#p#

5.云计算与移动厕所的相似性。

接下来继续讨论云计算与移动厕所的相似性问题。

某君说,上海世博园区内的移动厕所,见过没有?不是一字排开,而是成方阵排开。这样的厕所方阵,在世博园区内有多处。这是什么规模,算不算 ”大规模“?

并非刚开始就这么大规模,而是随着世博游客越来越多,逐渐增加了移动厕所的个数。如果有需要,还可以随时增加新的厕所单元。这算不算 ”可扩展“?

万一哪一个厕所单元坏了,就把它撤换下来,换一个能正常工作的。厕所方阵整体的正常运行,不会受到严重影响。这算不算 ”超稳定“?

世博晚上经常放烟花,演节目,这时候游客聚集于世博园中心区,厕所不够用。怎么办?傍晚时,把其它区域的移动厕所,暂时挪用到中心区,满足聚集在中心区的游客。第二天凌晨,再归还原处。这算不算 ”高弹性“?

最后,他总结到,一提到云计算,我就联想到移动厕所。

这个总结,让云计算工程师们,情何以堪?

但是想说服重口味的某君,停止这样的联想,却不容易。

如果你说,这样的比喻,伤害了云计算工程师的感情。

他多半会反问,为什么餐馆是高雅的,而厕所是卑贱的?为什么嘴巴是高雅的,而肛门是卑贱的?你是不是有器官歧视?

要阻止重口味的某君,把云计算比喻成移动厕所,最有力的办法是,理性分析并论证,这个比喻不贴切。但是这话怎么说呢?
 

【编辑推荐】

  1. 云计算背后的秘密(3)-BigTable
  2. 云计算背后的秘密(2)-GFS
  3. 云计算背后的秘密(1)-MapReduce
  4. 云计算背后的秘密(4)-Chubby
  5. 云计算背后的秘密(6)-NoSQL数据库综述
  6. 云计算背后的秘密(7)-YunTable的故事
  7. 华为云计算:狼性的崛起,还是湮灭?
  8. 2010年Oracle大事记 亮剑云计算市场

 

 

 

责任编辑:王勇 来源: 开源中国社区
相关推荐

2015-06-18 11:21:01

戴尔云计算

2010-06-21 09:08:02

Twitter宕机云计算

2013-05-21 11:19:36

BYOD技术论坛Novell

2010-08-25 09:04:54

云计算收购

2012-06-13 10:56:48

移动云计算移动信息化

2011-11-25 09:20:18

移动云云计算

2011-08-23 15:14:51

2009-07-19 15:55:08

2012-12-12 09:37:12

移动应用移动云计算云计算应用

2012-11-12 09:44:06

Windows Azu云服务PaaS

2020-05-15 09:50:11

云计算云架构、私有云

2015-08-18 11:10:01

云计算移动管理移动性

2012-07-13 09:17:26

移动云计算

2011-09-21 09:32:11

移动游戏

2011-04-07 16:53:11

2012-05-16 09:26:14

移动云服务

2013-03-22 14:51:34

云计算运维阿里云

2013-02-27 11:13:17

云计算运维阿里云开发者

2011-07-28 17:32:21

2012-04-11 09:25:21

点赞
收藏

51CTO技术栈公众号