每天推送5篇优质英文文章 · By makers, for makers

运营 1205 天, 推荐好文 5,350 篇, 原创简评 1,091,686 字, 原文总阅读时间 47,168 分钟, 153,661 人订阅

这类的文章看多了后,你会发现其实都差不多:service oriented architecture、keep it simple、horizontal scaling、database sharding等。 小公司常常要面临 "to buy or to build" 的问题:有没有现成的系统可以用?用开源还是花钱买?还是自己造轮子? 经常一个互联网公司发展的轨迹是:

  • 1) 选一堆现成的现成的免费的部件,比如文中提到的rabbit mq、celery等。当网站还没那么多traffic的时候,这些免费的东西都能扛得住。
  • 2) 不断地加新功能。试验新功能。
  • 3) 用户多了,网站扛不住了。
  • 4) 停止加新功能。动员所有工程师,稳定整个系统。比如替换掉各种复杂的免费的部件,自己从头写极其简单实用的替代品,或者重新架构,尽可能地走service oriented architecture的路。如此折腾几个月。
  • 5) 整个稳定下来了,再开始加新功能。

文章中提到,pinterest经历了长达4、5个月的feature freeze,就只是用来把数据库数据迁移到新的sharded architecture。 4、5个月的时间对于一个startup来说是相当宝贵的。小公司要竞争过大公司,就要时刻比大公司的同类产品进度超前2个月以上。 今年年初面试一个微软onenote的工程师,他很坦白地讲他们一直在追赶evernote,争取evernote出什么新功能他们也能赶上。 你没听错,这是一个来自12万人的大公司的员工,说他们在追赶一个几百人的小公司。听起来好像天方夜谭。 但,现实是,这个12万员工的大公司,他们的onenote团队才70多人(今年年初的数据)。而对于evernote来说,他们为了避免让微软追上, 动作就得快。

分享到: