虎嗅注:2010年10月,Instagram發(fā)布了第一版。在發(fā)布之初,Instagram僅支持iOS平臺(tái),在2012年4月時(shí)推出了Android版本,如今Instagram迎來(lái)了自己五歲的生日。Instagram創(chuàng)始人Mike Krieger在Medium上面發(fā)表了如下這篇文章來(lái)講述產(chǎn)品的五年之路。本文來(lái)自Medium,作者M(jìn)ike Krieger,虎嗅編譯。
在2010年,Instagram v1版本發(fā)布的前夜,我們聯(lián)合創(chuàng)始人Kevin和我打了個(gè)賭,賭在毫無(wú)營(yíng)銷手段的情況下我們發(fā)布首日的下載量會(huì)是多少。Kevin賭是2500,而我,極其樂(lè)觀地下賭25000。第二天,我都不敢相信下載量居然真的如我下注的那般。
當(dāng)我們的團(tuán)隊(duì)在過(guò)去5年中不斷成長(zhǎng)進(jìn)步,始終堅(jiān)持把簡(jiǎn)潔放在首位,并將它作為我們下一個(gè)5年計(jì)劃的核心。現(xiàn)在我想和大家分享一下在過(guò)去的5年中,Instagram創(chuàng)下的一些最具里程碑意義的事件,這里有好有壞也有驚喜。我希望這些也可以為你的團(tuán)隊(duì)和公司提供一些值得借鑒之處。
里程碑1:3個(gè)月內(nèi)收獲1百萬(wàn)用戶
里程碑背后:最大的挑戰(zhàn)
我們發(fā)布產(chǎn)品后的第一個(gè)月的工作狀態(tài)簡(jiǎn)直是一團(tuán)亂麻——服務(wù)器在凌晨3點(diǎn)彈出警告頁(yè)面是常態(tài)而非例外。在收獲了我們發(fā)布首日的25000名用戶后,我們很快就將其擴(kuò)張到了1百萬(wàn)。
這背后的驅(qū)動(dòng)力都因?yàn)槿藗儗?shí)實(shí)在在地喜歡使用我們的產(chǎn)品,我們?yōu)榱烁玫貪M足用戶不斷增長(zhǎng)的需求,必須進(jìn)入快速發(fā)展階段。我們項(xiàng)目剛起步的時(shí)候,一切運(yùn)行都僅依靠一臺(tái)位于洛杉磯的服務(wù)器,運(yùn)算能力還不如一部Macbook Pro。鑒于產(chǎn)品發(fā)布第一天的戰(zhàn)績(jī),我們馬上向托管提供商請(qǐng)求了另外一臺(tái)服務(wù)器,但他們要求一個(gè)為期4天的周轉(zhuǎn)期,如果我們很急的話,2天也可。但考慮到我們用戶數(shù)的驚人增速,我們最終決定使用亞馬遜的Amazon Web Services云服務(wù)。
由于我們團(tuán)隊(duì)沒(méi)人有過(guò)很深厚的基礎(chǔ)構(gòu)架經(jīng)驗(yàn),只能盡可能地汲取所能接觸到的一切知識(shí)。我們看了QCon(譯者注:軟件開(kāi)發(fā)大會(huì))和Velocity的會(huì)議視頻,也看了很多發(fā)表在Facebook、Netflix和Twitter等媒體平臺(tái)上的優(yōu)秀文章。不僅如此,我們還將這些成長(zhǎng)和學(xué)習(xí)心得寫成了工程日記發(fā)表出來(lái),我認(rèn)為將產(chǎn)品技術(shù)開(kāi)放是公司做得最棒的事情之一。
干貨拿走:我們的目標(biāo)是—— “簡(jiǎn)潔至上”,這是在最初幾周到幾個(gè)月就確立的。因?yàn)楫?dāng)時(shí)團(tuán)隊(duì)只有我們兩個(gè)人,所以我們面對(duì)每個(gè)新挑戰(zhàn)時(shí)都不得不作出最快最簡(jiǎn)的選擇。如果每做一件事都要先證明其可行性的話,我們可能會(huì)陷入無(wú)事可為的窘境吧。確定下來(lái)首要解決的問(wèn)題,然后再選擇最簡(jiǎn)單的解決方案,就這樣我們創(chuàng)造了用戶的指數(shù)級(jí)增長(zhǎng)。
里程碑2:發(fā)布安卓版
里程碑背后:最受期待的產(chǎn)品發(fā)布
我們發(fā)布Instagram的頭兩年,Kevin和我每次在公眾面前都會(huì)被問(wèn)到同一個(gè)問(wèn)題: “什么時(shí)候會(huì)有安卓版本啊?”
我們最初只做iOS版本是因?yàn)槲覀兿Ma(chǎn)品能夠進(jìn)行快速的迭代,畢竟我們只有兩名工程師。但進(jìn)入2012年后,我們認(rèn)為這是向多平臺(tái)擴(kuò)展的時(shí)機(jī)了。延續(xù)了Instagram的簡(jiǎn)潔行事風(fēng)格,安卓版app由三名工程師用三個(gè)月的時(shí)間就搭建完成了。這三名工程師中,Philip曾負(fù)責(zé)Gowalla安卓版開(kāi)發(fā),如今領(lǐng)導(dǎo)著Instagram移動(dòng)端的業(yè)務(wù),另外兩名工程師是安卓開(kāi)發(fā)新手,師承Philip。
這次,我的角色之一變成了 “專業(yè)的eBay買家”,因?yàn)槲覀兿朐诒M可能多的設(shè)備上測(cè)試我們的app,甚至包括什么 “華為M865 Ascend II 2 Touch”之類的。那段時(shí)間,我們幾乎都在做開(kāi)封新手機(jī)、安裝app,再為運(yùn)行效果而驚訝的事情。由于安卓設(shè)備眾多,這為我們帶來(lái)了不小的挑戰(zhàn),尤其是當(dāng)我們搭建Instagram Video的時(shí)候。但是當(dāng)我們看到app可以在不同的設(shè)備上順利運(yùn)行時(shí)還是十分振奮的。
安卓版發(fā)布的頭12個(gè)小時(shí),我們就收獲了超過(guò)100萬(wàn)的用戶,完全出乎了我們的意料。照例,當(dāng)時(shí)我也寫了一些搭建基礎(chǔ)構(gòu)架時(shí)的心得。,我們的安卓版app不斷完善,更加適應(yīng)安卓平臺(tái),如今,它已經(jīng)成為安卓平臺(tái)上發(fā)展最快、排名最好的app之一。
干貨拿走:始于單平臺(tái)發(fā)展讓我們更加專注,迭代更快,因?yàn)橐磺泄δ懿槐貙?shí)現(xiàn)兩遍(在Instagram內(nèi)部我們經(jīng)常說(shuō)“少做則好”)。當(dāng)向多平臺(tái)發(fā)展那天到來(lái)的時(shí)候,我們創(chuàng)建了一個(gè)由資深安卓開(kāi)發(fā)師和兩個(gè)安卓開(kāi)發(fā)新人組成的小團(tuán)隊(duì)。一段時(shí)間后,我們就有了成熟的安卓團(tuán)隊(duì),可以讓我們的app與安卓平臺(tái)更加契合。
里程碑3號(hào):度過(guò)了2012年的維吉尼亞風(fēng)暴
里程碑背后:最嚴(yán)重的停電事故
2012年,當(dāng)我正在波特蘭享受著我的三天小長(zhǎng)假時(shí),手機(jī)收到一條消息: “Instagram掛掉了”。我立刻上網(wǎng)確認(rèn)了這個(gè)消息,同時(shí)了解到受停電事件波及的不止Instagram,還有Netflix等。然后我火速回到了酒店,打開(kāi)筆記本,卻在亞馬遜云服務(wù)器上得到了一個(gè)令人絕望的消息: “此次斷電故障范圍為美國(guó)東部”。這是發(fā)生在整個(gè)維吉尼亞州的巨型風(fēng)暴,這場(chǎng)風(fēng)暴導(dǎo)致了我們半數(shù)的設(shè)備斷電。那之后的36小時(shí),我們開(kāi)始了對(duì)整個(gè)基礎(chǔ)框架的瘋狂重建。當(dāng)時(shí)只有下面這張圖能給我一絲力量:
(Instagram掛了,你就口述一下你中午飯就行了。)
那時(shí)候,我們整個(gè)后端團(tuán)隊(duì)只有我、Shayne(Instagram團(tuán)隊(duì)的首位工程師)和Rick(只加入了Instagram團(tuán)隊(duì)不到一個(gè)月)組成。幸好事故沒(méi)有造成任何用戶數(shù)據(jù)丟失,但這次停電事件暴露了我們基礎(chǔ)構(gòu)架無(wú)法自動(dòng)化的弱點(diǎn)。
它我們敲響了警鐘,我們需要更可復(fù)制的服務(wù)器配置過(guò)程。在那之后的一年里,我們把服務(wù)從脆弱的Shell Scripts轉(zhuǎn)為了Chef系統(tǒng),也有效降低了團(tuán)隊(duì)新成員熟悉我們框架的成本。
同時(shí)我們也解決了對(duì)存儲(chǔ)在亞馬遜Elastic Block Storage上的數(shù)據(jù)備份的過(guò)度依賴,取而代之的是使用WAL-E和Postgre的WAL的復(fù)制機(jī)制。
干貨拿走:擁有一個(gè)可編寫腳本的基礎(chǔ)框架需要很多前期工作,但一旦建成,這對(duì)于新工程師們是極其有利的,能夠有效為災(zāi)難性復(fù)原提供幫助。另外,我很慶幸我們雇傭了很優(yōu)秀的工程師團(tuán)隊(duì),當(dāng)我們?cè)庥鰺o(wú)法想象的情景時(shí),Shayne和Rick可以立刻圈起袖子為修復(fù)系統(tǒng)而全力以赴。
里程碑4:Instagram的服務(wù)器遷移
里程碑背后:最雄心壯志的工程項(xiàng)目
Instagram用戶數(shù):
2010年10月5日:0用戶
2010年10月6日:25000名用戶
2010年11月:1百萬(wàn)用戶
2012年:3000萬(wàn)用戶
2013年:2億用戶
到2013年,我們已有2億月活躍用戶和超過(guò)200億張圖片信息。我們的團(tuán)隊(duì)雖小但在不斷成長(zhǎng),也為Instagram的不斷成長(zhǎng)而激動(dòng)。
一直以來(lái),我們都在尋找與Facebook后端系統(tǒng)整合的可能,比如他們的Site Instegrity(譯者注:Facebook的anti-spam系統(tǒng))系統(tǒng)就有效地幫我們解決了垃圾郵件問(wèn)題。但這些整合很難在亞馬遜服務(wù)器上完成,而且時(shí)間越久就越難將Instagram的基礎(chǔ)框架遷移到Facebook上。
干貨拿走:不要白費(fèi)力氣做重復(fù)工作。把Instagram轉(zhuǎn)移到Facebook的服務(wù)器上可以使我們的基礎(chǔ)架構(gòu)更加高效,同時(shí)也能夠?qū)acebook的工具利用起來(lái),比如那個(gè)反垃圾郵件工具等。我們能夠在保持產(chǎn)品精小的同時(shí)利用Facebook的資源和心得,使成長(zhǎng)更快。
里程碑5:Instagram的趨勢(shì)標(biāo)簽
里程碑背后:產(chǎn)品的下一個(gè)大賭注
今年初,我們修整了“搜索與發(fā)現(xiàn)”功能,讓用戶更容易發(fā)現(xiàn)時(shí)下發(fā)生在Instagram上最有趣的事情。我們還推出了熱門標(biāo)簽和地點(diǎn),并搭建了全新的系統(tǒng)用以用戶識(shí)別、排序和推送Instagram上面最優(yōu)質(zhì)的內(nèi)容。
我們推出“趨勢(shì)”這一功能最早要追述到2010年Instagram剛發(fā)布時(shí),當(dāng)時(shí)我們做了一個(gè)名為“Popular”的頁(yè)面。這個(gè)算法非常簡(jiǎn)單:就是根據(jù)每張照片的點(diǎn)贊數(shù)目進(jìn)行圖片推薦,發(fā)布4小時(shí)之后的照片則會(huì)從推薦頁(yè)面上撤下來(lái)。這個(gè)方法在Instagram用戶數(shù)少時(shí)非常有效,但久而久之,我們意識(shí)到我們需要更加細(xì)致的算法去發(fā)現(xiàn)趨勢(shì)性照片。
隨著用戶數(shù)擴(kuò)大,我們?cè)?014年時(shí)推出了個(gè)性化的“發(fā)現(xiàn)”功能,為每個(gè)用戶推送可無(wú)限刷新的照片和視頻內(nèi)容。短短幾個(gè)月,用戶與內(nèi)容的互動(dòng)量就有之前非個(gè)性推送時(shí)的5倍。今年,我們重新關(guān)注了最初的Popular頁(yè)面,做成了像是整個(gè)Instagram熱門一覽,整合成為“趨勢(shì)”產(chǎn)品。隨著排序算法和機(jī)器學(xué)習(xí)專家的加入,我們已經(jīng)能夠使用最先進(jìn)的趨勢(shì)算法去發(fā)現(xiàn)社區(qū)里發(fā)生的事件。
干貨拿走:簡(jiǎn)潔為先并不意味著你的解決方案會(huì)永遠(yuǎn)奏效。我們要開(kāi)放性地發(fā)展產(chǎn)品,確立明確的團(tuán)隊(duì)目標(biāo),快速地發(fā)展用戶群。
過(guò)去5年,我們的成長(zhǎng)速度像飆車般瘋狂,我很開(kāi)心能夠在我們生日之際進(jìn)行這樣的暫停和反思。我相信隨著用戶的不斷增長(zhǎng),產(chǎn)品的不斷發(fā)展,當(dāng)我在Medium上發(fā)表 “回顧過(guò)去的10年”時(shí),我將沒(méi)有遺憾。現(xiàn)在,讓我們邁向下一個(gè)五年吧。