天天看點

雲原生時代的微服務

雲原生時代的微服務

零序言

4月24日,中國資訊通信研究院主辦的首屆雲原生産業大會在北京舉行,在《雲原生數字引領未來》的主題演講中,阿裡雲容器服務總監易立表示:“雲原生不但可以很好的支援網際網路應用,也在深刻影響着新的計算架構、新的智能資料應用。以容器、服務網格、微服務、Serverless為代表的雲原生技術,帶來一種全新的方式來建構應用。”本段内容根據易立演講内容整理而成。

一雲原生技術的優勢

CNCF給出了雲原生應用的三大特征:

  • 容器化封裝:以容器為基礎,提高整體開發水準,形成代碼群組件重用,簡化雲原生應用程式的維護。在容器中運作應用程式和程序,并作為應用程式部署的獨立單元,實作高水準資源隔離。
  • 動态管理:通過集中式的編排排程系統來動态的管理和排程。
  • 面向微服務:明确服務間的依賴,互相解耦。

雲原生包含了一組應用的模式,用于幫助企業快速,持續,可靠,規模化地傳遞業務軟體。雲原生由微服務架構,DevOps 和以容器為代表的靈活基礎架構組成。

這邊引用網上關于雲原生所需要的能力和特征總結,如下圖:

雲原生時代的微服務

從雲原生的三大特征和圖中我們可以清晰的了解到:雲原生技術中,微服務和雲容器結合将會使項目的部署和運維變得更友善、簡捷。

二雲原生與微服務的結合傳統的Web開發方式,一般被稱為單體架構(Monolithic)所有的功能打包在一個WAR包裡,基本沒有外部依賴(除了容器),部署在一個JEE容器(Tomcat,JBoss,WebLogic)裡,包含了DO/DAO,Service,UI等所有邏輯。其架構如下圖所示:

雲原生時代的微服務

而微服務架構是以開發一組小型服務的方式來開發一個獨立的應用系統的。其中每個小型服務都運作在自己的程序中,并經常采用HTTP資源API這樣輕量的機制來互相通信。這些服務圍繞業務功能進行建構,并能通過全自動的部署機制來進行獨立部署。這些微服務可以使用不同的語言來編寫,并且可以使用不同的資料存儲技術。在微服務推廣實踐角度來看,微服務将整個系統進行拆分,拆分成更小的粒度,保持這些服務獨立運作,而應用容器化技術将微服務獨立運作在容器中,将可以對這些服務進行集中管理。

容器化的出現,一定程度上帶動了微服務架構。架構演化從單體式應用到分布式,再從分布式架構到雲原生架構,微服務在其中有着不可或缺的角色。微服務帶給我們很多開發和部署上的靈活性和技術多樣性,但是也增加了服務調用的開銷、分布式系事務、調試與服務治理方面的難題。

是以Spring Cloud就是為了解決JVM中的微服務架構遇到的難題,其在JVM中非常強大。

雲原生時代的微服務

Spring Cloud整體架構圖

從上圖Spring Cloud元件的架構可以看出在微服務架構中所必須的元件,包括:服務發現與注冊、熔斷機制、路由、全局鎖、中心配置管理、控制總線、決策競選、分布式會話和叢集狀态管理等基礎元件。

但Spring Cloud對于管理方面卻有所欠缺,是以我們接下來介紹一下雲容器。

雲原生時代的微服務

三雲容器必不可少

1、雲容器引擎的優勢

雲容器引擎是基于業界主流的Docker和Kubernetes開源技術建構的容器服務,提供衆多契合企業大規模容器叢集場景的功能,在系統可靠性、高性能、開源社群相容性等多個方面具有獨特的優勢,滿足企業在建構容器雲方面的各種需求。

它簡單易用、高性能、高可靠、開放相容的特點也為其吸引了大量的忠實粉絲。借助雲容器引擎,您可以輕松部署、管理和擴充容器化應用程式。

2、雲容器引擎對比自建Kubernetes叢集

雲原生時代的微服務

3、Spring Cloud VS Kubernetes

雲原生時代的微服務

Spring Cloud和Kubernetes有很大的不同,Spring Cloud和Kubernetes處理了不同範圍的微服務架構技術點,而且是用了不同的方法。Spring Cloud方法是試圖解決在JVM中的微服務架構要點,而Kubernetes方法是試圖讓問題消失,為開發者在平台層解決。Spring Cloud在JVM中非常強大,Kubernetes管理那些JVM很強大。看起來各取所長,充分利用這兩者的優勢是自然而然的趨勢了。

4、基于Kubernetes的Serverless容器服務

  • 10月11日,在2018華為全聯接大會上,華為雲正式商用釋出全球首款基于Kubernetes的Serverless容器服務——CCI(Cloud Container Instance)。
  • 華為雲是全球首批Kubernetes認證服務提供商(Kubernetes Certified Service Provider,KCSP),是國内最早投入Kubernetes社群的廠商,是容器開源社群主要貢獻者和容器生态上司者。
  • 華為雲也是CNCF雲原生計算基金會的創始成員及白金會員,雲容器引擎是全球首批通過CNCF基金會Kubernetes一緻性認證的容器服務。

華為雲容器執行個體服務(CCI),是業界首個商用的基于Kubernetes編排引擎的Serverless容器服務,能提供面向通用場景的CPU容器執行個體和面向AI計算場景的AI容器執行個體,同時在運維效率、計算性能、計算成本、産品成熟度和開放性上具備領先優勢。

雲原生時代的微服務

Serverless容器服務

華為雲容器在大規模客戶請求的場景下,支援容器執行個體秒級彈性伸縮,充分保障業務快速響應客戶請求。并且全面支援華為Ascend(昇騰)系列AI晶片和GPU晶片,在NUMA架構裸金屬、IB高速網絡、RoCE等硬體聯合加速下,AI計算性能可提升3~5倍以上。按需按秒計費,随啟随用。同時支援多種計價模型,使用者可以根據業務場景自主選擇最優的計價模式,以最低的成本完成企業IT訴求。

華為雲容器服務支援Tensorflow、Caffe等主流深度學習架構,并在華為雲EI的深度學習、推理平台、人臉/圖像/文字識别等多個服務得到廣泛應用與驗證。并全面支援Kubernetes的原生接口和通用Docker鏡像格式,與Kubernetes和Docker開源生态無縫對接,可以實作業務一鍵式上雲,降低業務雲化門檻。

更關鍵的是,華為雲容器全面支援華為在全聯接大會上最新釋出Ascend昇騰系列910、310AI晶片,可提供充裕且經濟的AI計算能力,真正實作普惠AI,讓各行各業都能用得起,用得好,用得放心!”

5、體驗雲容器

這下我們就來體驗一下華為雲容器,看看它到底多麼優秀!

1、首先我們來到雲容器背景管理主界面:

雲原生時代的微服務

如圖所示,管理界面包含了挺多功能,像工作負載、配置中心、鏡像倉庫等等;有木有一種在此處你就能一統三軍的感覺。

2、鏡像倉庫制作簡單

雲原生時代的微服務

3、管他那麼多,先部署一個項目上去再說。

我就勉勉強強的把自己的部落格項目部署了上去。效果還不錯。

雲原生時代的微服務

4、後期運維便捷

雲原生時代的微服務

四寫在最後

繼續閱讀