雲原生:擁抱偉大的技術革新,你的思想上雲了嗎?

阿雲研究 發佈 2020-10-28T21:41:42+00:00

企業上雲的最後一個階段是全面上雲,而雲原生架構可以最大程度地發揮雲的優勢,解決交付周期長、資源利用率低等實際業務問題。

企業上雲的最後一個階段是全面上雲,而雲原生架構可以最大程度地發揮雲的優勢,解決交付周期長、資源利用率低等實際業務問題。

到2021年,預計全球70%的企業實現應用的雲原生化部署,傳統IT架構向雲原生轉型是大勢所趨。雲原生架構為何必要?能帶來哪些價值?包含哪些概念?本文將為您解讀。

導語

雲原生不是一個產品,而是一套技術體系和一套方法論,技術的變革,一定是思想先行,從內到外的整體變革。更確切地說,它是一種文化,更是一種潮流,是雲計算的一個必然導向。

雲原生(Cloud Native)這個組合詞包括了「雲」和「原生」,雲是和本地相對的,雲表示應用跑在雲上;原生就是土生土長,從應用設計之初就為在雲環境下運行做準備,要充分利用雲資源的優點,比如️雲服務的彈性和分布式優勢。

雲原生的概念眾說紛紜,更多人相信這個概念由Pivotal的Matt Stine於2013年首次提出,而後多次疊代,Pivotal官網將雲原生概括為4個要點:DevOps+持續交付+微服務+容器,是相對易懂的說法。

在阿里雲研究中心發布的白皮書《企業全面上雲成功路徑與實踐》中,闡述了雲原生的架構和價值、雲原生理念和技術、基礎設施雲原生化建設瓶頸分析、敏捷基礎設施的構建與風險防控、阿里巴巴雲原生架構設計,以及各個行業面臨的挑戰及解決方案。將幫助上雲負責人繼續企業全面上雲的旅程,擁抱雲原生架構,用技術加速創新,進一步發揮企業上雲的價值。

本文將簡析這部分內容,關注微信公眾號可領取白皮書全文。


一、雲原生概述

1.全面上雲對企業IT提出新要求

歷經多年發展,我國雲計算產業保持著較高增長率,產業規模已突破千億,產業鏈條趨於完善。隨著我國在「新基建」領域布局加速,雲計算迎來全新的發展機遇。

如前所述,企業上雲經歷了基礎IT要素上雲、業務系統上雲、企業雲端互聯、企業全面上雲四個階段。全面上雲對企業IT,特別是IT基礎設施,提出了全新要求:

[ 1 ] 持續交付能力

快速響應市場需求已經成為企業競爭的決勝因素,持續交付使開發人員可以在短時間存在的特性分支上工作,同時始終讓主幹保持可發布狀態,能做到在正常工作時段里按需進行一鍵式發布,提升開發的效率。但複雜傳統應用的單體架構模式在代碼維護與集成編譯方面困難重重,難以做到持續交付;

[ 2 ] 極致彈性能力

在部署業務應用時,虛擬機分鐘級的彈性不再滿足快速擴縮容的需求。更加輕量級的容器技術成為微服務部署的最佳載體,容器技術很好的解決了應用移植過程的環境一致性問題,使微服務實現快速彈性的部署

[ 3 ] 開發運維一體化能力

敏捷開發帶來應用的快速疊代,同時也增加了版本發布的風險與業務運維的複雜度。開發、測試、運維高度協同的一體化理念被提出,需要在完成高頻率部署的同時,提高生產環境的可靠性、穩定性、彈性以及安全性,消除頻繁發布的風險。

2.雲原生加速企業IT架構敏捷化

[ 1 ] 雲原生架構定義及設計原則

雲原生架構是基於雲原生技術的一組架構原則和設計模式的集合,旨在將雲應用中的非業務代碼部分進行最大化的剝離,從而讓雲設施接管應用中原有的大量非功能特性(如彈性、韌性、安全、可觀測性、灰度等),使業務不再有非功能性業務中斷困擾的同時,具備輕量、敏捷、高度自動化的特點。

雲原生架構設計遵循以下幾個重要原則:

  • 服務化原則

服務化可將業務模塊間的關係高度抽象化、標準化,從而將不同生命周期的模塊解耦分離,並行業務疊代加速整體的開發進度和穩定性;

  • 彈性原則

即系統的部署規模可以隨著業務量的變化自動伸縮,降低餘量規劃帶來的資源浪費;

  • 可觀測原則

充分考慮分布式雲計算的環境,引入日誌分析、鏈路跟蹤和度量等手段,將跨主機、全鏈路的服務調用情況進行記錄、分析和下鑽,極大程度上維持業務健康;

  • 韌性原則

業務所依賴的軟硬體組合出現異常時,架構能夠進行較大程度的抵抗與自愈,保障業務能夠持續提供服務不中斷;

  • 過程自動化原則

在軟體交付標準化的基礎上進行自動化,通過配置數據自描述和面向終態的交付過程,讓自動化工具調諧交付目標與環境差異,實現軟體交付和運維的自動化;

  • 零信任原則

雲原生架構打破傳統邊界安全思想,聚焦以身份為中心的訪問控制,任何內外部的人、設備和系統都需要基於認證和授權重構訪問信任。

[ 2 ] 雲原生架構與傳統架構的差異

新的計算架構正在改變企業搭建和使用計算資源的方式,從物理機到虛擬機,提高了硬體的利用率並使資源的使用和變更變得更加靈活。雲原生技術進一步降低了應用對運行操作環境的依賴,提高了應用的可移植性和交付效率。根據Gartner的報告預測,到2021年全球70%的企業實現應用的雲原生化部署,傳統IT架構向雲原生轉型是大勢所趨。

傳統架構是穩態業務部署的重要選擇,在過去的十年中,雲主機的性能已經發生了重大轉變,低延遲、可預測的高性能以及更好的隔離環境,使它成為靜態單體架構應用程式性能敏感的工作負載(如高性能計算應用、視頻編碼、機器學習等)的部署首選。雲主機提供的強大安全性隔離功能使其成為IT運營、風險管理和開發人員可以達成一致的默認計算載體。

雲原生架構是敏態業務部署的最優選擇,雲原生架構由於其面向應用的擴展方式以及超強的可移植性以及輕量級優勢,逐漸成為應用部署的重要組成部分。

應用微服務化加速大型應用的並行疊代效率,基於雲原生架構的應用具備微服務化特性,即以功能域或邏輯關聯將單體應用拆分為松耦合的多個子應用,這些相對獨立的微服務研發、測試和部署流程可並行執行,極大的提升了整體疊代效率;

負載容器化保障了應用在異構環境中彈性部署,容器作為標準化的軟體單元,將應用及其所有的依賴項打包,使應用不再受環境限制,在不同計算環境間快速、可靠的運行。同時容器共享內核的技術特點使載體更加輕量,相較於虛擬機分鐘級的彈性伸縮能力,秒級的資源彈性伸縮能力能夠更加快速靈活的響應不同場景的需求。

3.雲原生架構對企業的價值

企業上雲不應僅僅是簡單粗暴的搬遷上雲,應用也需要優化傳統的設計方法,從架構設計開發方式部署維護整個軟體生命周期都基於雲的特點設計,從而構建原生為雲而設計的應用,這樣才能充分利用和發揮雲平台的彈性以及分布式優勢。

[ 1 ] 從IT架構角度看雲原生價值

雲原生架構最大程度上繼承了雲的強大功能。基於雲原生架構在雲環境的應用開發能夠在資源編排機制、分布式部署、高可用架構等方面得到較好的基礎支撐,通過新的架構、技術保障應用系統變得更加健壯,雲原生最大程度發揮了雲的優勢。

  • 雲原生架構具備更加極致的彈性能力

雲原生有效解決了異構環境的部署一致性問題,促進了資源的標準化,為服務化、自動化提供了基礎。雲原生技術體系以容器為基本的調度單元,相比虛擬機資源的切分粒度細化至進程級,共享內核的輕量化設計進一步提升了資源的彈性效率。

  • 雲原生架構能夠兼容應用開發多元的技術棧

與傳統架構下的單體應用強行綁定語言和技術棧相比,雲原生架構下的應用在業務域劃分上應是相互獨立的,這使得不同業務域有不同的技術選擇權,比如推薦系統採用Python實現效率可能比Java要高效得多。雲原生架構實現了使用多元技術棧做應用開發的兼容統一,使得每個業務團隊能夠根據實際需求靈活的選擇最佳技術路線。

  • 雲原生架構能夠更好的提升業務穩定性

自動化程度高,自愈性高,雲原生使得應用本身具有「韌性」,即面對強大壓力的緩解能力以及壓力過後的恢復能力。通過服務狀態、系統健康度、接口調用情況、異常的實時告警等實現可視化及預警化,自動化的量化和監控功能,結合業務健康檢測啟用容器級別的異常自動恢復,及時規避業務風險。

[ 2 ] 從企業運營角度看雲原生價值

  • 雲原生架構大幅減少企業IT成本

雲原生極致的彈性免除了企業側因應對峰值業務所帶來的預留資源的浪費,提高資源的複合利用率,降低了資源成本。

傳統IT架構下的應用中捆綁嵌入了大量的非業務功能,重複造輪子現象嚴重,研發成本居高不下。雲原生技術標準化的交互方式,應用與應用基礎設施(編程框架、中間件等)逐步分離,應用基礎設施從專用轉為通用,從中心化轉為松耦合模塊化。應用基礎設施下沉與雲平台充分融合,將雲能力與應用基礎設施能力進行整合封裝構築統一的技術中台,向業務應用提供簡單、一致、易於使用的應用基礎設施能力接口,實現技術中台化,縮減重複開發的人力與資源成本

  • 雲原生架構帶來更快速的業務交付速度

數字化轉型的緊迫需求下使得企業中越來越多的業務衍變成數字化業務,直面用戶需求更加快速的響應成為企業的核心競爭優勢。應用微服務化開發,服務之間使用標準的API接口進行通信。松耦合架構會減輕因需求變更導致的系統疊代成本,為多團隊並行開發提供基礎,並加快交付速度。雲原生技術實現了應用的敏捷開發,大幅提升交付速度,降低業務試錯成本,快速響應用戶需求,增強用戶體驗,加速業務創新

  • 雲原生架構帶給企業更低心智負擔的使用體驗

傳統架構下的中間件通常與業務捆綁,不能實現通用中間件的有效復用,在應用部署過程中需要投入大量的精力重複構建且極易出錯,用戶使用體驗較差。基於公共雲搭建的雲原生架構,基礎設施層繁瑣的運維工作大部分由雲服務商承擔,企業用戶可一鍵部署啟動雲原生集群,搭配平台提供的各種標準化中間件服務,實現應用的快速上線部署,降低了用戶使用的心智負擔,使用戶能夠聚焦價值更高業務邏輯,提升研發整體效能。

  • 雲原生架構更大程度的降低了內部協同的折耗

通過引入DevOps理念優化軟體研發運營全周期的管理,從軟體需求到生產運維的全流程改進和優化,結合統一工具鏈,實現文化、流程、工具的一致性,降低組織內部的溝通與管理障礙,加速業務的流程化、自動化。雲原生架構變革了研發運營的生產方式,打破組織壁壘,實現研發與運維的跨域協同,進一步解放生產力。

二、雲原生理念、技術

1.雲原生理念

雲原生是一系列雲計算技術體系和企業管理方法的集合,既包含了實現應用雲原生化的方法論,也包含了落地實踐的關鍵技術。雲原生應用利用容器、服務網格、微服務、不可變基礎設施和聲明式API等代表性技術,來構建容錯性好、易於管理和便於觀察的松耦合系統,結合可靠的自動化手段可對系統做出頻繁、可預測的重大變更,讓應用隨時處於待發布狀態,雲原生技術有利於各組織在公共雲、私有雲和混合雲等新型動態環境中,構建和運行可彈性擴展的應用,藉助平台的全面自動化能力,跨多雲構建微服務,持續交付部署業務生產系統。

2.雲原生技術

容器技術:一種輕量級的虛擬化技術,能夠在單一主機上提供多個隔離的作業系統環境;

微服務:微服務是指將大型複雜軟體應用拆分成多個簡單應用,每個簡單應用描述著一個小業務,系統中的各個簡單應用可被獨立部署。各個微服務之間是松耦合的,可以獨立地對每個服務進行升級、部署、擴展和重新啟動等流程,從而實現頻繁更新而不會對最終用戶產生任何影響。

Devops:DevOps是一組過程、方法與系統的統稱,提倡打破開發、測試和運維之間的壁壘,利用技術手段實現各個軟體開發環節的自動化甚至智能化,提高軟體研發效率。

以上僅做簡介,雲原生技術還包括Serverless、開放應用模型(OAM)、Service Mesh 技術等等。



隨著雲計算的普及與雲原生的廣泛應用,越來越多的從業者、決策者清晰地認識到「雲原生化將成為企業技術創新的關鍵要素,也是完成企業數字化轉型的最短路徑」。因此,具有前瞻思維的網際網路企業從應用誕生之初就紮根於雲端,謹慎穩重的新零售、政府、金融、醫療等領域的企業與機構也逐漸將業務應用遷移上雲,深度使用雲原生技術與雲原生架構,解決交付周期長、資源利用率低等實際業務問題。

關鍵字: