Facebook用10亿美元收购Instagram,成为一时热话。但在创业的初期,在用户数目难以估计、资金和人手有限的情况下,他们如何建立出今天复杂的基建系统?最近由Instagram开发团队发表的一篇文章,披露了创业期间的一些事实。
这篇名为What Powers Instagram: Hundreds of Instances, Dozens of Technologies的文章,其实早在2011年底已经存在,只是当时Instagram未被高额收购,所以并未吸引太多注意。开发团队表示他们出了名后,其中一个最多人问及的问题,便是Instagram背后采用的是什么技术。Instagram面向用户的界面都是iOS和Android的,但背后运作的却是Linux。
Instagram背后用服务器的Linux版本是Ubuntu 11.04,并在Amazon EC2上运作。团队表示早期的Ubuntu版本在网络繁忙时仍会当机、但Ubuntu 11.04及之后的版本就没有此问题。当然除了Linux外Instagram还用了很多开源技术,包括Apache Solr、PostgreSQL、Redis和Django等等,更惊人的是在文章发布之时,管理整个Instagram系统就只有3名工程师。今天Instagram的管理团队已经增至13名成员,但以管理一个有超过1400万用户、1.5 亿张照片的网路服务来说,仍然是一个奇迹。
当然使用云端服务的点子也应记一功。过去要架设网路服务,首先就要估计用户人数和增长速度,然后去添置新的硬件、服务器和聘请人手。但当要向大众提供的是***的服务,用户数目便会变得难以估计。云端的好处是将电脑资源变成像水电一样从量计算的服务,用多少便付多少将成为未来数年的必然趋势。Instagram被收购后估计将会不再用Amazon EC2而改用Facebook的数据中心,但使用开源技术配合云端提供服务,将会是未来网路服务的大方向。
【编辑推荐】