天天看點

快速了解雲原生中的微服務應用(内含福利)

【摘要】雲原生應用所影響的領域正逐漸從網際網路走向非網際網路,從傳統應用更新走向雲原生。當下,雲原生技術的成熟正極大地影響着個人、企業乃至整個社會的生産生活方式。

“未來的軟體一定是生長于雲上的”

雲原生時代的應用

雲原生時代,随着容器技術、微服務架構思想、産品研發營運模式不斷地推陳出新和迅速發展,應用的設計和開發落地門檻已經降低到了曆史低點。根據國際知名資料咨詢公司IDC(國際資料公司)的調查研究表明,從2018年到2023年将有超過500,000,000個應用被建立,這個數字是過去40年所有建立應用的總和。

另外,在IDC于2020年2月釋出的《IDC FutureScape: 全球雲計算2020 年預測——中國啟示》中顯示,雲原生應用所影響的領域正逐漸從網際網路走向非網際網路,從傳統應用更新走向雲原生。當下,雲原生技術的成熟正極大地影響着個人、企業乃至整個社會的生産生活方式。

下面是幾條與雲原生應用強相關的預測内容:

  • 分布式雲:到2021年,中國90%以上的企業将依賴于本地/專屬私有雲、多個公有雲和遺留平台的組合,以滿足其基礎設施需求。
  • API生态:到2023年,90%的新數字服務将使用公有雲和内部API提供的服務建構複合型應用程式;其中一半将利用人工智能(AI)和機器學習(ML)。
  • 多雲管理:到2022年,50%的企業将部署統一的VMs、Kubernetes和多雲管理流程和工具,以支援跨本地和公有雲部署的多雲管理和治理。
  • 雲堆棧擴充:到2024年,10%的企業内部工作負載将由公有雲服務商資料中心以外的、位于客戶資料中心和邊緣位置的公有雲堆棧提供支援。
  • 超靈活APP:到2023年,50%的中國企業應用将部署在容器化的混合雲/多雲環境中,以提供靈活的,無縫的部署和管理體驗。

在這場應用的變革中,越來越多的應用所有方會将應用基礎設施交由更加專業的公有雲/混合雲服務商進行管理,通過API的方式對基礎設施進行管理,由服務商提供更加靈活和無縫的部署管理功能。如此,應用所有方可以将更多的投資及人力投入聚焦到應用本身的業務邏輯設計、開發、運維和體驗優化,大大減少了産品上市的時間并得到了更高的可伸縮性,使應用開發的ROI(投資回報率)最大化。

使用微服務架構建構雲原生應用

雲原生應用的定義有多種版本,最早為2015年pivital提出了雲原生應用的定義,随後CNCF在2015年也對雲原生應用進行了定義,2018年進行了重定義,具體定義可以參考kubernetes-handbook。可以發現自從雲原生的概念出現,微服務架構就是雲原生應用中濃墨重彩的一部分。

這一節裡會講到微服務架構使用場景,微服務應用在整個應用技術棧中的位置,和開發一個微服務你需要做的事情。

使用微服務的場景

建構雲原生應用,首先一定是企業或者個人想要最大程度将自己的時間和精力從複雜的底層依賴開發維護中解放出來,集中在業務場景的設計和實作上,并且能夠獨立解耦的自動化完成應用各個子產品的開發落地。這意味着獨立開發的某一子產品或負責某一單獨業務的開發者,會最大程度的利用雲廠商提供地DevOps工具鍊完成整個應用開發運維的共同目标,這樣大家可以輕松地将應用作為一個松耦合的服務集合快速釋出和更新,降低成本的同時也更容易避免單點故障。

微服務應用在技術棧中的位置

假設應用所有者已經做好了微服務的業務設計,我們來看看在落地階段,微服務應用在産品研發和運作中的位置:

快速了解雲原生中的微服務應用(内含福利)

紅色部分為微服務應用的核心子產品,是由應用所有者開發和維護地運作時微服務應用。随着業務的增長,受系統能力影響,為了提高微服務的高可用、可靠性以及韌性,需要對微服務進行治理。常見的治理手段有:負載均衡、熔斷、限流、降級、容錯和隔離等,篇幅有限這裡不加贅述。

黃色部分從左到右代表從Dev到Ops的技術棧。首先,應用開發者需要根據應用類型,選擇依賴的微服務開發架構(chassis),使用架構時可以通過添加注解的方式,處理微服務運作時面臨的橫切面問題(crosscutting concern),比如:日志架構(log4j/logback)、健康檢查、metrics、分布式追蹤等。其次,編碼完成後,可使用雲服務廠商提供的DevOps工具鍊能力實作代碼的歸檔、編譯建構、釋出部署等能力,将微服務部署在運作環境中。最後,還可以利用雲服務廠商提供的運維能力對微服務進行運維監控。一般來說,雲服務廠商提供的應用平台能力也是獨立而解耦的,應用所有者可根據自己的需求和預算來自定義選擇自己需要的服務。

紫色部分是運作時技術棧,藍色箭頭代表流量的流向。當微服務部署運作起來後,流量會從各種用戶端首先連接配接到入口(比如服務網關/ELB),同時,流量在這裡會根據請求特征分發到各個對應的業務處理微服務,随後對請求進行一系列的處理,傳回結果。微服務的運作還依賴了很多中間件,比如:緩存、消息等;還有一些微服務的功能特性,比如:服務網格、服務注冊發現等,這些中間件或特性也都由架構或者雲服務廠商提供。微服務和中間件等其實都是上層服務部署在基礎設施上,比如:虛機、容器或CCI執行個體。

綜上所述,一個應用的落地其實涉及到很多技術和場景,使用微服務架構開發應用可以最大程度的簡化應用所有者對底層設施和中間件的管理運維,通過自定義使用雲服務廠商提供地全場景、端到端的應用平台能力,将資源聚焦在業務創新和落地上(紅框部分)。

實踐 - 一進制體驗all above

最後,華為雲CSE微服務平台提供了以ServiceComb開源架構拖底的配置中心和服務中心,提供動态配置和可靠的服務中心服務。ServiceComb服務中心在華為内部的大規模生産實踐(支撐華為商城運作),支撐起數十萬級别的tps的服務叢集,可靠性得到了充分的驗證。

開發者可以在雲上享受開箱即用的微服務中間件,通過CSE微服務平台既可以學習實踐又能作為生産實踐,學習微服務可以跟進當下最新技術潮流。

華為雲回饋活動指路↓

一進制體驗原價500元包周期引擎(100執行個體),快點選這裡體驗吧!

點選關注,第一時間了解華為雲新鮮技術~

快速了解雲原生中的微服務應用(内含福利)

繼續閱讀