云原生趨勢下的遷移與災備思考
由于成本的降低和業(yè)務的便捷性,越來越多的企業(yè)將自己的IT系統(tǒng)遷移到云端,但在遷移的過程中,面對一個新的環(huán)境,從基礎設施的部署到云平臺的挑戰(zhàn)都十分的具有挑戰(zhàn)性,如何保證云遷移的安全?如何減少遷移風險?如何權衡線上穩(wěn)定性和敏態(tài)交付?成為了企業(yè)IT管理者十分關注的問題。
編輯搜圖
今天為我們解答以上問題的嘉賓,是來自浙江移動的云智能平臺運維架構(gòu)師史軍艇老師。希望通過匯集史軍艇老師的研究成果和實踐經(jīng)驗,帶大家了解云原生環(huán)境下存在的安全問題,規(guī)避云上可能會遇到的問題,保障云原生應用的運行穩(wěn)定性。
史軍艇
浙江移動 云智能中心運維架構(gòu)師
-
8年應用優(yōu)化及SRE經(jīng)驗,2013年起從事應用運維、穩(wěn)定性提升、架構(gòu)優(yōu)化等工作;專注于穩(wěn)定性體系建設及分布式系統(tǒng)架構(gòu)治理。樂于研究新解決方案及新技術。目前負責浙江移動線上系統(tǒng)應用架構(gòu)治理和穩(wěn)定性體系建設工作,并作為浙江移動混沌工程負責人,推動中國移動集團內(nèi)演練方案實施。
主要觀點
個人認為,要解決這些問題,需要從企業(yè)層面建設一套的穩(wěn)定性體系,包括架構(gòu)設計、上線變更、故障抵御、線上治理,貫穿整個過程。而這其中表達的意思,穩(wěn)定性不至于故障抵御,更要往前看,從架構(gòu)設計開端,去做高價值交付。實踐過程中,我們衍化出一些有效的工程,比如流量回放、灰度發(fā)布、混沌工程、平面逃生等,保障了每一個過程的平穩(wěn)鏈接,確保上云風險降到最低。
Q1云原生下,如何權衡線上穩(wěn)定性和敏態(tài)交付?
穩(wěn)態(tài)(穩(wěn)定性)和敏態(tài),就是我們說的雙態(tài)模式。我理解應該是敏態(tài)催生了云原生,而后云原生又推動了穩(wěn)定性。正如我們所說,云原生是從傳統(tǒng)“原子時代”跨越到“比特時代”的,它的具體表現(xiàn)形式是容器化支撐+微服務體系,配套而生的就是DevOps和持續(xù)交付,而這一切確實都是為了核心業(yè)務的快速迭代為出發(fā)點的。
因此,我們需要穩(wěn)定性體系/SRE體系來給予運營端足夠的信心,浙江移動在穩(wěn)定性方面確實也摸索了很多年,我們算是傳統(tǒng)行業(yè)中運維轉(zhuǎn)型走得比較早的。研發(fā)眼中是DevOps,我們眼中就是OpsDev,這兩者并不沖突。在整個穩(wěn)定性體系中,除了基本的故障抵御體系外,Ops必須要把步子往前邁,邁過上線發(fā)布,邁到架構(gòu)管控及設計,這樣和線上治理組合起來才是一整套交付護航體系。其中涉及到的工程實踐,就會用到灰度發(fā)布、混沌工程、多可用區(qū)之上的自智網(wǎng)絡能力等,用此去保證交付質(zhì)量、上線質(zhì)量和運行質(zhì)量。
Q2云環(huán)境下的災備如何進行設計?
我這里主要聊一下應用服務的災備設計,相信數(shù)據(jù)庫的變化會相對小一點。對于應用架構(gòu),云環(huán)境下會涉及到復雜的微服務調(diào)用,以及容器云平臺的計算資源控制管控,另外還有公用依賴的一些公共組件。我們會建議企業(yè)做雙平面/雙可用區(qū)設計,這里的平面縱深會比較深,從容器云的管理(mesos、marathon、k8s),還是公共組件、配置中心、注冊中心、緩存平臺等,當然還包括上層應用,都需要進行雙活雙平面改造。這樣才能在保證流量的前提下,可以在兩套不同的環(huán)境下精確倒換、逃生。
像資源相對富足的公司,或者說針對核心業(yè)務,愿意再多投入一點點資源的,可以再適配一個10%-20%的小平面,用于形成更為完善的逃生能力、發(fā)布能力、演練能力。
Q3相比于傳統(tǒng)災備架構(gòu),云環(huán)境的災備架構(gòu)規(guī)劃會有哪些異同點?
個人覺得傳統(tǒng)的災備主要考慮的是高可用,我們只要關注雙機房、實例冗余負載等,相對簡單清晰。而如上個問題提到的,云環(huán)境下的災備架構(gòu)考慮的層次會更深,在傳統(tǒng)架構(gòu)災備要求的前提下,需要貫通每一層的平面級拆分。另外,因為云環(huán)境從實例調(diào)用層面的可閱讀性會大大降低,所以導致普通的高可用,可能在故障處置上會有一定劣勢。建議采用單元化的設計,從流量入口就具備調(diào)度能力,做好準確自動的平面逃生,當然該有的觀測性等配套要求也會更高。
Q4企業(yè)原先生產(chǎn)環(huán)境復雜,導致上云遷移和業(yè)務重構(gòu)難度大。對此,有什么可參考的落地步驟和技術路線嗎?
研發(fā)和SRE兩條腿走路,并且要步調(diào)一致,一起走。因為大型系統(tǒng)的上云其實是一個非常大的工程,或者是有較大風險的工程。從研發(fā)層面,原有的復雜調(diào)用,該拆就拆,從設計方案中,去考慮拆分的可行性,而這個時候,SRE就需要一起參與,通過非功能的視角,去進行紙牌推演、沙盤推演,可以和研發(fā)互相pk。從工程保障角度,我們要確保割接方案的快速回退,老的環(huán)境并行保存等注意事項。新環(huán)境在通過紙牌推演后,進入到上線前的實戰(zhàn)演練驗收,這個時候可以通過回放的流量去模擬驗證。在發(fā)布工程中,用灰度的滾動發(fā)布模式,確保平滑割接過渡。