如今,企業上云成為趨勢之一,更多的企業利用云計算技術,來快速實現數字化轉型。的確,云計算的按需使用、靈活性高、可擴展性強等特點,贏得了眾多企業的青睞,但是如何有效的上云,降低成本,卻成為很多企業所關注的。近日,51CTO采訪了Mobvista技術副總裁兼首席架構師蔡超,就企業如何有效降低上云成本進行了探討。
企業上云的阻礙力
雖然,上云被認為是趨勢,但是上云過程中仍然存在一些挑戰。據蔡超觀察,目前有三大原因阻礙了企業上云。
首先是遺留系統的遷移。目前大量企業仍然采用傳統IDC作為基礎設施,企業上云會直接將傳統的本地應用遷移到云端,然而這不僅會導致系統架構無法有效利用云的“Scale on Demand”等特性,還會造成成本的浪費。企業需要進行系統重構,例如進行微服務化,整合云端后臺服務等,來充分利用云計算的特性。但是對于大規模系統而言,遷移不可能一蹴而就,系統遷移過程漫長,就會產生混合狀態,新系統與遺留老系統之間的互通,遷移過程的階段步驟,都對開發和維護提出了更高的挑戰。
第二,數據遷移和安全存儲。企業上云后,數據是否存儲在云平臺,如何保證數據在公有云的存儲和訪問安全,若是本地存儲,則需要考慮數據傳輸的成本和傳輸的安全性問題。
第三,開發人員的思想轉變。目前,大多數開發者都是學習過經典架構模型的,開發理念和模式也都是傳統模式,在遷移上云過程中,就需要學習云原生的技術和理念,在傳統開發中引入新的技術和理念,這對開發人員的技能要求也會相應提高。
降低上云成本的方法
云計算以其經濟成本、彈性伸縮等特性吸引了用戶上云,然而云上的成本并不一定便宜。除去人工成本外,還需要計算資源、流量、數據存儲、云端服務等費用,稍不留神,就會產生高昂的成本。那么,是否有可以降低云計算成本的方法呢?答案是肯定的。
蔡超告訴51CTO,“降低成本的根本是要充分利用云計算的特點,就是按需獲取和按使用付費。”降低上云成本可以從三方面入手。首先是按請求量自動伸縮,企業要善于了用按需獲取、按量付費的云計算特點,根據企業業務需求,對云資源的請求量進行自動伸縮。
其次,正確有效的利用云平臺的收費模式。例如消息服務,云服務商是根據發生次數收費的,而不是按照消息內容的多少,因此,只要不超過單條最大容量,就可以批量發送,節省成本。所以,企業需要評估自己的業務模式,根據需要選擇預留實例、競價實例等不同模式。如果企業長期使用,還可以通過增加購買時長來降低云成本。
第三是采用合理的架構。架構對于企業是否可以利用云計算的特點尤為重要,企業可以采用微服務架構或無服務架構,將伸縮粒度變得更加細粒度,從而降低成本。
Mobvista的云端儉省之道
Mobvista成立于2013年,是專注于為全球APP開發者提供移動廣告及數據分析服務,在全球16大城市設立辦公室。Mobvista從成立之初就遷移到AWS全云架構之上,2017年開始全面轉向云原生軟件架構體系。但是隨著系統規模不斷擴大,Mobvista不得不面對云計算成本的挑戰。
為了降低云計算成本,Mobvista采用了低CPU利用率機器的合并和淘汰,對數據存儲進行優化,購買預留實例等。但是,Mobvista依然面臨著重大的成本壓力。于是,Mobvista采用了架構改造和使用競價實例兩種方式,降低了云計算成本。
蔡超認為,降低成本關鍵就在于企業的架構能否適合高效的使用云平臺,利用云平臺的特性,甚至是價格模式。過去,Mobvista的業務系統都屬于大型單體系統,但系統的擴展受制于某一單一功能,從而造成大量的資源浪費。為此,Mobvista進行了云原生架構改造。
蔡超告訴51CTO,程序化廣告系統的特點是請求量大(峰值請求能夠達到每天1000億次),對于響應時間有苛刻的要求(50-100ms),為了提高系統的彈性,Mobvista進行了微服務改造,并在設計中采用面向失效和面向恢復的設計理念,同時開發了SpotMax中的集群管理軟件,保持集群容量的穩定。
此外,Mobvista還采用了競價實例。“競價實例“是一種由云服務商推出的利用閑置計算資源的實例,它的價格根據供需關系變化,與按量付費實例的相比具有非常明顯的價格優勢(通常為按需實例的10%-20%)。同時,競價實例中存在系統中斷機制,系統將根據價格和資源池的存量等情況綜合考慮,決定中斷運行實例。目前,Mobvista的70%在線平臺實例是部署在競價實例上,大多支撐了程序化業務,單次請求的成本降低了65%。
蔡超表示,企業是否可以使用Spot Instance,與企業的業務實現、業務架構有關,業務架構是否具有足夠的彈性、容錯性,并且結合Spot Instance集群管理,才能夠達到所期待的SLA。對于哪些業務使用Spot Instance沒有一概定論,但粗略的判斷標準是如果系統具有“實例靈活性(instance flexible)”或者“時間靈活性(time flexible)”就可以考慮使用Spot Instance。
經驗產品化輸出
在自身得到驗證后,Mobvista還將競價實例的實踐經驗進行了產品化,打造了SpotMax產品。SpotMax是一個利用彈性計算資源進行云端系統成本優化的體系,旨在幫助用戶使用云平臺提供的彈性資源在保證系統可用性,實現成本的最大化節省。
SpotMax的解決和服務包括三個部分,MaxArch、MaxChaos和MaxGroup。MaxArch是一種架構咨詢服務,主要是Mobvista為用戶提供對現有架構評估以及祥云遷移和云原生架構設計;MaxChaos是基于開源軟件和Mobvista自研的服務框架,提供混沌工程服務;MaxGroup則是Spot Instance集群管理服務,通過集群防退化、Spot Instance集群推薦及基于強化學習的混合機群負載均衡等,幫助云上系統進一步節省成本。
SpotMax是以客戶為中心的,Mobvista一直致力于讓產品和解決方案更加好的服務于客戶。但是不同客戶面臨的問題是不一樣的,因此,考慮到需要適應不同應用場景,SpotMax在設計時采用了插件模式,用戶可以根據使用場景的不同選擇不同的插件,例如針對于采用第三方服務發現的插件,針對于容器化環境的插件等等。
未來規劃
目前,Mobvista已經完成了微服務改造,接下來會加大容器化以及服務網格的引入,蔡超表示,“我們將提升基礎設施的抽象層次,從虛擬機網絡,到容器網絡,再到服務網絡,這將大大提升大規模復雜系統的可維護性。”
此外,Mobvista也正在為企業出海,全球化發展需求打造的「工具生態」。從推廣、變現、數據洞察到云端架構和成本優化,Mobvista致力于在更多元化的場景下為企業創造價值,幫助企業觸達更廣闊的全球市場、贏得高增長。