日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

螞蟻 PaaS 平臺核心領域模型介紹

本篇介紹了螞蟻 PaaS 平臺的基本概念與核心領域模型,同時也對阿里云的 IaaS 核心模型進行了闡述,希望對想要初步了解螞蟻 PaaS 平臺技術架構的用戶提供入門指引。

螞蟻 PaaS 平臺介紹

螞蟻 PaaS 平臺是螞蟻業務全球化輸出的技術支撐平臺,PaaS 平臺的領域模型定義,是 PaaS 層產品技術最核心的架構規范。螞蟻 PaaS 平臺作為金融科技商業化輸出的底盤(商業化品牌名為 SOFAStack CAFE)提供了以應用為核心的研發、運行、運維全生命周期能力支撐。

IaaS 層核心領域模型與概念

地域(Region)與可用區(Availability Zone,AZ)

阿里云上的基礎物理拓撲包括地域(Region)和可用區(Availability Zone),它們是阿里云的兩個核心領域模型。

地域(Region)與可用區(Available Zone,AZ)
  • 地域 Region:物理的數據中心。地域通常以城市為單位,如杭州、上海、青島、北京等,每個地域之間是互相物理獨立和隔離的,如要互通則需要通過物理專線的方式打通。不同的 Region 提供的產品能力、安全與穩定性水位、資源價格有所不同。

  • 可用區 Availability Zone/AZ:在同一地域內,電力和網絡互相獨立的物理區域。可用區之間網絡互通,故障隔離。是否將實例放在同一可用區內,主要取決于對容災能力和網絡延時的要求??捎脜^通常也代指機房,即 IDC,兩者概念相同。

    說明

    阿里云劃分地域和可用區的原因是考慮網絡延時。相同地域的不同可用區之間的網絡延時不超過 2ms。

  • 金融地域(金區):針對金融行業客戶對安全水位有更高要求的場景,會提供完全隔離,并專門部署更高安全水位的云產品組合的地域,稱之為金融地域(或金融區)。例如公有云有三個金融 Region 分別是:杭州金區(cn-hangzhou-finance)、上海金區(cn-shanghai-finance-1)和深圳金區(cn-shenzhen-finance-1)。

    更多介紹,請參見 金融云特性、金融云產品列表。

專用網絡(VPC)

專有網絡 VPC(Virtual Private Cloud)是您自己獨有的云上私有網絡。您可以完全掌控自己的專有網絡,例如選擇IP地址范圍、配置路由表和網關等,您可以在自己定義的專有網絡中使用阿里云資源如云服務器 ECS、云數據庫 Redis 版和負載均衡 SLB 等。

VPC 定義了網絡邊界, 您可以更加方便地在云上自定義網絡的規劃和管理:您可以自定義虛擬路由器(vRouter)網段,配置路由表規則,也可以自定義虛擬交換機(vSwitcher),配置子網。

專用網絡(VPC)

阿里云對 VPC 模型的限制如下:

  • 一個 VPC 不可以跨 Region。

  • 一個 VPC 只有一個 vRouter。

  • 一個 vSwitcher 只能屬于一個 AZ。

  • 一個安全組可以包括不同 vSwitcher 下的 ECS。

相關操作請參見:專有網絡 VPC、網絡規劃。

PaaS 層核心領域模型

應用(Application)與應用服務(AppService)

為了方便金融級大規模分布式系統的研發運維,螞蟻 PaaS 平臺在阿里云基礎資源之上抽象了“應用(Application)”和 “應用服務(AppService)” 的概念。

一個租戶內的一套代碼對應一個應用,應用有對應的技術棧、分組、分級等基礎元信息。應用是 PaaS 平臺的核心概念,螞蟻研發運維體系都圍繞著應用來展開,研發應用、發布應用、運維應用、監控應用等。

應用(Application)與應用服務(AppService)

應用服務(AppService)是 CAFE 發布運維體系的核心模型,一個業務應用常常由多個應用服務組成。應用服務代表一個應用在一個工作空間的一次部署,部署時需要有應用鏡像/發布包、應用配置、以及部署的資源。

例如針對多人開發同一個應用的場景,每個開發同學會拉出自己的代碼分支部署在開發環境去部署,即在開發工作空間(Workspace:Dev)中,有三個同學開發測試部署同一個應用的不同分支(App:paycore),會產生三個不同的應用服務(AppService:paycore_dev1、paycore_dev2、paycore_prod)。每個應用服務可以部署在不同的服務器上,關聯不同的基線配置。但對于生產環境,不允許一個應用在生產環境有多個不同的代碼版本,安全隱患極大。

應用服務(AppService)

相關操作請參見:管理應用、創建應用服務

工作空間(Workspace)、地域(Region)與可用區(Availability Zone)

工作空間(Workspace)是 SOFAStack 提供的一種組織機制,用于將服務于不同目標、階段的資源分組隔離管理。典型的使用場景是根據研發運維流程,為每一個階段分配工作空間,例如單機房(即單可用區)的開發工作空間、雙機房(即包括兩個可用區)的生產工作空間。

重要

Workspace 可以跨可用區,實現容災能力,但必須在同一個地域內,跨地域的多個工作空間可以組成工作空間組(通過單元化架構支持)。

image.png

工作空間(Workspace)的核心是一組不受網絡連通性束縛的資源邊界。在阿里云,地域之間的網絡默認不通,同時云產品也基本上是以地域為邊界設置產品實例。例如:SLB 不可能跨地域掛載 ECS、VPC 不可以跨地域等。因此,我們設立工作空間模型的原因是希望在這個范圍內的資源之間的關系不用考慮網絡連通性所帶來的復雜性問題。

在實現過程中,工作空間通過 RAM 實現訪問控制的隔離,通過 VPC 和安全組實現網絡隔離,或者通過分屬不同的 Kubernetes 集群實現物理隔離,亦或是通過在同一個 Kubernetes 集群內的不同資源標簽實現篩選管理。

相關操作請參見:管理工作空間。

應用(Application)與工作空間(Workspace)

應用是租戶級別的概念,一個租戶內的一套代碼對應一個應用。應用不僅跨 Workspace 存在,也會跨 Region 存在。

應用(Application)與工作空間(Workspace)

應用服務(AppService)與工作空間(Workspace)

應用研發的生命周期中,研發人員經常會接觸多個環境。我們一般可以認為,一個 Workspace 就是一個環境。但是,實際上一個環境,也可以由多個 Workspace 組成。

說明

在 PaaS 的核心領域模型中,不再嘗試定義“環境”這個模型,因為環境的概念在不同組織的研發協同流程中定義是不一致的,所以環境可以根據當前的 PaaS 領域模型組合搭建。

一個應用服務,并不受工作空間范圍的約束,因為一個應用服務往往可能同時部署在多個工作空間,比如一個“生產環境”可能由多個工作空間組成。

應用服務

但是,應用服務下的資源一定是屬于某一個工作空間的,同一資源不能同時屬于兩個工作空間。

相關操作請參見:創建應用服務。

工作空間(Workspace)與專用網絡(VPC)

每個工作空間只會對應到唯一一個 VPC,這是因為工作空間的核心表達是一組不受網絡連通性束縛的資源邊界的定義。

工作空間(Workspace)與專用網絡(VPC)
說明

  • 同一個 VPC 可以綁定到不同的工作空間中,這時 VPC 中的資源需要手動導入到工作空間中。

  • 可以通過高速通道進行不同工作空間的 VPC 之間的打通。

多租戶(Multi-tenant)

公有云 SOFAStack 是多租戶(Multi-tenant)架構,各租戶可以按照需要創建自己的工作空間,并且定義人員可以進行的操作權限。

多租戶

SOFAStack 與阿里云的賬號體系進行了深層次的融合:一個租戶映射到一個阿里云的云賬號(即主賬戶)上。每個用戶,都是屬于這個云賬號下的子賬號。

44
  • 主賬號:即阿里云云賬號,可用于登錄阿里云平臺,具有 Root 權限,是阿里云獨立的結算個體,通常由企業持有,獨立負責阿里云側的結算。

  • 子賬號:主賬號下虛擬的子賬號,可以創建任意多個,通常對應企業內的人或者系統。

相關操作請參見:RAM 主子賬號授權、跨云賬號授權。

PaaS 層擴展領域模型

為了支撐更加復雜的應用場景,金融云 PaaS 還定義了以下更高級的模型。

  • 工作空間組(WorkspaceGroup )

  • 應用服務實例組(AppService Instance Group,AIG)

  • 部署單元(Cell)

工作空間組(WorkspaceGroup )

工作空間組(WorkspaceGroup)是工作空間(Workspace)在多地域的擴展,在多地域內對資源進行分組隔離管理。多個地域的網絡可以通過專線高速通道實現互通。如生產工作空間組(WorkspaceGroup:prod),包含兩個工作空間:上海生產工作空間(Workspace:prod_shanghai)、杭州生產工作空間(Workspace:prod_hangzhou)。

工作空間組

在 SOFAStack 控制臺上,有些產品會支持以 WorkspaceGroup 視角進行操作:比如單元化應用服務 LHC、異地容災產品、監控產品等。

相關操作請參見:創建工作空間組。

應用服務組(AppServiceInstance Group,AIG)

應用服務組(AIG) 用于圈定一組應用服務下的資源,是 Application 的一個更加細粒度的部署分片。

重要

一個應用服務(AppService)不一定必須屬于一個 AIG,但一定屬于一個 Application。

應用服務組

有些業務場景下,我們需要對同一個應用(Application)從業務層面進行更細粒度的劃分。例如,不同的業務都依賴同一個 Application,如何從一個業務的視角,對這個應用下的部署實例進行更細粒度的控制,比如部署隔離、流量分配等。因此在 Application 模型下,增加了 AIG 這個模型。

應用服務組(AIG) 與工作空間組(WSG)

AIG 可以跨 WSG。按照螞蟻集團的經驗,可以將一個 WSG 定義為一個環境。

77

AppService 可以跨 WS,但不可以跨 WSG。因為通常來說,一個 AppService 不可能包括兩個“環境”下的資源,兩個“環境”下的 AppService 往往意味著兩種不同的基線配置。

部署單元(Cell )

Cell 是發布部署要感知的最小部署單元。一個 Cell 一般會對應一個中間件配置中心。

重要

Cell 不可以跨 AZ。

部署單元

Cell 是實現同城雙活、藍綠發布、單元化架構的基礎。每個 Cell 內可以理解為有一個邏輯獨立的配置中心。

Cell

Unit 是 LHC 產品封裝的模型,不是 PaaS 層核心領域模型。LHC 產品利用 PaaS 層的 Cell 模型對單元化架構中的邏輯 Zone 進行劃分。

Unit

相關操作請參見:管理部署單元。

應用服務(AppService)與部署單元(Cell )

  • 一個 App 的 AppService 可以跨 Cell。適用于雙機房雙活及藍綠發布場景。

    777
  • 一個 App 的 AppService 可以跨 Cell,也可以跨 Workspace,適用于異地多活單元化場景。

    888
  • 一個 App 可以創建多個 AppService 放到多個 Cell 內。適用于多分支獨立研發場景及單元化場景(假設一個unit 內只有一個 cell)。

    999
  • 同一 App 創建多個 AppService 部署在同一個 Cell。適用于使用 sofaRouter 的聯調場景,或者不依賴配置中心的普通 App 場景。

    同一 App 創建多個 AppService

PaaS 層領域模型與 Kubernetes 領域模型映射

PaaS 發展到現階段,與 Kubernetes 的關系越來越緊密,Kubernetes 是一個很好的技術平臺,但是 Kubernetes 不等于 PaaS,PaaS 層的領域模型本質是為了 PaaS 產品提供的業務語義服務。

為了讓基于 Kubernetes 實現的 SOFAStack 平臺能夠繼承前面所述 PaaS 層領域模型支撐的復雜場景和架構。我們有必要對 Kubernetes 與 PaaS 層領域模型進行一定的規約和映射。

集群(Cluster)與租戶(Tenant)

公有云與專有云上,Tenant 對一個 Kubernetes Cluster 有不同的約束:

  • 公有云上的一個 Cluster 只能屬于唯一一個租戶,而一個租戶可以有多個 Cluster。

  • 專有云的一個 Cluster 往往是多租戶共享的。

集群(Cluster)與租戶(Tenant)

相關操作請參見:創建集群。

集群(Cluster),命名空間(Namespace)與工作空間(Workspace)

Cluster 與 Workspace 為多對多關系:一個 Cluster 可以被多個 Workspace 共享,一個 Workspace 也可以擁有多個 Cluster。

  • 公有云:一個 Workspace 可以包含多個 Cluster。且因為一個 Workspace 只能對應到一個 VPC, 所以多個 Cluster 必須屬于相同的 VPC。一個 Cluster 的集群管理,比如創建和初始化,都在 Workspace 內完成。

  • 專有云:一個 Cluster 的集群管理,并不在 Workspace 內部完成,會由全局統一管理,將一個 Cluster 分配給一個 Workspace。

集群

命名空間(Namespace)是對一組資源和對象的抽象整合。在同一個集群內可創建不同的命名空間,不同命名空間中的數據彼此隔離,使得它們既可以共享同一個集群的服務,也能夠互不干擾。一個 Namespace 只能關聯到一個 Workspace 中。

相關操作請參見:創建集群。