Leo Yeh's Blog

SAS 系統管理 (12)

教學目標

初步了解 SAS 軟體部署安裝新方式,目前只適用 Linux 作業系統。

重點概念

目前 SAS 企業商業智慧平台的安裝和設定需求將依賴於多元且廣泛的知識,其中包括安全需求增加、元件數量增加、交付時間縮短和改善品質。當面對快速變更需求的開發者和業務使用者將需要提供客制化的平台,不僅需要符合建立新立新環境的需求之外,更要有能力因應主機應用程式的大小和複雜性進行擴展。

管理者現在已經可以透過工具記錄和重做安裝與設定 SAS 環境,使得人為風險的錯誤降低,同時每次的結果皆能重複使用,但是建立新的 SAS 環境對於使用者來說目前真的是快速的任務與流程嗎?

在我們開始執行 SAS 部署精靈之前,有些項目必須先進行,其中包括伺服器必須先預備、儲存裝置必須被設定、使用者帳號被建立、…等項目。接著有一些重要已經釋出的修補程式需要透過 SAS Depot 進行下載。再來在安裝和設定完成之後,則需要開始設定使用者群組的權限控管和客製化程式開發,最後新系統必須被驗證,我們將其 SAS 部署流程化,則可分為七個階段,分別為:

  1. 系統交付。
  2. 準備。
  3. SAS 安裝。
  4. SAS 設定。
  5. 客制化。
  6. 驗證。
  7. 開始使用。

其中我們透過 SAS 部署精靈只能針對安裝和設定進行自動化,若準備環境正確無誤,且符合限制需求的話則可在幾小時內完成,至於其它階段則是需要數天透過 SAS 部署管理員手動的方式才能夠順利完成,但是當我們要同時部署多個環境,例如開發、整合、使用者驗收測試和正式環境。此時要如何進行改善複雜性、一致性、規範、品質、可重複、設定管理、變更管理和整合流程呢? 將會是一大挑戰。

在許多大型組織中已經有在使用相關自動化工具,但是卻要先安裝代理程式至目標機器中,這將會使得 SAS 部署任務的流程變得更加複雜,特別是在後續安裝的步驟,其中會有許多任務必須相依許多伺服器。通常小團隊將會撰寫腳本語言執行和準備客制化的任務,然而不同技術使用者在不同主機上透過腳本語言進行維護和執行將會是很複雜的題,使得非常不直接進行重構和重用。此時有個工具以 DevOps 基礎非常成功的進行跨服務和應用程式自動化,我們稱這工 具為 Ansible,Ansible 是快速簡單的 IT 自動化引擎,主要進行雲端自動化提供、設定管理、應用程式部署、基礎服務建構、…等 IT 需求,主要被設計於透過描述所有系統之間的 內部關聯進行多層架構的部署,此外它不需要使用代理程式和額外客制安全架構,所以非常輕易進行部署,同時使用 YAML 簡單語言描述自動化工作的方式,其中被使用於建構自動化提供在不同主機進行同步和非同步的處理步驟,被稱為 Playbooks,因此它允許建立小型和重用的元件降低重複性高的冗長工作,並且不需要安裝代理程式,只需要透過 SSH 連線就能夠進行部署。更重要的是 Ansible 為 GPL 授權保證免費使用,並且在 2015 年由 RedHat 收購代表著這工具對於產業非常重要。

假設我們有個特定情境需要部署 SAS 企業商業智慧伺服器,主要必須安裝四個環境,分別為開發、整合、使用者驗收測試和正式,其中包括五個伺服器,分別為 Metadata Server、App Server、SAS Web Infrastructure Data Server、Web Server 和 Web Application Server。此時若我們需要透過 Ansible 中的 Playbooks 進行自動化部署則分為五個階段,分別為:

  1. 準備
  2. SAS 安裝
  3. SAS 設定
  4. 後續設定
  5. 驗證

首先準備階段會先進行預先檢查和通用作業系統套件安裝進行自動化部署,接著 SAS 安裝和設定階段則會依照 Metadata Server、App Server、SAS Web Infrastructure Data Server、Web Server 和 Web Application Server 順序進行自動化部署,再來後續設定階段則先進行中繼資料匯入、單一登入設定、SSL 相關設定、客製化設定、…等進行自動化部署,最後驗證階段類是執行驗證步驟的自動化部署。

總結透過 Ansible 工具理應能夠將一開始七個階段中除了需要甲方配合的系統交付與開始使用之外的五個階段進行自動化部署,使得部署時間縮短至小時為單位,而非人天為單位,同時增加部署的品質和降低人為錯誤,並且部署的結果標準化之外,基礎架構理應會更加穩固。當我們有能力快速部署 SAS 平台,並且預測部署之後的結果,理應就能夠簡化後續的升級和持續整合客戶案例進行實作。

相關資源

⬅️ Go back