# 解剖 Facebook 【3】Facebook，好想有朵云

- 作者：邓侃
- 发布时间：2010-11-29 15:45
- 原文：https://www.ifanr.com/26428

了解高科技公司的发展战略，通常有三个信息来源，1. 新闻，2. 财报，3. 产品介绍。

1\. 新闻往往捕风捉影，鱼龙混杂，做参考可以，但是可信度不高。

2\. 在美国上市的公司都有公开的财报，例如 Apple 公司的历年所有财报，都可以在这里 \[1\] 找到。 上市公司的财报，直接影响到公司股价。所以上市公司写财报，通常比较用心，可信度较高。

按照美国证监会（SEC）的规定，每家上市公司必写的财报种类很多，其中 10-Q 和 10-K 分别是公司季度财报，和年度财报。季度和年度财报中，不仅有公司当前经营情况的汇报，而且通常会有专门的章节，如 “Management’s Discussion and Analysis of Financial Condition and Results of Operations”，专门讲述公司决策者，对于当前形势的分析，以及未来发展战略的规划。

虽然在有些公司的财报里，这方面的章节刻意措辞含混，但是至少可以了解，公司高层领导在关注哪些问题。股神巴菲特就很喜欢研读各个公司的财报，巴菲特前儿媳写过一本小册子，总结了巴菲特读财报的方法 \[2\]。

3\. 产品具有延续性，分析现有产品的功能和性能，可以了解未来产品的走向，据此推断公司的发展战略。对于以网站为主要产品形式的信息企业来说，关键是研究其网站的系统架构。

Facebook 的 Director of Engineering，Aditya Agarwal，在 2008 年和 2010 年，在 QCon 国际会议上的两篇演讲 \[3,4\]，谈及 Facebook 的系统架构，见图一。

![](https://lh3.googleusercontent.com/RAKgZ4R_6zAAFZUVlTo1lAIB6ZBLQSHWUp824W7mSisYANojLNmXX7cJVhfL87gxWAxXWnNDMkjCjE_cIGGPnGrUPx_wOfKgYDJ-8Rb1EHASoAexrA)

图一. Facebook 的系统架构  
 Courtesy http://i879.photobucket.com/albums/ab351/kan\_deng/Cloud/FacebookArchitecture.png

由此可见，目前 Facebook 的系统架构，类似于早期 Yahoo! 的系统架构。作为门户，Yahoo! 是一大堆各色服务的汇集，包括新闻，财经，求职，Email 等等。Yahoo! 内部把每个服务称为 “部落”，每个部落自成一体，有各自的酋长， Yahoo! CEO 杨致远自称是大统领。

国内的门户网站，如新浪和搜狐，它们的系统架构大多也与 Yahoo! 的类似。

部落式的系统架构，有什么问题呢？

澳拜客（Outback Steakhouse）是一家全球连锁牛排餐厅，北京有两家分店，在王府井和工体院内，口味地道。澳拜客的正餐前的开胃菜，开花洋葱（Bloomin’ Onion），很受顾客青睐。

去年，澳拜客决定通过 Facebook 发放优惠券，以免费 ”开花洋葱“ 为号召，吸引顾客。促销活动从 2009 年 11 月 5 日开始，原订计划是做 30 天的活动，吸引 50 万顾客。

Facebook 的传染性果然威力惊人，活动开始后仅仅一周，就已经吸引了超过 20 万顾客，仅仅 18 天，就圆满完成了吸引 50 万顾客的任务 \[5\]。

对于 Facebook 来说，这不仅是一次赢利机会，而且也是一次绝好的宣传机会，今后可以举一反三，向其它商家推荐这种促销方式。但是 Facebook 没赚到什么钱，洋洋得意的，却是微软 \[6\]。

![](https://lh3.googleusercontent.com/o5dl774nTsLHFAihSuNDDZkenzpWPXF8jYbNtLFAC2bKED9MOeyRGkoQypS77p04gKAMAGt_1Zcm2uDfqLBvVhe5PJlk2VcMOGFAMiHencwNVfu7bw)

图二. 澳拜客（Outback）在 Facebook 上的 ”开花洋葱“ 优惠券  
 Courtesy http://i879.photobucket.com/albums/ab351/kan\_deng/OutbackBloominOnion.png

澳拜客的强项是烧菜，所以澳拜客的市场部把网络促销的实现工作，外包给了一家名叫 Thuzi 的公司。Thuzi 的 CTO 认为，由于难以事先预料促销活动开始以后，会有多少顾客会光顾澳拜客的主页。流量难以预测，所以无法预先确定需要多少台服务器。合理的解决方案，是租赁云计算平台，根据实时流量，即时动态地分配服务器。多用多付钱，少用少付钱。

Thuzi 接到澳拜客的项目，是 2009 年 9 月的事儿，这时离促销开始的 11 月，只有两个月的时间。Thuzi 先是考虑租赁 Amazon 的云计算平台，但是开发工作量太大。又考虑了 Google 的云计算平台，但是使用太复杂。最后 Thuzi 选择了微软的 Azure 云计算平台，结果圆满完成任务 \[6\]。

在可见的未来，类似澳拜客这样的促销活动，将越来越多。Facebook 急需建设自己的云计算平台，而且还必须易学易用，把两个月的开发周期，最好降低到几天，甚至几个小时。

因为没有云，Facebook 丢了商机。而且丢掉的，不仅仅是市场促销活动这一类商机。

有个制作视频的服务，Animoto，在 Facebook 登台亮相之初，宾客盈门。Animoto 后台服务器在三天内，需求量从 40 台一下子猛增到 5000 台。热闹了一阵子以后，宾客热情消退，门可罗雀，根本用不了 5000 服务器。

如果在用户人数大增时，Animoto 不迅速增加后台服务器的数量，用户无法正常使用该服务，失去的是市场。但是用户人数大跌以后，这 5000 台服务器闲置，又造成对现金流的无意义的侵蚀。

所幸的是，Animoto 当初没有自己购置服务器，而是租用了 Amazon EC2 云计算服务，一场左右两难的惊悚，被云计算服务化解于无形 \[7,8\]。

Facebook 平台上，有 55 万个这样的服务。假如 Facebook 有自己的云，租赁云计算这笔大生意，就不至于落入 Amazon 和微软之手。

![](https://lh5.googleusercontent.com/ZxHPF9DXnA0KIVp7qbksOyQIN2bcKPX87KoHnoyTzlBCNkVEF6EpjwFwdvh4SOfNM27W5q4sXe0U8aQVOwVIEQQvQd8zZAex7Dmoh0CIKQfvRRPskg)

图三. Animoto 租用 Amazon 云计算服务  
 Courtesy http://i879.photobucket.com/albums/ab351/kan\_deng/Cloud/AnimotoandCloud.png

从这两个例子中，我们看到 “部落式” 的系统架构存在的一个问题。由于各个部落自成一体，不共享资源，造成各部落平时资源冗余，高峰时却又疲于应付。

无法实时地弹性地分配资源，这只是部落式系统架构存在的，诸多隐患中的一个。

业界经常把 Yahoo! 部落式系统架构，形象地称为 “烟囱”。烟囱式系统架构，虽然存在很多问题，但是技术门槛低，各部落各司其职，责任分明。从历史上看，曾经助力 Yahoo! 等等门户网站，迅速走向市场，这是烟囱的历史功绩。

但是随着时代的发展，传统的烟囱，解决不了新需求新问题。新需求新问题，需要云计算这个新技术。

Facebook 不是不明白这个道理，它正在逐步构筑自己的云计算平台。

Reference

\[1\] Apple SEC Filings.   
 <http://finance.yahoo.com/q/sec?s=AAPL+SEC+Filings>  
 \[2\] Warren Buffett and the Interpretation of Financial Statements  
 <http://www.amazon.com/Warren-Buffett-Interpretation-Financial-Statements/dp/1416573186>  
 \[3\] Facebook: Science and the Social Graph  
 <http://www.infoq.com/presentations/Facebook-Software-Stack>  
 \[4\] Scale at Facebook.  
 <http://www.infoq.com/presentations/Scale-at-Facebook>  
 \[5\] Facebook + Cloud Computing = A Perfect Marriage for Social Media Marketing?  
 <http://blogs.msdn.com/b/ingitaraj/archive/2010/03/29/facebook-cloud-computing-is-this-the-perfect-marriage-for-social-media-marketing.aspx>  
 \[6\] Microsoft Case Studies: Outback Steakhouse.  
 [http://www.microsoft.com/casestudies/Case\_Study\_Detail.aspx?CaseStudyID=4000005861](http://www.microsoft.com/casestudies/Case_Study_Detail.aspx?CaseStudyID=4000005861)  
 \[7\] Above the Clouds: A Berkeley View of Cloud Computing  
 <http://www.eecs.berkeley.edu/Pubs/TechRpts/2009/EECS-2009-28.pdf>  
 \[8\] Animoto ramped up in the cloud.  
 [http://www.informationweek.com/blog/main/archives/2009/01/behind\_the\_musi.html](http://www.informationweek.com/blog/main/archives/2009/01/behind_the_musi.html)
