Mobvista處理10億日均觸達移動終端用戶需求的技術之謎

2019-08-20 王樂樂 IT之家
瀏覽

在眾多互聯網公司出海需求強大的新賽道領域,Mobvista依托扎實的營銷經驗與深厚技術優勢,躋身全球第三方移動廣告平臺的第一陣營。據業績報告顯示,截止2018年第四季度,Mobvista移動廣告業務日均觸達的獨立設備數量超過10億,較去年同期增長140%。不同于傳統意義上的廣告公司,Mobvista是以大數據和AI技術驅動的科技公司,技術研發是其發展的基礎和根本。Mobvista在移動營銷業務中能夠一路高歌猛進,實際上離不開其通過自身技術優勢,可以說,持續的、大力度的研發投入、以技術驅動業務增長是Mobvista發展的關鍵所在。據年報顯示,Mobvista研發支出占總支出比重較大,2018年Mobvista研發投入占銷售額的6.7%,2017年這一數據為6.1%。同時,公司研發人員占比達49.5%。

作為一家在全球16大城市設立辦公室、團隊規模超過700人的公司,Mobvista從創業一開始就遷移到AWS全云架構之上,2017年開始全面轉向全云原生軟件架構體系,2013年到2015年,Mobvista經歷了三次大的系統架構升級,分別對應系統承載點擊量達到100萬次、1000萬次和1億次三個節點。而到了2018年底的10億日均觸達移動終端用戶,不僅系統架構需要重構,其所使用的云資源費用也需要不斷降低。

2017年起,Mobvista一方面展開架構向微服務為代表的云原生構架遷移,另一方面則探索在全面采用云服務的前提之下如何節省更多的成本。Mobvista剛開始只使用了少量Amazon EC2和AWS的簡單數據存儲服務,隨著業務的快速發展和系統架構的升級,陸續采用了AWS在新加坡、日本、北美、歐洲等多個區域的服務,包括Amazon EC2、Elastic Load Balancing、Amazon Redshift、Amazon DynamoDB、Amazon S3、Amazon RDS、Amazon EMR等一系列產品,建成了覆蓋全球236個國家和地區的移動廣告網絡平臺。此前Mobvista已經使用了幾乎所有的AWS技術,獲得了全球化云計算架構的高可用、高可擴展、高可靠和可維護性等收益,這些都是Mobvista處理10億日均觸達移動終端用戶龐大需求的技術基礎。

隨著系統規模的日益擴大,Mobvista的更大挑戰來自于不斷攀升的云資源成本。以往Mobvista的幾大業務系統,都是架設在云端的大型單體系統。雖然單體系統可以在云端不斷擴展規模,但當某一個功能成為瓶頸而需要擴展該功能時,只能不斷復制整個單體系統從而達到對單一功能擴展的效果,這就浪費了大量的計算資源。因此,Mobvista開始了從云單體系統向云原生架構的改造,包括采用微服務、無服務器計算等多種云原生技術。此外,Mobvista在構建云原生架構的時候,引入了面向容錯、面向故障恢復的架構和混沌工程,從而構建一個可用的微服務架構。這讓系統架構更加具有彈性,從而可以更好利用云端的高彈性資源,而高彈性計算資源往往具有更好的價格優勢。例如,利用AWS Spot Instance競價實例。Spot Instance本質上來說是開放AWS閑置資源供使用,當資源緊張的時候會被回收,并且只給兩分鐘的提前通知時間。大多數情況下,Spot Instance能比按需使用的Instance節省80%-90%的成本。但為了保持系統服務的可持續性和SLA服務水平,就需要有效的應對Spot Instance回收而產生的系統集群容量變化,這就是面向容錯和恢復的架構以及混沌工程。目前,Mobvista的在線系統集群中70%的Instance都是Spot Instance,單次廣告請求的成本降低了65%。

如今,Mobvista還把使用Spot Instance的經驗和實踐進行了對外的產品化輸出:SpotMax。Mobvista的SpotMax解決方案和服務,包括了MaxArch、MaxChaos和MaxGroup三大部分。其中,MaxArch是一種架構咨詢服務,主要是Mobvista為客戶提供的其現有架構評估以及向云遷移和云原生架構設計;MaxChaos是基于開源軟件及Mobvista自研的服務框架之上,提供混沌工程服務,讓客戶可以持續提高生產系統可用性;MaxGroup則是Spot Instance管理服務,通過集群防退化、Spot Instance集群推薦及基于強化學習的混合機群負載均衡等,幫助云上系統進一步節省成本。

隨著研發投入的不斷加大,戰略布局的優化以及業務實力的精進,Mobvista或將繼續構建更加開放、多元化的生態系統服務平臺,提供更豐富的產品與服務,從而占有更大的海外營銷市場份額。