Leo Yeh's Blog

SAS Viya (81)

教學目標

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

重點概念

首先規劃不同 SAS Viya 元件的硬體配置將會考量不同的特性,規劃微服務和網站伺服器主要會根據不同的微服務類型和同時在線使用者連線數 (Session) 決定記憶體大小和低網路延遲,規劃運算伺服器主要需要高 CPU,規劃 CAS 伺服器主要需要高 CPU、高記憶體、高儲存輸出、高網路頻寬和低網路延遲,規劃架構伺服器主要需要低網路延遲,規劃 Elasticsearch 伺服器主要需要高 CPU、高記憶體、高儲存每秒的讀寫次數、高網路頻寬和低網路延遲,因此我們能夠根據上述原則規劃不同 SAS Viya 元件的硬體配置,並且當規劃在 AWS 雲端平台部署 SAS Viya 平台時,則建議採用記憶體優化執行個體 (Memory Optimized Instances),或者針對微服務則建議採用一般用途執行個體 (General Purpose Instances),通常不建議採用運算優化執行個體 (Compute Optimized Instances),因為 SAS Viya 的授權是以核心數計價,並且運算伺服器和 CAS 伺服器同時需要高 CPU 和高記憶體的情況將會以記憶體為主,以及不建議採用儲存優化執行個體 (Storage Optimized Instances),因為會根據 SAS Viya 元件的配置選擇適當的 AWS EC2 Instance Store 執行個體資料儲存、AWS EBS 持久性資料區塊級儲存磁碟區和 AWS EFS 共享檔案儲存服務相關配置,至於不同 SAS Viya 元件的硬體配置之詳細資訊,請參考下表。

元件 CPU 記憶體 儲存輸出 儲存每秒的讀寫次數 網路延遲 網路頻寬
Microservices and Web Application Moderate High Moderate Moderate Low Low
Compute Server High Moderate Moderate Moderate Low Moderate
Infrastructure Server Moderate Moderate Moderate Moderate Low Moderate
CAS Server High High High Moderate Low High
Elasticsearch Server High High Moderate High Low High

(註:高儲存輸出主要為每個核心數至少 100MBps。)

接著規劃 SAS Viya 平台需考慮硬體配置之外,高效能的檔案系統的配置也是非常重要,我們主要考量運算伺服器和 CAS 伺服器中檔案系統的配置,像是運算伺服器因為會執行 SAS Studio 和工作區所以需要考量 SASWORK 暫存目錄、SASUTIL 暫存目錄、SAS DATA 儲存目錄的檔案系統配置,而 CAS 伺服器會分為 CAS Controller 和 CAS Worker,其中 CAS Controller 主要當採用序列載入 (Serial Loading) 時,則會考量 CAS_CONTROLLER_TEMP 快取目錄和 SAS 資料集儲存的檔案系統,以及考慮 CAS DATA 儲存目錄的檔案系統 (/opt/sas/viya/config/data/cas/default),因為視覺化分析、視覺化文字分析、視覺化預測分析、… 等皆會大量存取 CAS 內容設定檔,至於 CAS Worker 主要當採用平行載入 (Parallel Loading) 時,則會考量 CAS_DISK_CACHE 快取目錄的檔案系統。此時若我們要在 AWS 雲端平台上部署 SAS Viya,則要選擇哪類型的儲存空間的詳細資訊,請參考下表。

檔案系統 儲存服務 儲存類型 暫時儲存 持久儲存
SASWORK Instance Store NVMe SSD Y N
SASUTIL Instance Store NVMe SSD Y N
SAS DATA EBS Throughput Optimized HDD N Y
CAS DATA EBS Provisioned IOPS SSD N Y
CAS_CONTROLLER_TEMP Instance Store NVMe SSD Y N
CAS_DISK_CACHE Instance Store NVMe SSD Y N

再來在 SAS Viya 平台中主要有五種應用情境需要共享的檔案系統,分別為:

  1. Multiple Compute Server
  2. High available CAS Servers
  3. Parallel loading using DNFS from CAS Workers
  4. High available SAS infrastructure Data Server
  5. Backup Service

至於應用情境所對應儲存的詳細資訊,請參考下表。

應用情境 儲存目錄 儲存需求 儲存服務 儲存模式
Multiple Compute Server HOME DATA, SAS DATA Moderate Throughtput EFS General Purpose, Bursting Throughput, Provisioned Throughtput
High available CAS Servers CAS DATA High Throughtput EFS General Purpose, Bursting Throughput, Provisioned Throughtput
Parallel loading using DNFS from CAS Workers SAS DATA High Throughtput EFS General Purpose
High available SAS infrastructure Data Server SANMOUNT Moderate to high IOPS EFS General Purpose
Backup Service BACKUP DATA Low Throughtput and IOPS EFS General Purpose

(註:若在 SAS Viya 平台採用 DNFS 分散式儲存,則針對 SAS DATA 和 CAS DATA 建議使用 Bursting Throughput 儲存模式。)

最後 SAS Viya 平台中備份服務主要會針對四種內容進行備份,分別為:

  1. SAS Configuration Server (Consul)
  2. SAS Message Broker Server (RabbitMQ)
  3. SAS Infrastructure Data Server (PostgreSQL)
  4. Cloud Analytic Services Permstore (CAS)

其中 SAS Viya 備份服務需要在所有執行個體上掛載共享檔案系統,並且設定為 Shared Vault 備份路徑,至於作業系統、部署檔案、使用者目錄和資料目錄,則需要透過第三方工具進行備份,所以當在 AWS 雲端平台部署 SAS Viya 平台時,則建議透過 Amazon Machine Image 針對每個執行個體在成功部署之後進行機器映像檔備份,並且手動或排程方式建立使用者目錄和資料目錄對應 AWS EBS 持久性資料區塊級儲存磁碟區的快照和執行 SAS Viya 備份服務儲存至 AWS EFS 共享檔案儲存服務的空間中,至於還原方式主要先還原機器映像檔備份,並且確認與部署 SAS Viya 完成時相同的 IP 位置,以及透過 AWS EBS 持久性資料區塊級儲存磁碟區的儲存空間的快照還原使用者目錄和資料目錄,最後執行 SAS Viya 備份服務從 AWS EFS 共享檔案儲存服務的空間中還原上述四種內容。

相關資源

⬅️ Go back