以應用程式為中心的部署作業

現今的應用程式包含了可能取自數個不同來源的元件,而這些元件亦可能需部署至不同的應用程式層、平台和資源。若要成功部署此類應用程式,則作業人員必須協調合作並確保一同測試的應用程式元件均亦一同部署。部署自動化藉由支援應用程式程序及快照,解決此一問題。

協調應用程式部署

應用程式處理程序均於 Deployment Automation 的程序編輯器中建立。程序可手動執行、在某些觸發條件下自動執行,或是由使用者定義排程執行。當某個元件擁有數個程序定義時,應用程式程序會判斷該以何種順序執行哪些定義。舉例來說,一個 n 階的應用程式可能同時擁有 Web 層及資料庫層。在核准之後,就會同時部署 Web 層及資料庫層。此時由應用程式程序呼叫各個相關元件當中含有所有部署步驟的程序,從而部署各元件至指定的資源。

當應用程式程序執行時,會與具體的環境互動。所謂環境意指由一項或多項資源所構成的集合。單一個應用程式可與多個不同環境互動,例如品管或生產環境。只要設定每一個環境與應用程式的關聯,然後為每個環境個別執行程序即可。

除了部署作業,另外亦提供多種常用作業程序,包括復原部署。Deployment Automation 會追蹤每一個元件的版本歷程,讓應用程式程序能夠將環境復原至其所需的任何時間點。

一鍵快照

快照會呈現出環境中特定應用程式的當前狀態。快照除了規範哪些元件版本應一同部署,亦規範應用程式當中每一個元件的具體版本。建立快照之時,Deployment Automation 即取得該應用程式於該環境下的資訊,包括各個元件的版本。

當應用程式逐步通過交付管線各個階段之時,Deployment Automation 即負責確保每個環境均正確使用快照指定的版本,不允許任何一個位元有所差異。待快照完成所有應完成階段、獲得所有應有許可之後,系統即將快照推送至生產環境。

快照另外亦有助於管理複雜的部署作業,例如含有多階或是有多個開發團隊參與的部署。舉例來說,當團隊 A 的元件經過測試確認可與團隊 B 的元件互通之後,即可製作快照。然後隨著開發作業進行,可再陸續製作快照以掌握開發狀況,藉此驅動整體部署作業並協調各個版本、組態及程序。