Leo Yeh's Blog

SAS Viya (123)

教學目標

初步了解如何在 Google Cloud Platform 雲端平台中部署 SAS Viya 分析平台的基本概念。

重點概念

首先最近這個月為了進行概念性驗證的工作任務,而花大部份時間在 Google Cloud Platform (GCP) 雲端平台中部署 SAS Viya 分析平台,主要測試和驗證模型管理生命週期整合深度學習框架之開放源始碼的工作流程管理情境是否能夠符合企業客戶的需求,其中 80% 以上的需求僅需設定就能滿足,而 20% 以下的需求則需要透過 Python 程式整合 SAS Viya 分析平台所提供官方的 REST API 進行開發和撰寫特定腳本指令就能夠滿足,這是一件非常有趣、有挑戰和有成就感的工作任務。但是要進行工作任務之前,我們則需要先部署 SAS Viya 分析平台,此時我們主要選擇 GCP 雲端平台進行部署,其中部署主要有虛擬機部署和容器部署兩種方式,不論是以哪一種方式進行雲端部署,理應要使 SAS Viya 分析平台部署變得更容易,為了能夠從零開始進行部署,則我們必須先考慮 SAS Viya 分析平台的安裝和設定,如果這不容易自動化,那將就會陷入困境。而本篇主要針對虛擬機部署的方式進行分享,至於有關容器部署的方式,則請參考之前所分享「初步了解在三大主流雲端平台所提供的 Kubernetes 容器管理平台之服務部署 SAS Viya 平台的基本概念」的部落格文章

接著 SAS Viya 分析平台主要透過 Ansible 工具進行自動化軟體部署,其主要能夠在一個或多個虛擬機上安裝和設定 SAS Viya 分析平台,更進一步搭配 Cloud Deployment Manager 工具將允許我們建立整個部署的範本,以利我們能夠使用指令來支援所有部署,此外我們也能夠透過 Google Cloud Shell 與 Google Cloud API 整合使用來建立 GCP 雲端平台中的虛擬機,也就是使用 Google Compute Engine (GCE) 服務建立虛擬機實體,並且在虛擬機中執行特定指令,像是執行 Ansible 輕鬆地進行 SAS Viya 分析平台從零自動化部署,若是映像檔已經下載完成,則部署時間將能夠在一個小時之內完成,此外在 SAS 官方討論區,則有一篇分享的官方文章提到如何在 GCP 雲端平台中建立 SAS Viya 分析平台,建議花點時間閱讀,其中提到三大步驟,分別為前置部署準備作業、儲存部署設定檔至 Google Cloud Storage 服務中,以及執行 Google Cloud API 進行自動化部署作業。

再來所謂 Google Compute Engine (GCE) 運算服務主要是執行 Linux 公開映像檔或私有自定義映像檔的運算引擎實體的服務,也就是所謂基礎架構即服務 (Infrastructure as a Services,IaaS),我們將能夠獲得一個已經安裝好作業系統的虛擬機伺服器,此時我們能夠透過 SSH 連線並且執行操作指令,像是安裝二進位檔案、編輯檔案、執行命令、系統服務、… 等。至於 GCE 運算服務所提供的機器類型,主要有預先定義和自訂設定的虛擬機器,所謂預先定義基本上就是固定的 CPU 和記憶體資源集合,目前主要有五種預先定義的機器類型,分別為標準、高記憶體使用率、高 CPU 使用率、共用核心和記憶體最佳化,而不同機器類型之間的主要區別就是 CPU 和記憶體的比率,當然價格也會根據機器類型而有所不同。此外 GCP 雲端平台與 AWS 雲端平台所提供運算服務最大的不同在於 GCP 雲端平台允許我們自訂機器類型,能夠調整 CPU 和記憶體比率,以及增加 GPU 處理器,至於價格則取決於虛擬機實體使用的 vCPU 和記憶體的數量。此外對於部署 SAS Viya 分析平台需要選擇哪種類型的機器,則建議使用高記憶體使用率機器類型,像是「n1-highmem-16 machine 」擁有 16 個 vCPU 與 104 GB 記憶體的高記憶體使用率機器類型。請注意 GCP 雲端平台將處理能力表示為 vCPU,也就是虛擬 CPU 的簡稱,而 GCE 運算服務所提供的虛擬機設定了超執行緒,也就是每個物理 CPU 核心有兩個執行緒數,這代表著上表中列出的 vCPU 是執行緒數,而非物理 CPU 核心數,因此 GCP 中的 16 個 vCPU 為 8 個物理 CPU 核心數,此外在 SAS 官方討論區,則有一篇分享的官方文章提到有關部署 SAS Viya 分析平台時與虛擬機器網路連線和安全控管的資訊,建議花點時間閱讀,其中提到建議使用內部 IP 進行 SAS Viya 分析平台所有機器之間的通訊,尤其是 CAS 伺服器節點之間的通訊,並且 CAS 伺服器節點和資料來源伺服器之間必須放至正確的區域中,因為若有較長的地理距離,則會影響資料處理的效能。

最後 SAS Viya 分析平台中最關鍵的 CAS 伺服器中進行資料處理和分析的效能主要取決於 I/O 的處理速度 (Input/Output Operations Per Second,IOPS) ,若能夠更快的讀取和寫入資料,則分析處理所需的時間就越短,而 GCE 運算服務主要有提供四種儲存的解決方案,分別為區域標準永久磁碟和區域 SSD 永久磁碟、地區永久磁碟和地區 SSD 永久磁碟、本機 SSD 和 Cloud Storage 值區,若要在 GCP 雲端平台中部署 SAS Viya 分析平台,則建議使用區域標準永久磁碟和區域 SSD 永久磁碟,並且除了 IOPS 的處理速度之外,磁碟的輸出量對於分析處理所需的時間就越短,而永久磁盤處狂受出口網路流量限制,至於出口網路流量,則取決於 vCPU 數量的限制,這代表著永久磁碟寫入操作將會受到虛擬機實體的網路出口上限的限制,因此區域標準永久磁碟和區域 SSD 永久磁碟將能夠在更多 vCPU 數量的虛擬機實體上實現更高的 IOPS 和輸出量的效能,以及輸出量效能還取決於磁碟的大小,特別是對於大型讀取和寫入,像是若要達到 120 MB/s 相同的效能,則至少需要具有 1 TB 的區域標準永久磁碟或 250 GB 的 SSD 永久磁碟。此外針對 SAS Viya 分析平台中的 CAS_DISK_CACHE 暫存目錄設定,則建議使用本機 SSD 以利提供高 IOPS 和輸出量的臨時儲存空間,至於在 SAS 官方討論區,則有一篇分享的官方文章提供有關部署 SAS Viya 分析平台時,根據不同服務的儲存目錄建議選擇哪一種儲存的解決方案最適合,建議花點時間閱讀,其中提到為了確保所提供的磁碟滿足 IOPS 和輸出量則建議執行 SAS IO 測試工具

總結在 GCP 雲端平台上部署 SAS Viya 分析平台有虛擬機部署和容器部署兩種部署方式,如果我們花時間產生自動化流程的腳本指定,將能夠大幅提高部署彈性和縮短部署時間。

相關資源

⬅️ Go back