EDAS 4.0 助力企業一站式實現微服務架構轉型與 K8s 容器化升級

阿里巴巴雲原生發表於2021-11-14

作者:安紹飛
稽核&校對:營火
編輯&排版:雯燕

前言

近年來,企業的數字化隨著網際網路的普及發展越來越快,技術架構也是幾經更迭,尤其是線上業務部分。最開始企業的需求就是將業務儘可能線上化、線上化,產生了早期的線上業務應用架構,即單體應用,主要就是由 Web 應用中增加業務邏輯及後端資料存在資料庫。

隨著線上業務的增加,以及更多的訪問增長,發現單體應用已經支撐不了業務了,進而逐步演進到分散式應用。同時,前端加上了負載均衡來承接日漸增長的請求,中間也引入了更多訊息、快取等中介軟體和資料庫。

隨著雲端計算的發展演進到雲原生時代,企業的應用也開始面向雲進行容器化、微服務化的構建,在這個過程中,就帶來了和之前階段不同的變化,抽象來看主要是應用的開發設計、應用交付、線上運維方面的變化。

1.png

雲原生應用服務的新訴求

在雲原生應用日益成為主流的技術架構下,雲原生應用如何更好的利用雲服務,實現面向雲服務的架構設計、讓業務更敏捷的研發,快速的聯調驗證就尤為重要。這就要求平臺可以提供一站式的 PaaS 產品來進行支撐。

1)首先是開發設計:從原來的層次化/模組化單體架構,演進到全面的微服務化,使用 SpringCloud、Dubbo、Servicemesh 這一些技術棧來構建微服務,那這個過程中,研發人員需要進行面向微服務的架構設計、測試人員需要面向微服務架構設計測試用例,編寫實現自動化測試、同時隨著環境上雲,也要求著開發環境與雲端環境能夠實現聯通除錯。

2)接著是應用交付:從之前的虛擬機器&批量指令碼來完成部署交付,到通過容器、K8s 等技術實現通用的標準化交付,這個過程中,也出現了一些新的需求,比如批量的通過應用模板來快速部署交付、以及通過應用跨叢集來實現多場景的管理交付。

3)第三部分是線上運維的變化:從原來的虛擬機器維度運維,演進到容器叢集維度的運維,需要有更高的視角來幫助企業的開發運維同學,這裡我們提出鳥瞰式運維理念,通過應用視角鳥瞰 K8s 所有資源,運維管理的不再是單獨針對 Deployment、Service、Ingress 這些 K8s 原子資源進行,而是鳥瞰式的統一監管控實現運維。

2.png

EDAS 4.0 全面升級 &ADD 1.0 重磅釋出

針對上面提到的生命週期三個階段新場景演進產生的新訴求,EDAS 正式釋出了 4.0 版本,新增多叢集應用管理、微服務 API 管理與測試、端雲聯調 3.0 等新能力。同時重磅釋出新產品 --- 雲原生應用開發設計平臺 ADD v1.0,大大提升雲原生應用的開發效率。

接下來將為大家逐一詳細介紹。

3.png

雲原生應用設計開發平臺 ADD 1.0釋出

針對開發設計階段的需求,雲原生應用設計開發平臺 ADD 這個產品應運而生。ADD 產品的設計初衷就是為了提升企業在雲原生應用開發設計階段的工作效率,提高生產力。它有 6 大特色:

  1. 視覺化應用架構設計:幫助企業方便的沉澱與維護原來線上下白板上的架構討論設計;
  2. 前端網頁應用拖、拉、拽設計:實現前端“無程式碼”開發;
  3. 後端程式碼線上開發與除錯:保證程式碼安全;
  4. 一站式整合面向介面的測試用例管理與自動化執行配置能力:實現線上自動化測試;
  5. 整合主流專案管理工具:提高雲原生化開發專案管理效率;
  6. 業務應用元件高效複用:藉助應用元件商店,實現全面的資產複用;

4.png

EDAS 4.0 全新升級——微服務 API 管理與測試

在微服務化的過程場景裡,我們總結出這樣三個挑戰:

  1. 多環境的適配挑戰:由於微服務有不同的研發團隊,環境也是多種多樣,在面對相應的微服務環境時,就需要做專門的配置適配,比如測試的引數、自動化用例的選擇等等。
  2. 應用的可測性挑戰:隨著企業的資源逐漸雲化管理,應用也大都部署在公共雲或現在專有云環境,這樣就帶來了很多可測性挑戰,比如阿里雲的 VPC 環境內無法直接外網訪問,需要彈性 IP 或其他打通方案;並且隨著應用容器化,在 K8s 內的網路拓撲也會帶來相應的複雜度。
  3. 用例生成的挑戰:很多情況下,開發會專注於業務研發,無形中給測試同學帶來了溝通協作的成本,由於不理解微服務介面的契約,就無法很快的實現用例生成。

為了解決以上挑戰,我們提供雲上微服務一鍵測試工具(API 管理與測試)針對性的解決相應問題:

  1. 通過 API 快速測試能力,可以直接打通 EDAS 應用,發起測試,並且測試歷史記錄可以快速生成 API 模板。
  2. 然後是通過測試環境管理,打通雲內微服務,提供了 API 模板與測試環境引數的設定能力,可以直接實現一套測試配置對映一個微服務環境下的應用。
  3. 提供一個用例管理功能,統一模板化管理用例,實現用例自適應,也就是這個用例可以按照執行的微服務環境來選擇相應配置執行。

所以,EDAS 的微服務一鍵測試工具,相當於為使用者提供了一個面向微服務的雲上私網 Postman,一鍵自動化執行用例,完成雲上微服務測試,提升微服務測試效率。

5.png

EDAS 4.0 全新升級——端雲聯調 3.0

針對開發測試的部署架構變化,EDAS 4.0 將微服務的端雲聯調能力進行了全面升級,也是從 2020 年以來的第三次升級。這次升級,可以支援企業使用者在容器化開發過程中,快速的將原生程式碼跑起來,和雲上微服務打通聯調。本地可以是容器,也可以是程式,很好的實現一套雲上微服務環境,多個研發協同開發微服務的需求場景。

端雲聯調 3.0 主要升級了 3 大能力:

  1. 微服務的雙向聯調:日常開發中,研發本地可能寫的是 Consumer 服務消費者,也可能是 Provider 服務提供者,所以實現雙向互調就顯得非常必要。本地的應用拉起後,藉助工具提供的通道服務,可以輕鬆打通雲上代理,進行互調。
  2. 橫向產品支撐:因為微服務化應用啟動或執行時,往往需要依賴 DB、MQ、Redis 等資源,端雲聯調 3.0 也進行了相應的支援,除了微服務,資料庫、快取、訊息佇列等也都可以給本地訪問。
  3. PaaS 層能力支援:對於開發常用的一些診斷、觀測能力, 端雲聯調 3.0 也提供服務鑑權、流量控制、鏈路的診斷這樣的能力,更好地提升開發聯調效率。

6.png

EDAS 4.0 全新升級——多叢集應用管理

我們看到隨著業務的發展,一些企業逐漸有了應用的叢集級容災、多地域部署、業務同發這樣的挑戰和需求,還有一些企業的業務要同時部署在境外保證合規,以及一些政企客戶需要中央統一管控各個地方的應用。

為了應對這樣的應用交付新業務場景挑戰,EDAS 4.0 也是提供了全新的多叢集應用管理支援,藉助一個統一的應用模板,來實現通用的跨叢集的應用部署管理。比如建立應用、更新應用、變更應用配置等左側這些原來單叢集下的管理能力,全部升級為多叢集維度的能力。也就是說可以站在多叢集應用視角來對一個多叢集應用實體,進行統一的治理、統一的觀測,不再需要多個叢集間來回跳轉,解決前面提到的業務場景新挑戰,幫助客戶實現叢集容災、多地部署等訴求。

7.png

EDAS 4.0 全新升級——“鳥瞰式”運維

最後針對線上運維的變化,EDAS 4.0 升級提供了鳥瞰式運維的支援。

雲原生的應用,在微服務和容器化之後,顆粒度會更加小,所以再去進行精細化管控,已經不再合適,需要放養,需要鳥瞰式管理運維。我們認為鳥瞰式運維,主要可以從業務、應用、資源幾個維度逐層遞進來展開。

  1. 業務維度:通過提供流量無損、流量控制能力,保證業務應用的穩定執行,然後提供面向業務的灰度釋出能力實現應用的可控上線,再加上按業務指標進行彈性的觸發實現業務的靈活負載。
  2. 應用維度:支援按照應用拓撲來觀測上下游呼叫情況,藉助應用觀測與告警,來保證應用級服務介面問題的及時發現。並且可以直接進行應用級的統一變更,不用再深入到底層的工作負載維度去操作。
  3. 資源維度:提供一鍵檢索快速定位到 EDAS 的任意應用關聯的資源。並新增資源畫像能力,應用的資源畫像是直接關聯應用例項的,可以幫助使用者一鍵檢測出錯配、空轉的具體例項資源,同時提供動態排程,實現更可靠的資源動態分配。

8.png

總結

EDAS 是一款非常成熟的產品,從 1.0~2.0 時代圍繞企業業務中臺建設,更好的幫助企業實現資源叢集化和業務彈性可伸縮,並提供標準的服務化開發框架,同時也很好地支援了一些企業業務線上化和中臺化。到了 2020 年,我們釋出了 EDAS 3.0,實現了業務應用的監管控一體,並提供無侵入的雙模微服務的支援(也就是 Java+ 多語言微服務)。

現在,EDAS 正式來到 4.0 時代,釋出了多項重磅新能力;同時聯合新產品—雲原生應用設計開發平臺 ADD 1.0,一起釋出雲原生應用研發&運維 PaaS 產品家族,助力企業應用架構現代化升級。

9.png

點選此處,即可檢視 EDAS 相關介紹~

相關文章