簡介
傳統的軟體工程不包括軟體部署,但不斷增長的軟體複雜度和部署所面臨的風險,迫使人們開始關注軟體部署。軟體部署是一個複雜過程,包括從開發商發放產品,到套用者在他們的計算機上實際安裝並維護套用的所有活動。這些活動包括開發商的軟體打包,企業及用戶對軟體的安裝、配置、測試、集成和更新等。
據Standish Group的統計,軟體的缺陷所造成的損失,相當大的部分是由於部署的失敗所引起的,可見軟體部署工作的重要意義。
軟體部署存在著風險,這是由於以下原因造成的:套用軟體越來越複雜,包括許多構件、版本和變種;套用發展很快,相繼兩個版本的間隔很短(可能只有幾個月);環境的不確定性;構件的來源多樣性等。
軟體部署過程的主要特徵有:過程覆蓋度、過程可變更性、過程間協調和模型抽象。已經提出一些抽象的軟體部署模型,用於有效地指導部署過程,包括套用模型、企業模型、站點模型、產品模型、策略模型和部署模型。
軟體部署過程中需要關注的問題有:安裝和系統運行的變更管理、構件之間的相依、協調、內容發放、管理異構平台、部署過程的可變更性、與網際網路的集成和安全性。
內容
可以通過組策略來為域內的用戶與計算機部署軟體。軟體的部署分為“指派”與“發布”兩種,可讓用戶很容易地擁有這些軟體。一般來說,這些軟體應為“Windows InstallerPackage”,也就是這些軟體內包含著一個擴展名為.msi的檔案。
1.將軟體指派給用戶
當將一個軟體通過組策略的GPO指派給域內的用戶後,則用戶在域內的任何一台計算機登錄時,這個軟體都會被“通告”給該用戶。但是,這個軟體還沒有真正地被安裝,而只是安裝了與這個軟體有關的部分信息,例如,可能會在系統列的“開始”選單中的“所有程式”中自動建立該軟體的捷徑。只有在用戶打開系統列的“開始”選單,指向“所有程式”,單擊該軟體的捷徑,或是雙擊桌面上的捷徑後,才會自動安裝此軟體。
2.將軟體指派給計算機 ’
在將一個軟體通過組策略的GPO指派給域內的計算機後,啟動這些計算機時,這個軟體就會自動安裝在這些計算機里,而且是安裝到公用程式組內,也就是安裝到Documents andSettings\Users資料夾內。任何用戶登錄後,都可以使用此軟體。
3.將軟體發布給用戶
在將一個軟體通過組策略的GPO發布給域內的用戶後,該軟體不會自動安裝到用戶的計算機內,用戶需要通過以下方式來安裝這個軟體(假設用戶所使用的作業系統為Windows XP Professional):打開“控制臺”,啟動“添加或刪除程式”,單擊“添加程式”,然後進行安裝。
4.自動修復軟體
一個被發布或指派的軟體在安裝完成後,如果此軟體程式內有關鍵性的檔案損壞、遺失或被用戶不小心刪除,則系統會自動探測到此不正常的現象,並且自動修復、重新安裝此軟體。
5.刪除軟體
一個被發布或指派的軟體在安裝完成後,程式從GPO內發布或指派的軟體清單中刪除,將這個軟體刪除就可以了。
步驟
軟體部署的驗證和實施的過程一般包括如下步驟。
1、開發試驗性系統(構建網路和硬體基礎結構、安裝和配置相關的軟體)。
2、根據測試計畫/設計執行安裝測試、功能測試、性能測試和負載測試。
3、測試通過後,開始規劃原型系統。
4、完成原型系統的網路構建、軟硬體的安裝和配置。
5、數據備份或做好可以恢復的準備。
6、將數據從現有應用程式遷移到當前解決方案。
7、根據培訓規劃培訓部署的管理員和用戶。
8、完成所有的部署。
在這些過程中,保證系統和用戶數據的不丟失是非常重要的,大家都知道,數據比系統更為重要。
試驗性部署測試和原型部署測試的目的是在測試條件下儘可能確定部署是否既能滿足系統要求,又可實現業務目標。理想情況下,功能性測試可以模擬各種部署方案以完成所需要執行的測試用例,並且定義相應的質量標準來衡量其符合性。負載測試衡量在峰值負載下的測量性能,通常使用一系列模擬環境和負載發生器來衡量數據吞吐量和性能。對於沒有明確定義、缺乏原始數據積累的全新系統,功能性測試和負載測試尤其重要。
注意事項
在實現軟體部署的過程中需要注意以下事項:
(1)在大規模部署軟體前,先把軟體包檔案分發到一個用戶的測試組,然後逐漸分發。這種漸進的部署和測試的方法可以幫助用戶在把應用程式部署到整個組織前確定並解決軟體包的問題,在確定無誤後再實現軟體部署。
(2)為軟體分發點使用基於域的DFS。利用基於域的DFS可以提供容錯和負載均衡的特點,DFS可以為所有的發布和指派提供一個單獨的軟體分發點。通過在每一個站點創建一個DFS副本,可以為多個用戶提供軟體安裝。而且客戶端都試圖從自己站點的DFS副本安裝部署的軟體,減少了慢速廣域網連線的網路通信量。
(3)根據軟體的功能來組織應用程式。當需要部署的軟體非常多時,為軟體劃分類別將使創建軟體策略時查詢軟體更加容易。
(4)不要使用不同的方法來部署相同的軟體。比如除非特殊需要,否則不要把一個軟體包既指派給用戶,又指派給計算機,這樣容易造成管理混亂。