第 3 章:平台管理

此章節主要介紹 SAS 平台如何落實平台管理

基本介紹

首先為了實現企業分析策略,我們將會需要一個能夠適合的方式來平衡選擇和控制的分析平台,此時 SAS 平台就能夠透過提供選擇和控制的完美平衡協調分析過程,以確保我們在資料,人才和分析技術方面的投資獲得最佳的投資報酬率,所謂選擇和控制的概念請參考官方影片。此外對於資訊單位導入 SAS 平台將能夠整合和管理數據、模型部署和不同的開源技術,並且平衡資料和模型的治理、安全性和敏捷性,以及在企業組織基礎架構中建立和整合分析,同時擴展以適應不斷變化的工作負載和技術,同時對於分析單位導入 SAS 平台將能夠加速分析生命週期,簡化資料準備,並且使用各種分析技術和程式語言,以及在需要的時間進行自動化擴展和部署分析,以利多元化的分析專家發揮所長。

接著無論企業目前在分析過程中的哪個階段, SAS 分析生命週期的產品組合主要能夠加速從資料到發現再到部署的整個分析生命週期,以利實現企業的分析策略,其中產品組合主要有以下五種類型,分別為:

  1. SAS Business Analytics:主要提供存取,收集和瀏覽所有資料的功能,並且能夠讓業務使用者能夠檢查和了解資料中的模式,趨勢和關係,同時易於使用的分析和可視化將能夠幫助我們從資料中獲得洞察力,更進一步解決複雜的業務問題。

  2. SAS Data Science:主要提供強大的程式開發介面,以利存取整個分析生命週期,並且企業更能夠落實分析文化,並且從以資料驅動為基礎的日常作業中獲得更高的分析價值。

  3. SAS Unified Insights:主要提供可支援分析生命週期的資料和發現方面之功能,以利輕鬆準備和探索資料,並且建立和調整機器學習模型,以及使用評分程式碼將見解進行實踐。

  4. SAS Unified Insights MM:主要提供可支援分析生命週期的資料、發現和部署方面之功能,以利輕鬆快速地透過分析平台部署模型,更進一步推動更好的洞察力和更快的決策。

  5. SAS Unified Insights Plus:主要提供可支援分析生命週期的資料、發現和部署方面之功能,其主要在於簡化各種資料來源上的資料整合,以利滿足具有不同分析需求的使用者角色,並且透過程式開發或視覺化操作畫面,在任何地方部署分析,為企業提供更智慧的操作和結果。

再來 SAS 平台主要提供一個有凝聚力的分析生態系統,以平衡快速自助服務強大治理的功能,以及強大的企業分散式處理分析,並且整合開源技術提供集中開放、治理、擴展和協同合作的混合平台。同時透過 REST API 的整合允許客戶端的開放源始碼以彈性和手動的方式呼叫 SAS 平台的分析行為,以利開放源始碼能夠進行分散式運算,並且整合模型管理完整生命週期的部署,同時 SAS 平台更提供機器學習、自然語言、電腦視覺、預測優化、資料準備和視覺報表等完整功能,更能夠增強開放源始碼所帶給企業的分析價值,以利實現企業的分析策略。

最後我們需要為所有 AI 專案建立一個清晰的所有者和利益關係人的治理體系,主要定義將使用 AI 自動執行哪些決策以及哪些決策需要人工輸入,為過程的所有部分分配責任,並且對 AI 錯誤負責,以及 AI 系統開發設定明確的界限,其中包括定期監控演算法,以利確保模型仍按預期運行,同時為了有效治理 AI 道德,則建立了一個 FATE 框架,其中四個要素的縮寫分別代表:

  1. 公平 (Fair):消除偏見和歧視,系統必須有助於消除人為偏見。

  2. 責任 (Accountability):企業必須考慮決策的所有權和承擔責任的意願,這通常歸結為文化。

  3. 透明度 (Transparency):清楚地理解整個分析過程,以利信任系統所做出的決策。

  4. 可解釋性 (Explainability):解釋和理解決策的能力,其中模型的可解釋性是所有模型的核心,並且與透明度密切相關,因為透明的過程很可能產生可以解釋的模型,此外在準確性和可解釋性之間取得平衡,通常更複雜的模型可能更準確,但也更難理解和解釋。

總結為了實現企業分析策略,我們將會需要一個能夠適合的方式來平衡選擇和控制的分析平台,此時 SAS 平台不僅提供統一管理的分析平台、完整分析生命週期和整合開放源始碼之外,更能夠為所有 AI 專案建立一個清晰的所有者和利益關係人的治理體系。

SAS 9

首先 SAS 9 平台管理工具主要有四種分別為 SAS Management Console、SAS Environment Mnager 、 SAS Deployment Manager 和 SAS Web Administration Console。當我們需要管理 SAS 智慧平台時,最主要的工具即為 SAS Managemnet Console,這主要是基於 JAVA 所開發的應用程式提供單點控管 SAS 伺服器和 Metadata 相關物件,當 Metadata 伺服器執行時,我們就能夠使用 SAS Management Console 連線至 Metadata 伺服器瀏覽和管理儲存在伺服器 Metadata 儲存體的物件。接著 SAS Management Console 在 Plug-in 頁面中提供多樣性的外掛,像是授權管理員、設定管理員、資料函式庫管理員、基礎服務管理員、Metadata 管理員、排程管理員、伺服器管理員、使用者管理員、…等外掛實務應用。此外使用 SAS Management Console 在 Folder 頁面中我們可以設定針對使用者們資料夾結構,設定在資料夾和物件上的權限,以及匯入和匯出 Metadata 和相關聯檔案。其中管理 Metadata 儲存庫主要使用 Metadata Manager Plug-in 建立、註冊、刪除或取消註冊 Metadata 儲存庫,並且透過 Metadata 資料夾結構管理存取 Metadata。識別 SAS 伺服器屬性和功能,其中包括識別 SAS 伺服器的啟動順序,啟動伺服器請先開資料來源伺服器,接著開啟 SAS 伺服器,最後才開啟中介伺服器。

接著我們還可以透過 SAS Environment Manager 讓資源會被組織至群組中使得更容易進行管理,主要有六種不同類型的群組,分別為平台資源群組、伺服器資源群組、相容群組、混合群組和應用程式群組。其中混合群組 (Mixed Groups) 主要是由使用者建立的群組,其中包括多種資源種類,像是其它群組、平台、伺服器、服務或應用程式。這類型的群組非常實用於檢查 Object Spawner 相關的所有狀態。SAS Environment Manager 為 9.4 版本中的新功能,主要是基於網頁管理 SAS 環境的解決方案,可以透過網站設定、監控和管理 SAS 資源、收集和產生監控 SAS 資源的圖表、隨時隨地觀察資料健康狀態、監控記錄信件和警示報告、…等實用操作。SAS Environment Manager 主要是基於 VMware 的 Hyperic 產品,並且針對 SAS 環境進行優化,相較於 SAS Management Console ,我們僅需要在網址列輸入 「localhost:7080」就能夠進行管理。此外透過 SAS Environment Manager 進行資源管理主要包括資料夾、使用者管理、Metadata 管理、伺服器、函式庫、 SAS 備份管理員、… 等。

再來 SAS 智慧平台中的伺服器主要可以分為三種類型,第一為 Metadata 伺服器。第二為應用程式伺服器和第三為其它伺服器。所謂 Metadata 伺服器主要是服務來自於一個或多個 Metadata 儲存體中的 Metadata 給所有 SAS 智慧平台相關的客戶端應用程式。接著所謂應用程式伺服器主要是應用於執行 SAS 流程的元件,其中包括 Workspace 伺服器、Pooled Workspace 伺服器、Stored Process 伺服器、OLAP 伺服器、SAS/CONNECT 伺服器、Grid 伺服器、批次伺服器、… 等。至於其它伺服器則包括網站應用程式伺服器、網站伺服器、網站基礎架構平台資料伺服器、內容伺服器、SAS/SHARE 伺服器、…等。此外每個伺服器皆有對應的連接埠,常用伺服器對應的連接埠,分別為 Metadata 伺服器為 8561、Pooled Workspace 伺服器為 8701、 Workspace 伺服器為 8591。讀取 Metadata 資料伺服器時是多執行緒處理進行讀取,但是使用單一執行緒進行寫入和更新,任何 Metadata 伺服器皆僅有一個儲存體管理者,並且透過 omaconfig.xml 檔案進行 Metadata 伺服器的設定,其中包括儲存體管理者實體檔案位置,任何相關的變更皆需要重新啟動。接著 Metadata 伺服器的啟動,主要會先從作業系統中讀取 omaconfig.xml 設定檔至 Metadata 伺服器設定的資料夾中,接著在設定檔中取得 Repository 管理者的位置,再來 Metadata 伺服器會連線至 Repository 管理者,此時 Repository 管理者會提供有關於 Metadata Repository 的資訊,包括位置、類型和名稱,最後 Metadata 伺服器會連線至 Metadata Repository。此外 Metadata 伺服器最好先開,因為除了 SAS Web Infrastructure Platform Data 伺服器之外,其它伺服器皆會相依 Metadata 伺服器。此外 Object Spawner 是一個執行在伺服器主機的程式,其中每個任務皆會聆聽請求。我們必須使用 Spawner 執行 Workspace 伺服器和 Stored Process 伺服器。然而在我們執行 Spawner之前,我們必須建立 Metadata 設定檔案,其中包括存取 Metadata 伺服器的資訊。當我們引發 Spawner 時,就會先存取 Metadata 設定檔案,接著連線至 Metadata 伺服器為了設定相關資訊。再來當接收到請求之後,Spawner 會接受連線和執行相關服務的任務。當我們需要更新 Object Spawner 時,重點在於重新初始化 Spawner 和重新讀取 Metadata 中的設定檔。

最後 SAS 單機應用程式連線至 Metadata 伺服器會使用連線檔案。所謂連線檔案是一個檔案儲存在使用者機器中,主要包括必要連線至 Metadata 伺服器的資訊,並且儲存於 MetadataServerProfiles 的資料夾中。一般來說 SAS 應用程式會使用連線設定檔連線至 Metadata 伺服器,其中主要包括連線至 Metadata 伺服器的必要資訊。當成功連線時會確保安全存取定義在 Metadata 中的企業資源,此外當我們使用連線檔案和將 SASSEC_LOCAL_PW_SAVE 選項設為 Y,則使用者 ID 和密碼會被儲存。接著當平台管理者需要更新在 Metadata 和設定檔案中的服務帳號密碼時,此時會透過 SAS Deployment Manager 執行設定工作。同時 Metadata 伺服器也是多使用者伺服器,主要服務來自於一個或多個來自於所有 SAS 智慧平台中客戶端應用程式的 SAS Metadata 儲存體,此時透過 Metadata 伺服器能夠進行集中控管,以致於讓所有使用者存取一致和準確的資料。其中透過 SAS 開放 Metadata 架構提供共同的 Metadata 服務,使得應用程式之間的 Metadata 交換更容易且方便,並且因為共同框架建立、存取和更新 Metadata 資源集中控管,有助於 Metadata 的管理。其中 Metadata 伺服器儲存的資訊主要有被應用程式存取的企業資料來源和資料結構、使用 SAS 應用程式建立的資源,包括資訊地圖定義、多維度定義、報表定義、預儲程序定義和排程工作、伺服器執行 SAS 程序,以及使用系統的使用者和群組相關的資源存取層級。Metadata 伺服器處理的事件會被每日寫入至記錄檔案中,預設儲存至 <SAS Config>/Lev1/SASMeta/MetadataServer/Logs 資料夾中。

SAS Viya

首先在 SAS Viya 中我們主要透過 SAS Environment Manager 中的儀表版資訊進行系統管理,其中主要提供有關所有 SAS Viya 機器、服務和服務實體的健康狀態資訊,並且提供更多的詳細資訊協助診斷系統的問題。此外當系統發生問題時,在診斷之前請先確認授權是否到期,通常授權檔會被套用至 CAS In-memory 運算引擎和 SAS Foundation 運算引擎中,至於我們要如何確認授權檔何時到期的資訊,則主要能夠透過 SAS Environment Manager 查看授權的狀態資訊。

接著我們除了透過 SAS Environment Manager 查看授權碼之外,更能夠透過即時儀表版資訊,讓系統管理員即時得知系統環境中資源的可用性狀態,其中主要有三種類型的資源,分別為機器、服務和服務實體。每個資源皆以一個方塊代表狀態,主要有三種顏色分別為紅、黃和綠,當資源正常時將會呈現綠色,當資源不正常時將會呈現紅色,當資源關聯的機器改變時將會呈現黃色,因此透過不同顏色的方塊將能夠容易了解環境的狀態。

再來我們除了透過 SAS Environment Manager 查看資源可用性的狀態之外,更提供 CAS 系統健康狀態、系統活動、CAS 活動、應用程式活動、硬碟空間、基礎架構資料伺服器資料表、…等資訊。

  • CAS 系統健康狀態:主要提供叢集中每個 CAS 節點的即時更新記憶體和 CPU 使用狀態。

  • 系統活動:主要提供環境中每個機器的統計資訊。

  • CAS 活動:主要提供特定 CAS 伺服器的 CPU、I/O、記憶體、等待時間、…等資訊。

  • 應用程式活動:主要提供有關應用程式使用情況、系統工作階段歷史記錄、應用程歷史記錄和資料收集狀態的資訊。

  • 硬碟空間:主要提供檔案系統中的硬碟空間使用和儲存等資訊。

  • 基礎架構資料伺服器資料表:主要提供資料表大小、使用率趨勢、應用程式使用資料表、資料表大小歷史記錄、…等資訊。

此外我們當然能夠客製化儀表版的資訊,以利系統管理員進行最完善的 SAS Viya 維運相關作業。

最後我們除了透過 SAS Environment Manager 查看更多系統詳細資訊之外,更提供記錄、機器和排程等相關資訊。在 SAS Viya 中所有伺服器和服務將會產生記錄檔資訊,同時我們也能夠根據不同的需求設定記錄檔的資訊層級,以利我們當問題發生時有效找出根本的原因。

總結在 SAS Viya 中主要透過 SAS Environment Manager 查看資源相關的即時資訊,以統一的視角產生儀表版資訊,以利我們更效率的進行系統維運。

平台管理最佳實務

在企業組織中維運作業是一件很重要的工作項目,請參考 SAS 官方影片,一般來說 SAS 平台管理的生命週期主要可以分為開發階段和維運階段,請參考 SAS 官方文件,其中開發階段主要為收集客戶需求、接著根據客戶需求進行預見和設計規劃,再來建構部署和教育訓練,維運階段則是推出與使用、管理與更新以及增強調效和擴展功能,不論是 SAS 9 或 SAS Viya 皆適用上述管理的生命週期,其中 SAS 平台管理前十大日常維運作業主要有:

1. 管理排程

管理排程設計和維護 SAS 平台管理活動日常排程,並且指定日常清掃 (Housekeeping) 作業順利進行,以利確保系統執行更有效率。

2. 進行備份

定義備份和復原策略,其中需要描述哪一個 SAS 平台中的元件需要進行備份,頻率多久,以及備分需要在哪裡保留多久。看起來簡單,但是針對多台機器進行部署將會非常複雜。因為系統狀態儲存在多個地方,所以必須備份和還原同步資訊以利保留系統狀態一致性,此時請善用 SAS Deployment Backup and Recovery 工具。

3. 更新金鑰

當金鑰到期時定期更新金鑰,最好預留足夠的時間在過期之前重新更新金鑰。

4. 壓縮和刪除記錄檔

撰寫腳本檔案壓縮和刪除記錄檔,一般我們會在晚上時執定期執行腳本檔案,例如: 在 7 天之後壓縮記錄檔,在 30 天之後刪除壓縮檔。

5. 更改 SAS Work 暫存資料夾

設定 SAS Work 暫存資料夾,預設在 Linux 中 SAS Work 暫存資料夾為 /tmp,在 Windows 中 SAS Work 暫存資料夾為使用者文件資料夾,但是企業部署時通常會重的更改和配置 SAS Work 暫存資料夾的位置,主要會根據大量資料的讀寫選擇最適當的儲存位置和空間配置,以利達到最佳化的應用。

6. 清除 SAS Work 暫存資料夾

刪除 SAS Work 暫存資料夾,在 Linux 中主要透過 SAS Cleanwork Utility 工具,在 Windows 中主要透過 SAS Disk Cleanup Handler 工具,一般我們會規律執行,例如: 透過 Linux 中的 cronjob 每週執行 cleanwork 指令刪除 SAS Work 暫存資料夾。

7. 設定安全模型

設計和維護安全模型,接著實作安全政策,主要使用群組管理資料、中繼資料和應用程式的存取控管,其中包括新增、更新和移除,此時請善用 SAS Management Console 工具。

8. 設定檔案系統存取控制

預防未授權讀取和寫入存取檔案和資料夾。

9. 進行監控

透過工具監控 SAS 伺服器,相關使用者互動作業與查詢,設定批次排程工作流程,同時識別出執行最長時間的作業與查詢,以及設定相關警告訊息進行有效的控管,此時請善用 SAS Environment Manager 工具。

10. 更新修補程式

定期更新修補程式。

最後除了上述前十大日常維運作業之外還有其它的日常相關作業則請參考 SAS 官方文件。藉由 SAS 官方所提供的影片和文件,將可以讓我們在維運 SAS 平台時更有信心完成維運作業。

開始使用

  • 登入至 SAS Viya 分析平台。

  • 在畫面左上方點選【顯示應用程式功能表】鈕。

  • 選取【管理環境】。

  • 查看 SAS Viya 分析平台的可用性和系統健康狀態。

  • 在畫面左下角點選【展開瀏覽列】。

  • 選取【伺服器】。

  • 查看目前已經連線至 CAS 伺服器的工作階段。

  • 選取【CAS 組態】頁籤,查看 CAS 組態的相關參數設定值。

  • 選取【節點】頁籤,查看 CAS 伺服器中節點的連線資訊。