Inside 硬塞的網路趨勢觀察

創始人 Mike Krieger 告訴你, Instagram 成功的 5 個經驗 - Inside 網路趨勢行銷與開發

Link to Inside 硬塞的網路趨勢觀察

創始人 Mike Krieger 告訴你, Instagram 成功的 5 個經驗

Posted: 01 Nov 2015 01:48 AM PST

7454346638_dacf7d6187_b(photo by Just Shireen)

本文出自Medium ,標題《War Stories,Five Years of Building Instagram》,ifanr 翻譯。

2010 年,我們推出 Instagram 第一版的前一夜,聯合創始人 Kevin 和我打賭,在沒有任何推廣的情況下,第一天會有多少人下載我們的 app 。 Kevin 猜是 2500 人,而在那個特別樂觀的瞬間,我決定把數目定高,猜測會有 25000 人。結果第二天,我都不敢相信,下載量恰好就是我所估計的數目。

如今,在我們第 5 個生日之際, Instagram 在全球已經擁有 4 億用戶,他們每天上傳 8000 萬張圖片或影片。往回看,我們在最初的產品上就實現了簡潔與精細的平衡,而在上一年,搜尋和發現功能得到更新, Instagram Direct 上線了全新界面,並且有創意小工具不斷推出,比如 Layout。

在我們團隊發展的這五年中,我們一直忠於我們的原則:先做簡單的事。而在我們的下一個五年,也會把它繼續作為核心。下面是我們在過去五年創立 Instagram 過程中的一些大的里程碑——有好的,不好的,還有令人驚喜的。我希望其中會有你可以帶走的經驗,幫助你去發展你自己的團隊和公司。

里程碑 1:3 個月內擁有 100 萬用戶

總結:最大的挑戰

在 Instagram 推出後的第一個月,情況幾乎是一片混沌 —— 凌晨三點伺服器警告頁面的出現是常態而不是例外。在第一天激增至 25000 名用戶之後,我們的用戶數繼續快速成長,直到達到 100 萬。沒有什麼刺激比人們真的想用我們的產品更強烈的了,於是我們換到了“高速檔”,確保我們可以支撐成長的需求。當我們剛開始的時候, Instagram 只在洛杉磯的一個伺服器上運行,它的運算能力比一部 Macbook Pro 還要差。在遭遇到第一天快速成長之後,我向主機服務供應商打電話,要求增加一台伺服器,他們說需要 4 天才能完成——如果我們很急的話可以縮短到 48 小時。考慮到我們的成長看起來那麼不可預測,我們決定轉移到 AWS(亞馬遜網絡服務)。

考慮到我們在基礎架構上都沒有太多的經驗,我們不得不快速地吸收盡量多的知識。 QCon 和 Velocity 上有非常好的會議影片, Facebook , NEtflix , Twitter  還有其他網站上也有很多相關文章。共享技術性想法的這種開放文化是我們這個行業最好的東西之一,也是促使我們更新技術部落格的主要因素。

可藉鑑的經驗:我們的原則——「先做簡單的事」在最開始的時候已經成型了。因為當時我們只有兩個人,因此,每一次面對新挑戰的時候,我們都需要確定一個最快速,最簡單的解決辦法。如果當時我們對一切事情都作長遠考慮,那麼我們可能會因為什麼也做不了而癱瘓。選擇最重要的問題去解決,選擇最簡單的解決方法,這樣才能支撐起我們指數式的成長。

里程碑 2:登陸 Android

總結:最令人期待的發布

在 Instagram 的最初幾年,每一次我和 Kevin 上台時都會遇到同樣的一個問題:「Android 版本什麼時候推出?」

我們剛開始只發布了 iOS 版本,這是因為我們希望可以快速更新我們的產品——要知道我們當時只有兩個工程師。但進入 2012 年,拓展到更多平台上的時機已經到來。在典型的 Instagram 風格下,我們的 Andr​​oid app 在三個工程師的三個月努力下建構起來。團隊裡除了有兩位為完成這個項目而學習 Android 的工程師外,還有從 Gowalla(一家基於位置服務的社群網路公司,在 2012 年關閉)的 Andr​​oid 部門過來的 Philip,他領導 Instagram 的行動業務直到現在。

在那段時間裡我部分的工作是成為一個「專業的 eBay 購物者」,因為我們希望在盡可能多的設備上測試我們的 app,包括一個叫「M865 Ascend II 2 Touch」的手機。通常的流程是,拆開送來我們辦公室的新手機,安裝我們的測試版 app ,然後讚歎 app 在上面的良好表現。 Android 設備的廣泛給我們帶來了一些挑戰——特別是在當我們開發 Instagram 影片產品的時候。但是,在很小的改動後,我們的應用就能適應如此多設備,這讓我們非常興奮。

Instagram_Android

當Android 版本發布後的 12 個小時,有超過 100 萬新用戶加入 Instagram ——這是一個非常難以置信的結果。在那個時候,我還寫了一些在基礎架構上學到的東西。隨著時間的推移,我們 的Andr​​oid 版本不斷更新,越來越像平台上的原生應用了。到了今天,它已經成為成長最快、評分最高的 Andr​​oid 應用之一。

可藉鑑的經驗:從一個平台上起步,這使得我們可以專注其中,並且,我們可以快速更新而不需要任何東西都重複實現兩次(在 Instagram 內部我們經常說「把更少的事情做好」 )。當到了需要拓展到更多平台的時間,我們搭建了一個小團隊,裡麵包括 Android 的專家和一些對這個平台不熟悉但有才華的工程師。組建一支成熟的 Andr​​oid 團隊讓我們的 app 可以逐漸適應那個平台。

里程碑 3:2012 年維吉尼亞風暴

總結:最糟糕的斷電

當時,我正在波特蘭享受三天的長周末,電話響了:“Instagram.com 當機了“。我立刻上網查看,發現除了 Instagram 之外, Netflix 和其他網站也出現了同樣的問題。我跑回旅館,打開筆電,看到 AWS(亞馬遜網絡服務)的狀態頁面則有一條讓人驚慌的消息:“us-east 可用區(位於美國東部)出現電力問題”。一場大風暴席捲了維吉尼亞,我們的虛擬伺服器幾乎一半都失去了電力。接下來的 36 個小時裡,我們艱難地重建了幾乎全部的基礎設施。可以苦中作樂的是,由於此事,出現了下面這幅搞笑圖片:

Instagram3(Instagram 當機了,跟我說說你中午飯吃了什麼)

當時,我們全部的後端技術團隊只包括我自己、工程師 Shayne 和 Rick ——他加入 Instagram 的時間不到一個月。用戶資料未遭受任何損失,但是,此次斷電顯示出了我們在自動化運作上的缺點。

這次斷電逼我們採用重用性更高的伺服器配置。在之後的一年中,我們將所有配置從一大堆容易出問題的 shell script 遷移到了 chef (一個開源的配置管理以及自動化維護工具),這大幅降低了新團隊上手的門檻。

除此之外,我們還使用了開源項目 WAL-E 和 Postgres 內置的 WAL(預寫日誌)替代了依賴於 Amazon ELB (Amazon AWS 提供的塊狀存儲方案) 的資料庫備份方案,並完成了資料庫同步(replication)。除此之外,我們也成立了一個可靠性工作組,這個工作組使 Instagram 擁有了運行在物理分佈式的數據中心上的能力。

可藉鑑的經驗:儘管構建一個 script 的基礎構架需要不少前期工作,但是在基礎設施維護小組有新成員加入時以及在災難恢復工作進行時,這些前期工作得到了很高的回報。除此之外,我也很高興的看到,我們找來的工程師非常優秀——當遇到狀況外的糟糕狀況時, Shayne 和 Rick 都積極的投入了工作,讓我們重新恢復了服務。一次解決一個問題,像 Mart-Watney(電影《火星救援》的太空人)那樣。

里程碑 4:Instagram 式的融合

總結:最具野心的工程專案

2010.10.5 : 0 用戶 😬
2010.10.6: 25,000 用戶😜
2010.11: 100 萬用戶😅
2012: 3000 萬用戶😆
2013: 2 億用戶😵

到了 2013 年, Instagram 的每月使用人數達到 2 億,儲存照片達到 200 億張。儘管團隊在擴張,整個團隊仍然是個小團隊,而且,我們激動地看到了 Instagram 社區的持續成長。

隨著時間推移,我們不斷思考如何與 Facebook 的現有後端系統進行整合。例如, Site Integrity (站點完整性)系統可以對抗垃圾訊息。但是,因為基礎設施運行在 AWS 上,這種整合就很難進行。而且,我們等待時間越長,不斷擴張(而且愈加昂貴)的基礎架構就越不容易遷移。

很顯然,我們需要遷移到 Facebook 的基礎設施上面,但是,當我們遷移上億用戶和數十億張照片時,我們不想影響自己的服務。於是, Instagration(這是作者創造的複合詞,instagram+intergration,Instagram 式的整合)開始了。對於這件事,我比較喜歡的一個比方是汽車在時速 100 英里的行進中更換所有的零件。一個包括 Instagram 員工與 Facebook 工程師的 8 人的小團隊接受了這個挑戰。首先,他們開發了一個叫做 Neti (https://github.com/Instagram/neti) 的工具把測試案例從 AWS EC2 遷移到了 VPC 上。接下來,他們構建了一個叫做“ig” 的命令工具,在 Facebook 的資料中心中模擬了 AWS 的設計模式以及使用習慣。在這一切的周密安排下, Instagram 在做到最小的影響下完成了一次最大的遷移。

可藉鑑的經驗:不要重新發明輪子。轉向 Facebook 的伺服器後,我們的基礎設施變得更快速、更有效率。同時,我們還可以利用 Facebook 的其他工具,比如反垃圾工具等等。我們仍然維持了小團隊,但是,我們利用了 Facebook 的資源和經驗,實現了更快的更新。

里程碑 5:Instagram 的「熱門」功能

總結:下一個大賭注

今年早期,我們重新設計了「搜尋和探索」功能,使用戶能夠更方便地尋找 Instagram 上的有趣時刻——當它們發生的時候。我們推出了熱門標籤和地點功能,並且構建了全新的基礎架構,能夠對 Instagram 上最好的內容進行辨識、排序和呈現。

我們對熱門趨勢的首次呈現是 2010 年的「流行」頁面。這是 Instagram 發佈時就有的功能。演算法非常簡單:用每張照片實際擁有的讚數來排列,而 4 小時之後照片就會逐漸消失。當我們的社區很小時,這是不錯的做法,但是,隨著時間的推移,我們意識到,我們需要一種更為精細的方法。

考慮到我們已經成長擴大的社區, 2014 年,我們開始「探索」功能的個性化,為每個人帶來了可無盡滑動的照片和影片頁面。在幾個月裡,我們的用戶與內容的互動次數達到了「探索」未個性化前的 5 倍。今年,我們讓原來的「流行」頁面回歸——讓你一覽 Instagram 的全貌——它就是我們的「熱門」功能。隨著排序和機器學習專家加入我們的團隊,我們能夠使廣為人知的熱門趨勢演算法適應 Instagram 社區的各種需求。

可藉鑑的經驗:先做簡單的事並不意味著你的方案永遠合適。我們學會了以開放態度對待產品的進化,以及為實現特定目標而組建團隊,比如 Datagram 團隊。這使得我們可以適應快速擴大的社區。

對於我們中的大多數人來說,過去的五年是一段狂野的旅程。在生日之際,停下來反思,這是一件不錯的事情。我相信,我們的社區會繼續成長,而我們的產品也會不斷改進。當我今後在Medium 寫下“回顧 10 年“ 的時候,肯定還有聊不完的話題。向接下來的 5 年進發!

 

歡迎加入"Inside" Line 官方帳號,關注最新創業、科技、網路、工作訊息

好友人數

This posting includes an audio/video/photo media file: Download Now

arrow
arrow
    全站熱搜

    投機客的行銷世界 發表在 痞客邦 留言(0) 人氣()