【雲端運算】Mixpanel告別Rackspace,改用Amazon雲端服務

Mixpanel提供即時的流量統計服務,是針對「使用者的瀏覽行為」進行統計,你可以追蹤包括影片是否有被播放、某個連結究竟有沒有被點擊或是商品有沒有被放入購物車中(Google Analytics其實也有提供此類功能),目前號稱一個月可以收集到10億次的使用者瀏覽行為(相當於每秒385次),在過去可能只有像Google這種規模的公司有能力從容地應付龐大的流量。
評論
評論

Mixpanel 是 Y Combinator 的培育團隊之一,可以參考前文的介紹:Mixpanel:即時性的 Web 與 Mobile 流量分析服務

最近有非常多的文章在談論這個新的流量分析服務。Mixpanel 的特點在於它強調「即時」的流量分析,其實過去也有些網站流量分析服務強調即時性,像是 Yahoo! 站長工具或是 Reinvigorator,不過這種「傳統的流量分析服務」要做到真正的即時性是非常困難的。

Mixpanel 提供即時的流量統計服務,是針對「使用者的瀏覽行為」進行統計,你可以追蹤包括影片是否有被播放、某個連結究竟有沒有被點擊或是商品有沒有被放入購物車中(Google Analytics 其實也有提供此類功能),目前號稱一個月可以收集到 10 億次的使用者瀏覽行為(相當於每秒 385 次),在過去可能只有像 Google 這種規模的公司有能力從容地應付龐大的流量,然而在這個軟硬體技術瘋狂進步的年代(或是今年比較流行的說法:雲端運算的時代),打造這種中大型服務、大玩具門檻似乎降低了不少。對於 Mixpanel 這種可能快速成長的服務來說,平台本身的延展性(Scalability)是非常重要的,如果硬體、機房的配置無法配合持續成長的業務需求進行擴充,便會阻礙公司的成長。

任何採用所謂雲端技術、雲端服務的廠商,包括 Mixpanel 在內,其實都會希望在硬體需求擴增時,透過所謂"One-step function",簡單的一個操作就擴充硬體效能,而不需要過多其他的組態、設定影響到服務持續提供營運的時間。

Mixpanel 從最早使用 Slicehost(Slicehost 是一家 VPS 服務提供廠商,Slicehost 並不是真正可以延展的雲端架構 。 VPS = virtual private server)接著搬到 Linode(這是另一家 VPS 提供廠商,比 Slicehost 便宜,Inside 網站目前也是使用 Linode 的服務),隨後又因為成為 Y Combinator 育成團隊之一,便與 Y Combinator 的簽約廠商 Rackspace 展開了合作關係。

我們可以發現,2009 年 8 月底 Mixpanel 曾在其官方部落格上宣告 Mixpanel 與 Rackspace 的夥伴關係,不過顯然 Mixpanel 對於 Rackspace 這個夥伴是不太滿意的,因此最近 Mixpanel 就在他們的開發部落格上直接向 Rackspace 說 Goodbye,並且投奔 Amazon,文章裡面分析了幾個主要重點,我想會是評估要採用哪一家廠商所提供的雲端運算平台的好案例。

儲存空間

像 Mixpanel 規模的系統運作時對於資料存取的要求是非常高的,因此在建設具有延展性的架構時,資料存取的表現顯然是個必須認真考慮的主要因素。早期 Mixpanel 使用 Cassandra 作為主要的資料庫系統(Cassandra 是由 Facebook 發展的一套 NoSQL 資料庫,目前由 Apache 軟體基金會負責發展維護,包括 Twitter, Reddit, Digg 等知名網站都是 Cassandra 的用戶),但 Rackspace 提供的服務在方面的表現是非常非常糟糕的,將資料寫回資料庫的磁碟與實際存放資料的磁碟是分開的,Rackspace 卻無法讓這件事變得簡單點。相較之下,Amazon 所提供的 EBS(Elastic Block Storage) 顯然就是天賜之物 (godsend)。

根據 Mixpanel 的經驗,在 Rackspace 如果你想要增加磁碟空間的時候該怎麼辦呢?通常你必須重新設定組態,然後重新開機或是重新掛載磁碟,如果你想要超過 620GB 的容量怎麼辦呢?大概是做不到的。

而在 Amazon 所提供的 EBS,基本上你可以隨時任意的新增磁區到雲端平台上的任何節點上,這是很棒的一個特色,因為在轉移資料的過程中,你只要重新掛載 EBS 即可,不需要進行遠端複製。

不過,Mixpanel 也提到,他們也不認為 EBS 的 IO 效能可以好到哪裡去,事實上只要談到 Disk I/O 的效能,就是個很大的挑戰,但至少 EBS 讓 Mixpanel 不用去處理資料庫存取在不同的磁碟上這件事情。(不過我沒實際玩過 Cassandra,滿好奇為什麼會有這樣的架構設計)

硬體等級

Amazon 提供了各種不同等級的虛擬硬體(EC2 instance,是 Amazon 提供雲端硬體的基本單位),依照不同的需求你可以選購超大記憶體或是超強的運算效能,各種容量、規格任君選擇。相較之下,Rackspace 提供的服務雖然價格上的門檻比較低,但如果你的服務會快速的成長,那麼 Rackspace 顯然就不那麼適合。Rackspace 提供的選擇其實也比較接近 VPS,可以調配的規格似乎著重在儲存空間與記憶體的容量,不像 Amazon,記憶體是誇張的大、運算單元也是有很多種選擇。

上線時間 (uptime)

根據 Mixpanel 的說法,Rackspace 的上線時間是很糟糕的,過去這一年來使用 Rackspace 的經驗中,曾經出過兩次大包。而且問題看起來是有點嚴重,例如某個節點每個禮拜都會出問題,Mixpanel 甚至還要自己建置容錯的機制來避免特定節點出錯後造成整個服務中斷,這麼累,用這個假雲端幹嘛?儘管知道 Amazon 也是會出問題的,不過 Mixpanel 認為,對於 Amazon 他們是比較放心的,因為 Amazon 自己也非常依賴 AWS

容量限制

容量的限制大概是 Mixpanel 遇到最麻煩的問題,在 Rackspace 想要增加記憶體總是經常遇到問題,你必須開一張 ticket 等待客服人員來替你處理。在 Amazon 的話,其實這一切都是可以自己處理的,而且通常應該是不會遇到什麼問題。

全球化

Amazon 提供名為 Cloudfront 的 CDN(Content Delivery Network)服務,透過 CDN 你可以很輕鬆地將內容放送到全世界,網友在使用你的網站時,會根據網友的所在位置選擇鄰近的機房下載需要的內容,加快網友載入網站的速度。對 Mixpanel 來說,Rackspace 目前沒有提供 CDN 的服務,這是很困擾的。

備份

根據 Mixpanel 的說法,Rackspace 提供的自動備份服務只有 2G,這個數據實在是有點扯。相較之下,如果是 Amazon 的 S3 用來作備份顯然是強大許多。Mixpanel 認為在 Amazon 要進行備份動作是既清楚又直觀。

價格

Mixpanel 針對 Rackspace 與 Amazon 提供的雲端服務進行了一系列的試算、比價,由於還不確定到底實際在 Amazon 上部署服務後到底會需要增加多少機器,所以試算過程中也高估即將在 Amazon 上使用的各種資源數量。試算的結果,Amazon 大概可以幫 Mixpanel 省下 5%-10% 左右的成本,差距並不大,目前能看到每個月的成本姑且就算是差不多吧!

不過 Amazon 有另一個好處:Amazon 提供了 Reserved instances 以及 Bided instantces 兩種模式,對於有心要長久經營服務的廠商,長期來說勢必會省下一筆可觀的費用。而且,Amazon 經常有事沒事就降價回饋消費者,這也是很吸引人的。

對 Mixpanel 來說,最重要的理由究竟是什麼?

Amazon 在所有雲端產品的更新維護都有優於其他廠商的表現,顯然是目前最好的雲端服務提供商。Mixpanel 的使用者肯定是會持續使用 Mixpanel 提供的服務,既然如此,就應該選擇最好、最穩定、口碑最棒的服務,Rackspace 實在是很慢。就一個發展雲端架構的人來說,在進行架構設計規劃、建置、維護的過程中,當然是希望能使用又快又好,用起來又開心又快樂的產品呀!

結語

我認為 Amazon 的雲端服務,最初就是將公司本身閒置的 IT 資源拿出來進行租賃服務,除了提高資產的利用率之外也另外創造一塊營收,沒想到最終是創造了另一塊非常可觀的商機,同時也改變了產業中的一些生態,也順便讓媒體可以在高喊雲端運算的時候又多一個案例。Rackspace,雖然我沒用過,但光是看 Amazon 所提供的雲端運算產品線是如此的廣,在預留發展空間的前提下,我也會優先選擇 Amazon 的服務。(我本身是 Amazon AWS 的愛用者)不曉得你有使用過其他雲端運算服務嗎?歡迎跟我們分享你的心得。

References


精選熱門好工作

客服服務品質稽核專員

樂購蝦皮股份有限公司
臺北市.台灣

獎勵 NT$15,000

社群經營專員

關鍵評論網股份有限公司
臺北市.台灣

獎勵 NT$15,000

Backend 工程師

Omlet Arcade 美商歐姆雷特
臺北市.台灣

獎勵 NT$15,000

評論