当前位置: 首页 > 设计资讯 > 行业资讯 > 正文

WhatsApp怎样以50人战斗力获取9亿用户?!

2015-10-20 19511 0

WhatsApp Jan-Koum Facebook Facebook 智能手机


  属于处女座的九月注定不平凡,近日WhatsApp首席执行官Jan Koum在他的Facebook个人主页上宣布,使用这款即时通讯应用的人数已经超过了9亿人!有趣的是,WhatsApp母公司Facebook创始人兼首席执行官马克·扎克伯格很快转发了Koum的帖子,在表达对WhatsApp实现重要里程碑的同时,小扎还偷拍了Koum手握智能手机发帖的照片,并晒到了Facebook上。

  如果把时间倒回到一年前,当小扎砸下190亿美元收购WhatsApp的时候,几乎人人都觉得他疯了。可是现在看来,这绝对是一笔极有眼光的投资,因为如今全世界最受欢迎的三款互联网App全部都是Facebook的!第一款当然是我们熟知的Facebook社交网络,目前该社交网络服务用户数量已经超过了150亿人;第二个是已经从Facebook原生应用里剥离出来的即时通讯应用Facebook MeSSEnger,其用户数量已达7亿人;第三个就是WhatsApp,当然啦,严格意义上来说,WhatsApp实现了9亿用户量的“傲人战绩”,基本上和Facebook没有太多关联。

  不过,WhatsApp真正让科技圈感到震惊的是他们给我们展现了一种与众不同的互联网服务模式,人们根本无法想象,如此巨大的用户量竟然只是由那么几个人就搞定了!

  去年WhatsApp被Facebook收购时,他们的员工数量并不多,整个公司只有35名工程师,用户数量刚刚超过4.5亿。今天,他们只雇佣了50名工程师,但用户数量却翻了一番,更重要的是,就这么几个工程师几乎都是靠自己(没有外包)来维持WhatsApp应用服务有效运转的。因此,对于其他很多希望快速扩大自己用户数量的互联网服务来说,的确值得好好研究一下WhatsApp,看看他们究竟有何过人之处。

  WhatsApp很少谈论公司工程内部工作,也极少会提及运营方面的事情,因此一旦有人分享,肯定都是非常有料有价值的东西。比如近日在美国加州圣何塞市的一场活动中,WhatsApp软件工程师JamshidMahdavi就登台简要介绍了该公司的“制胜诀窍”,其中之一,就是他们使用了一款名为“Erlang”的编程语言来开发这款即时通讯应用的。虽然这个编程语言在编程社区里没那么受欢迎,但却非常适合用来开发一些有大规模用户的即时通讯应用服务,而且工程师还可以快速部署新代码。但是Mahdavi表示,WhatsApp成功的诀窍除了技术之外,更重要的是一种态度。

  Mahdavi 大约是在两年前加入WhatsApp的,彼时这家初创公司已经渡过了业务上升期,已经是一款非常成功的即时通讯应用了,但是Mahdavi发现 WhatsApp公司对软件工程的理解非常独特,首先他们使用的是非常小众的编程语言Erlang,而且操作系统使用的也是不太常见的FreeBSD,但 WhatsAPp真正厉害的地方,是他们极简的企业运营模式。“拥有如此大规模用户量的应用程序,通常需要庞大的基础机构支持,但是WhatsApp的方式却有些‘另类’,”Mahdavi说道,“WhatsApp会用最简单的方法,去解决那些他们需要解决的问题,这种方法让我脑洞大开。”

采用支持并行处理的小众编程语言

  在使用Erlang的过程中,WhatsApp同时也推动了这款编程语言的发展。Erlang具有极强的并发性,也就是说,它支持同时处理多个进程。那些需要支持大量用户彼此间通讯的互联网服务,其实就是多进程处理的现实体现,显然,类似Erlang这样的编程语言会非常有竞争力。

  另一个例子是Facebook,他们在开发反垃圾系统的时候也使用了类似的编程语言Haskell,Facebook希望利用反垃圾系统识别社交网络上的恶意软件和垃圾信息。Haskell编程语言诞生于上世纪八十年代,起初只在学术圈里使用,并没有太多普及。但是对于Facebook开发反垃圾系统而言,这款编程语言太合适不过了,因为它不仅支持处理并发进程任务,程序员还可以快速追踪到紧急任务。不仅如此,谷歌和Mozilla(火狐浏览器开发商)也尝到了小众编程语言的甜头,因为他们分别使用了两款编程语言Go 和Rust,而且效果甚佳。

  如果从本质上来说,WhatsApp已经取代了过去电信行业里的短信服务。

  正如Haskell一样,Erlang也诞生于上世纪八十年代,它是由瑞士跨国公司爱立信旗下的工程师开发的,用于电信公司设计开发软件和硬件,并构建高速固话网络。“过去,人们总是会先创造出一种编程语言,然后再去想利用这款语言可以做些什么事,但现在,工程师更青睐于为解决某个特定问题,针对性地开发一种个性化的编程语言”Erlang程序语言专家,英国人FrancescoErlang说道,“过去的网络缺乏规模性和稳定性,那时同时具备这两个属性的只有电话网络了。”

  在现代编程领域里,Erlang依然算不上是主流产品,不过在WhatsApp和其他互联网公司,比如微信和 Whisper,Erlang发挥出了自己的价值,基本上,WhatsApp取代了传统电信的短信服务,但这点和过去的电话网络又非常相似,因为 WhatsApp同时也具有“规模性和稳定性”这两大属性。

  此外,程序员使用Erlang可以快速地编写代码,速度,是现代软件开发领域里非常重要的一个条件。Erlang支持在程序中快速插入新代码,即便程序在运行时也能完成该操作。在一个代码快速迭代的时代,Erlang这种功能会非常有用。

保持极简、智能

  Erlang 主要有两个主要的缺陷,第一,Erlang编程语言的普及率并不高,因此掌握这种编程语言的程序员数量并不多;第二,由于Erlang不是主流编程语言,因此目前对于很多互联网公司开发的产品,Erlang几乎没有任何共同之处。最明显的例子就是FacebookChat App,Facebook一开始使用Erlang语言开发了这款应用,但最后,为了能够适应其他基础架构Facebook不得不使用其他语言重新开发。 “Erlang现在就像是汪洋中的一座孤岛,如果你仅仅为了去这座孤岛而建造大量船只,显然不太划算,”Jay Rarikh说道,他是Facebook现任工程副总裁。

  当然啦,WhatsApp不存在上述问题,因为他们现有的基础架构就是用 Erlang语言构建的。另外对于缺乏Erlang语言程序员的问题,Mahavi认为这不是什么大事儿。“我们的招聘策略,不是专门去看某个程序员是否掌握Erlang语言,而是去寻找最优秀、最聪明的工程师,”他说道,“我们希望员工加入WhatsApp之后,先花一周时间了解下Erlang,掌握在哪些环境下需要使用这款编程语言。如果你能够胜任,一周时间绰绰有余。”

  正是依靠这些具有极强适应力的工程师,WhatsApp获得了成功(当然这也是成功的原因之一)。有人询问Mahadvi,WhatsApp到底有什么成功的秘诀,他简单地回应说,“成功最重要的,就是要全身心投入到你需要做的工作上。不要被其他任何事情分心,很多办公室琐事都会导致你无法专注工作。”

  在WhatsApp,员工几乎从不参加会议。的确,仅有五十个工程师的公司也没有开会的必要;但这的确也是WhatsApp成功的秘诀。


222
评论区(0)
正在加载评论...
相关推荐