CloudMosa創辦人暨執行長沈修平(攝影/洪政偉)

網頁瀏覽器間的戰爭,可以從至上世紀末90年代的網景Netscape與微軟IE說起,當時兩大公司角逐誰才是瀏覽器霸主,而在局勢大勢底定的20多年後,每每有人得知CloudMosa創辦人暨執行長沈修平仍要繼續投入瀏覽器開發時,「他們都跟我說:『老兄,War is over。』」他笑著說,雖然現階段局勢看似趨於穩定,「但是瀏覽器扮演的角色,始終非常重要。」

而沈修平表示,現在主流瀏覽器的使用體驗,都相當倚賴用戶端的硬體規格,導致本機設備的處理器、記憶體成為網頁應用執行的瓶頸,「我們需要一個完全不一樣的瀏覽器,才有辦法突破僵局,贏得勝利。」他舉例,在第一次世界大戰的壕溝戰模式,各國就陷入僵持戰,但是在英國發明坦克之後,很快大戰就畫上終點。

而對比至瀏覽器市場的競爭,沈修平認為,當多數人都認為瀏覽器已經可能不再有重大突破之時,「這對CloudMosa是個非常好的機會。」也因此,CloudMosa決定要押寶遠端瀏覽器的營運模式,「重點是打造一個良好的雲端環境」,利用雲端隨需使用的觀念來打造瀏覽器,不需要仰賴使用者自己的設備,而是依靠CloudMosa資料中心的運算力,創造更好的瀏覽體驗,由於每個使用者都僅使用短暫的時間,因此單臺伺服器至少可以處理100個使用者的瀏覽需求。而目前該公司的Puffin瀏覽器,下載次數已經超過8,000萬次,而每月活躍使用人數(MAU)也超過了1,200萬人。

在CloudMosa草創初期,IT架構完全仰賴公有雲。沈修平也解釋該選擇的原因,「新創公司的失敗機率很高,而公有雲可以降低失敗的成本。」反之,使用VM技術自建資料中心,「需要專業人才,但是使用公有雲,就可以聘用更平凡的工程師。」沈修平開玩笑著說,一家草創的新創公司,尋找資金與構思戰略才是重點,在使用流量不多時,IT基礎架構並不是重點,萬一失敗,自建機房會帶來很大的失敗成本。

Rackspace公有雲服務允許用戶使用閒置運算資源

當初CloudMosa是使用Rackspace而非AWS,沈修平表示,使用Rackspace的架構,「可以讓我們使用更多運算資源。」他解釋,這兩家公雲服務商最大的區別在於,AWS會將單一臺伺服器劃分成數臺VM,但是未使用完全的資源,企業不能自由運用,反之,Rackspace則允許運用戶自由使用閒置資源,「當鄰近的VM資源未有人使用時,CloudMosa可以使用那些運算資源」,沈修平笑著說,就跟臉書遊戲開心農場的偷菜一樣有趣。

但是隨著營運規模成長,偷菜用法卻讓CloudMosa開始承受痛點。當流量增加需要更多運算資源時,「加開伺服器也沒有效果」,原因在於,過去已習於使用超載資源,「這也使得增加資源變成一件非常不可預期的事情。」

偷菜模式導致運算資源難以預測,提高營運風險

在此階段沈修平發現,如果企業規模不大,僅有20至30臺伺服器時,使用Rackspace的服務就非常划算,但是當規模開始擴充至100至500臺伺服器時,就已經達到Rackspace的極限,「偷菜仍然有其風險。」而要穩定營運一家企業,勢必要減低風險。

所以,CloudMosa開始轉移至AWS,最初1個月支付的費用為1,000美元。而隨著使用人數增加,很快地費用水漲船高,公有雲月租費馬上增加至5,000美元,甚至還飆高至5萬美元,「5萬美元對於規模不大的企業仍是一筆支出。」他認為,新創公司的確可以仰賴公有雲,但是一旦事業開始順利,「企業就應該開始自建私有雲。」

這也讓沈修平開始思考,如何利用自建資料中心降低營運成本,「我們的目標是在1個月內建立起資料中心」,他表示,在AWS環境每多待一天,都是更多的額外花費。根據CloudMosa需求,租用單臺伺服器的價格是720美元,但如果自行購買的價格為1,200美元,「只需要一個半月就會回本。」

VM可以提升容錯度、備援能力,但不能解決所有問題

而開始自建資料中心後,起初實體伺服器的數量不多,CloudMosa先利用VM技術加強資源的利用率。而當規模達到50臺之後,CloudMosa也開始評估是否有繼續使用VM的必要。沈修平表示,一臺機器要提高4倍的效能,不只要花上4倍的成本,「如果真有需求,何必要把資源劃分為4份?」

他比喻,裸機伺服器就像是一顆大鑽石,而利用虛擬化技術,切成4顆小鑽石便不合理。因此,在某種程度上,虛擬化技術不全然可以解決所有問題,只有符合某些條件之下,像是企業的需求可以靠一臺實體伺服器滿足,這時候使用VM就非常恰當。

沈修平舉例,最早CloudMosa也使用VM作為基礎架構,「我們要降低失敗成本」,而在新創公司營運初期使用者規模並不大時,如果只有單一主機,沒有容錯能力,而借助VM便可提供容錯和備援能力。

不需浪費成本將過多服務部署在公有雲

隨著CloudMosa的服務量成長到一定規模後,因應不同任務需求,也開始進行伺服器角色的分工。他表示,第一種角色是工蜂(Worker bee),也因此,CloudMosa在自建資料中心的伺服器,主要都是以裸機為主,僅有少數伺服器為虛擬機。

沈修平表示,每一臺伺服器都有特定用途,而裸機部署才可以讓實體伺服器擁有最好的資源使用率,「工作節點都一律使用裸機部署,我們稱這些伺服器為工蜂。」

而CloudMosa也開始設計負載平衡機制,將流量導引至不同的工蜂伺服器,此時每一臺伺服器的重要性就大幅降低,「即便其中一臺伺服器當機,仍然有其他設備會接手。」

相比工蜂伺服器,某些不耗費過多資源的應用程式,便可以在VM環境中執行,「這些是我們重要的應用程式。」沈修平稱這些應用程式為聖牛(Sacred Cow),萬一這些系統當機,「公司就會倒閉。」也因此,沈修平才將這些應用程式部署在公有雲上,「利用公有雲服務,才可以確保應用當機、無法存取服務的機會更低。」

解決問題才是重點,不要為了追趕潮流而用,把技術視為炫耀財。──CloudMosa創辦人暨執行長 沈修平(攝影/洪政偉)

使用公有雲作為安全網,重要應用部署在公有雲環境即可

歸納搭配公有雲服務及自建資料中心的心得,沈修平認為,最佳的作法是將少數的重要應用程式留在AWS,但是大多數的伺服器都部署在自家機房內,自建可以節省成本,但相對較不穩定,「還好我們並不特別在意自建機房中伺服器的運作。」

此外,公有雲也可以做為安全網,可以分擔突如其來的爆量服務需求,使用公有雲分擔這些流量。CloudMosa也有一套目前還未啟動過的備援方案,「一旦天塌下來,就不需要再想如何省錢,重點是要活下去。」他笑著說 ,花一天昂貴的租金解決存亡之事,是筆非常划算的花費。

導入刀鋒伺服器提升機臺密度,同時還能改善IT維運工作

而當CloudMosa最後成長至3,000臺伺服器,接著又開始面臨到的下一個問題,就是伺服器規模過於龐大,如何快速部署?「因此CloudMosa開始使用刀鋒伺服器」,沈修平表示,刀鋒伺服器的機箱內可以容納多臺獨立的伺服器,同一個機箱內的伺服器可以共用網路資源,不需要每一臺伺服器都與網路連接。採用刀鋒伺服器後,無論是部署密度、速度,及維護工作都有相當程度的改善,「之後就完全轉移至刀鋒伺服器。」

同時CloudMosa也採用Network booting,當一臺伺服器開機時,也不需要安裝虛擬化平臺,與網路連接後,安裝該機器所需要的組態設定,之後便會自動加入正式環境。

不過當規模繼續擴增之後,如果要同時部署多臺伺服器,也會對負責執行部署工作的伺服器造成相當的工作負載。原先Master節點只需要負責數臺伺服器的部署工作,但是要部署上千臺伺服器的工作就非常耗時。

為了節省成本,CloudMosa也開始使用便宜的伺服器,「但每次重新啟動時,就有無法開機的風險,硬體失敗率開始提高了。」沈修平表示,CloudMosa定期會執行重開機的維護工作,或是更新應用程式時,都需要伺服器重開機。這也讓IT團隊每次重開都很擔心,這就是CloudMosa要解決的下一個考驗。

Docker是一個更好的裸機解決方案,加快部署速度

因應快速更新、重開、重新部署的需求,CloudMosa開始找尋新技術解決這些難題,「而Docker是一個更好的裸機。」他說,利用Docker容器作為伺服器的部署機制,也解決IT團隊頭痛的維運工作。

沈修平表示,Docker容器提供了一個更好的Network booting的解決方式,過去的更新、維運工作,必須要重啟機器,但是使用Docker之後,「CloudMosa只要重新開啟Docker就好。」

首先,相比重開伺服器,重啟Docker的風險小許多,除了不會發生硬體無法開機的風險外,速度也快很多,重啟一臺伺服器基本所需的時間至少要10分鐘,但重啟Docker只要幾秒或幾十秒。再者,更新也變得更為簡單。準備好更新工作所需要的映像檔後就可以開始,也讓開發人員逐步更新的難度降低。

而CloudMosa使用Docker的方式也相當有趣,每一臺伺服器只會安裝一個Docker,「我們不喜歡劃分硬體資源。」沈修平認為,將Docker視為取代VM的新技術,並非Docker的最大價值,反之,利用Docker作為一個運算單位,只要重啟Docker,就等同於重啟伺服器,「我們非常喜歡這個點子。」

沈修平表示,原先在3,000臺伺服器規模時,大概需要花上1整天的更新時間。但是使用Docker之後,1萬臺伺服器部署工作只需要30分鐘就可以完成,「這是我們認為Docker提供的最大價值。」

沒有任何觀念永遠正確、永遠適用

CloudMosa的IT架構之旅,一路從純公有雲、混合雲到開始使用Docker容器技術,「沒有任何東西技術、觀念永遠正確,能解決問題才是最重要。」沈修平笑著說,無論是最新的Kubernetes、Swarm等容器調度技術,CloudMosa也都有進行研究,不過他仍再次強調,解決問題才是重點,「不要為了追趕潮流而用,把技術視為炫耀財。」

同時,沈修平也在CloudMosa倡導,每個員工都得具備獨立思考能力,「對任何外來資訊都要存疑」,接觸外界資訊的重要性,在於擴大視野,重點仍是靠自己消化資訊,「找出一條最適合自己的路。」

 

 CTO小檔案 

沈修平

CloudMosa創辦人暨執行長

學歷:加州大學洛杉磯分校(UCLA)資訊工程博士

經歷:在美國完成博士學位後,前後在美國微軟、Google工作,在2009年創辦CloudMosa,現為該公司執行長,帶領CloudMosa從公有雲演進至混合雲,而現在內部IT架構已經全面Docker化

 

 公司檔案 

CloudMosa

● 地址:臺北市中正區襄陽路9號21樓

● 網址:www.cloudmosa.com

● 成立時間:2009年

● 主要業務:開發遠端瀏覽器,利用自家資料中心提供使用者網頁瀏覽需求

● 總部:美國

● 員工數:30人

● 創辦人:沈修平

● 執行長:沈修平

● 臺灣區總經理:劉培欣

 公司大事紀 

● 2009年:CloudMosa成立

● 2010年:正式發布Puffin瀏覽器

● 2011年:Puffin瀏覽器下載次數達10萬次

● 2011年:將IT基礎架構移轉至自建機房

● 2012年:Puffin瀏覽器開始在iOS裝置支援Flash

● 2015年:推出Puffin for Facebook,減少瀏覽臉書流量

● 2017年:Puffin瀏覽器開始支援微軟環境


Advertisement

更多 iThome相關內容