Leo Yeh's Blog

SAS Viya (80)

教學目標

初步了解在 AWS 雲端平台上部署 SAS Viya 平台的基本概念。

重點概念

首先雲端運算主要有公有雲、私有雲和混合雲,但是大多數的企業客戶主要會使用多種雲端服務進行數位轉型,雲端服務的類型主要有基礎架構即服務 (IaaS)、平台即服務 (PaaS)、軟體即服務 (SaaS) 和商業流程即服務 (Business Process as a Service),其中基礎架構即服務的雲端服務目前還是以 Amazon Web Services (AWS) 雲端服務為企業領導者。而 SAS 目前則有提供在 Amazon Web Services (AWS) 雲端上部署 SAS 平台,在 AWS 驗證的環境中提供 SAS 分析、資料視覺化以及機器學習功能,至於部署公有雲的方法主要有兩種,分別為:

  1. 傳統部署方法:客戶提供虛擬機器和在安裝設定 SAS Viya 平台執行前置安裝設定,以及透過 Ansible 進行手動部署,時間會以天和週為單位,但是能夠部署任何架構。
  2. 快速開始方法:客戶透過雲端入口網站使用 SAS Viya Quick Start 範本自動部署 SAS Viya 平台,時間會以小時為單至,但是僅能夠部署固定架構。

簡單來說,假設客戶希望使用 SAS Viya 分析功能擴展模型開發的過程,並且客戶沒有基礎設施,也沒有安裝 SAS Viya 的經驗,此時就不建議採用傳統部署方法,而是建議採用快速開始方法,將能夠大大節省提取硬體採購和配置、部署規劃和與 IT 的協調以及軟體安裝和配置所需的工作量和時間。

接著 AWS 雲端服務目前主有二十一個地理區域,每個地理區域皆會有多個可用區域,所有可用區域之間提供高輸送量、低延遲與完全冗餘的專用光纖連線,像是 AWS 上的 SAS Viya 快速部署範本主要部署在一個可用區域,而當客戶需要部署 SAS Viya 災難復原的規劃時,我們則需要將 SAS Viya 部署至二個不同的可用區域,此時部署 SAS Viya 則建議會將 CAS Controller 、 CAS Worker 和 Viya Services 分別部署至不同的虛擬機器中,而為了同時滿足恢復時間目標 (Recovery Time Objective,RTO) 和雲端服務成本目標,建議停用 CAS Controller 和 CAS Worker 所有虛擬機器,因為 Viya Services 啟動需要二十分鐘,然而 CAS Controller 和 CAS Worker 則不需要三十秒,因此僅啟動 CAS Controller 和 CAS Worker 所有虛擬機器將能夠滿足恢復時間目標和雲端服務成本目標 。此外 AWS 雲端服務更有提供節點能夠針對全世界的主要城市透過 AWS CloudFront 和 AWS Rroute 53 透過快取資料發佈內容至終端使用者以利降低網路延遲。除此之外 AWS 雲端服務更有提供虛擬私有雲 (VPC) ,並且能夠區分公有子網路和私有子網路,像是 AWS 上的 SAS Viya 快速部署範本中的公有子網路主要有 Ansible Controller、NAT Gateway 和 Elastic Load Balancing (ELB),私有子網路主要有 CAS Controller 和 Viya Services。至於公有子網路和私有子網路主要差別在於公有子網路預設會連線至虛擬私有雲中 Internet Gateway 連線至網際網路,而私有子網路則需要連線至 NAT Gateway 和 Elastic Load Balancing (ELB) 連線至網際網路,像是 AWS 上的 SAS Viya 快速部署範本中的 CAS Controller 透過 NAT Gateway 連線至網際網路下載相關套件,Viya Service 透過 Elastic Load Balancing (ELB) 除了連線至網際網路下載相關套件之外,更提供對外連線至 SAS Viya 的網站服務,所謂 Elastic Load Balancing (ELB) 主要是用於網路流量的負載平衡,可分為應用程式負載平衡器和網路負載平衡器,至於部署 SAS Viya 主要以應用程式負載平衡器達到高可用性架構為主,而在實務應用中我們通常會將網站伺服器部署至公有子網路,而會將應用程式伺服器和資料庫部署至私有子網路。

再來 AWS 雲端服務目前有提供 AWS Network Access Control List (NACL) 控管子網路的存取控制,以及 AWS Security Group 控管虛擬機器實體的存取控制,請注意 AWS Security Group 僅能夠設定允許規則,不像 AWS Network Access Control List (NACL) 能夠設定允許規則和拒絕規則,以及 AWS Security Group 主要為 Stateful,而 AWS Security Group 主要為 Stateless,像是 AWS 上的 SAS Viya 快速部署範本中主要會針對公有子網路和私有子網路皆有對應不同的 AWS Network Access Control List (NACL) 存取控制,以及 Ansible Controller、 CAS Controller 和 Viya Services 虛擬機器實體皆有對應不同的 AWS Security Group 存取控制。此外在 AWS 上的 SAS Viya 快速部署範本中將會透過 AWS CloudWatch 用於部署和應用程式日誌,以利提供資料和可行的洞見以監控應用程式、了解並回應整個系統的效能變化、優化資源使用情況,以及透過整合的檢視來查看運作狀態,以及在 AWS 上的 SAS Viya 快速部署範本中將會透過 Amazon Simple Notification Service (Amazon SNS) 發送電子郵件部署開始和結束時的通知,因此當我們透過 AWS 上的 SAS Viya 快速部署範本產生 SAS Viya 環境之後,將能夠提供客戶有效進行安全控管和維運管理。

最後 AWS 雲端服務目前有提供 AWS Elastic Compute Cloud (EC2)、AWS Elastic Block Storage (EBS) 和 AWS Elastic File System (EFS) 雲端服務主要用於部署解決方案,像是 AWS 上的 SAS Viya 快速部署範本中主要透過 AWS Elastic Compute Cloud (EC2) 建立 Ansible Controller、 CAS Controller 和 Viya Services 虛擬機器實體,並且每個虛擬機器實體皆會掛載 AWS Elastic Block Storage (EBS) 儲存空間部署 SAS Viya 環境安裝檔和設定檔,以及掛載 AWS Elastic File System (EFS) 儲存空間部署環境共享設定檔,像是 SAS Viya 環境中的 CAS Controller 內容設定檔和 Shared Vault 備份設定檔。此外 AWS CloudFormation 主要用於提供一種可讓開發人員和系統管理員建立相關 AWS 資源集合的簡單方式,並透過按順序且可預測的方式進行佈建,其主要是以 JSON 和 YAML 資料格式進行設定,因此當我們採用 AWS 上的 SAS Viya 快速部署範本主要會透過 AWS CloudFormation 產生 SAS Viya 環境所需要的 AWS Elastic Compute Cloud (EC2) 和 AWS Elastic Block Storage (EBS) 雲端服務,請注意因為 AWS 上的 SAS Viya 快速部署範本主要為對稱多處理 (Symmetric Multi Processing,SMP),而非大量分散式處理 (Massively Parallel Processing,MPP),所以不需要採用 AWS Elastic File System (EFS) 儲存空間部署環境共享設定檔。

相關資源

⬅️ Go back