版權宣告:本譯文得到原文作者授權,未經原文作者以及本人同意,請勿轉載本譯文,否則保留追究法律責任的權利。

Part 1
關於App-V 精品博文翻譯系列


此係列為微軟定題,MVP領題撰稿系列。為方便更多喜歡閱讀中文的中文讀者,我計劃在業餘時間進行此係列的翻譯。不過本人水平有限,且為初次翻譯,還請大家多多指點和包涵,謝謝!

Part 2
譯文: App-V實戰體驗

在我們展望App-V技術在新的一年裡振奮人心的進展之際,請跟著我回顧一下其過去一年的各項活動。
 
我在過去的一年裡花了很多時間去幫助初次接觸App-V的客戶。
 
全世界有2200多萬份MDOP許可證得到購買,部分購買過這些許可證的顧客來自各個地方,而我有機會曾與之合作。

 

與我合作的客戶來自政府部門或私營企業,他們有在中型電信電纜公司上班的(這些公司擁有5000多名員工,顧客多達200多萬),也有在市級或中央政府部門工作的。所有研發經理的共同問題就是如何輕鬆管理程式,而他們面臨的挑戰則包括技術支援。

 

根據我的經驗,程式管理在我們簡單雙擊setup.exe或install.msi之前就早已經出現了。我們要了解的第一件事就是如何安裝新程式,其中包括:所要安裝程式的依賴項是什麼;是否需要建立或修改自定義配置檔案;所佔空間多大;使用者是否需要額外培訓;桌面支援人員是否需要額外培訓;該程式的壽命多長;如何對其進行維護或升級;以及一旦程式閒置,如何廢棄等等。儘管有了應用程式虛擬化,我們仍然要考慮上述問題。

 

並且在將應用程式部署到一個環境之前,要先回答這些問題。我發現,客戶解決這些問題的方式五花八門:有的客戶請變更諮詢委員會(簡稱CABS)幫忙,有的則在安裝程式之前只簡單地應用程式模版對其進行文件記錄。由於流程級別不同,加上程式複雜度不一,將程式普及使用者就變得極具挑戰性。此外,一旦使用者在安裝新程式時遇到困難,桌面支援人員則通常需要花費不少時間來加速解決。

 

而App-V則為以上問題提供了相應的解決之道。下面我們來深入其中,看看App-V是如何解決那些讓人痛疼的問題的,以及客戶又是如何在其幫助下,自行解決的。

 

複雜性轉移

當我每次向客戶解釋App-V的價值時,我都會告訴他們,我們在做複雜性轉移。微軟構建了用MSIEXEC來執行的可靠安裝程式,並做得相當出色。然而,仍有許多程式要麼選擇使用高度自定義規則及多種自定義配置步驟將多個MSI串在一起,要麼讓客戶全盤自行安裝。例如:很多業務程式在安裝完成後,還需要客戶必須完成相關配置步驟。有時,這涉及到編輯配置檔案,或將程式連線到後端資料庫。

 

下一個複雜性就在於,一旦程式安裝上了,桌面支援人員和管理員還需要相關專業知識才能快速對所裝程式進行故障檢測。對於此,有一個簡單的方法,那就是:先統計有多少程式需要技術支援,然後看看安裝這些程式時所需的設定和配置步驟又有多少,最後弄清楚排錯的步驟數。現在各種組合以及用以支援大量程式所需的相關知識正呈指數級增長。有了App-V,序列化工程師(sequence engineer)只需將程式打包一次,並且不管是誰刪除或重新整理程式,安裝也只需一次。從而,桌面支援人員不用再擔心程式中斷後如何重灌或要如何設定等問題。由於所有的設定都是一樣的,因此相應的排錯也是一樣的。但是,在我們能夠確保得到最新型的複雜性轉移之前,我們還需考慮幾樣東西。
 

確定您的領域專家

 

客戶發現自己在序列化(sequence)程式的時候,由於要確保程式有效執行,則需要測試以保證將有效的程式送交給終端使用者。由於虛擬化程式通常無需安裝即可執行,因此非常需要熟知程式的內行人士來檢測程式以保證其如期執行。對於此,我曾幫助過客戶共同確定出領域專家來做檢測,這些專家包括那些熟知程式安裝與應用的專業人士。你當然最不希望使用者在使用程式的時候,發現某項功能出了差錯。若是真的出了錯,那真讓人崩潰,這意味著你得修復你的App-V包。接下來,我正要談談這個問題。

 
使用者驗收測試

像對待任何開發專案一樣,你應該嘗試對已序列化的程式進行使用者驗收測試。在我們某種程度上改變著程式部署到計算機的方式的同時,我們也在改變著開發人員最初有關程式安裝的想法。當然,只要開發人員在開發程式時遵循了最佳方法,這通常不成問題,但總有例外。通過讓專家使用者驗證並簽名確認程式包可用,你就可以確保自己的序列化包驗收成功,以便使用者可以高效使用程式。

 

相同桌面支援流程

無奈地是,即使我們在某些方面為使用者做得再細緻,他們還是有可能遇到程式方面的問題,而通常這時候就需要向桌面支援人員求助了。對於傳統的程式,我們需要提供詳盡的排查步驟給使用者(可惜這些步驟往往因程式的不同而不同),比如:要確認安裝正確,有DLL註冊記錄;檢查INI檔案;確保副檔名關聯正確等等,這等步驟可謂沒完沒了。可是,有了App-V,情況就大不一樣了,排錯的首要步驟可以精簡到適用於所有程式。下面是一個排錯列表:

 

1. 確保程式載入到客戶端快取。
2. 如果是通過SCCM部署的,則要確保App-V客戶端配置正確,以通過HTTP流或可與SCCM客戶端交流。
3. 如果程式問題依然存在,要重新載入程式到App-V 快取。
4. 清空使用者 PKG 檔案。
5. 重新發布所有App-V程式。

 

當然此列表並非完全確鑿而完整,它會因環境而異,不過不變的是,用App-V部署程式的步驟是相同的,這樣一來,桌面支援人員就可以迅速提供相應的遠端技術支援。

 

準備序列化環境

談完App-V相關易受影響的流程及其各種潛在的核心作用後,下面我們來看看如何幫助客戶準備序列化環境,因為這種環境是成功而有效打包程式的關鍵。

 

App-V序列化很大程度上受到IO限制。如果你在一個硬碟速度慢的計算機上進行程式序列化,你會耗費很多時間在進度條的等待上。另一種有點截然相反的考慮就是,序列化應該在虛擬機器上進行,以便序列化環境可以快速重置起來。我見到很多客戶直接在硬體上進行此步驟,但他們使用硬體所省下的時間很快在重灌系統中耗盡。我個人的解決方法是,準備一個外接的10k轉速eSATA硬碟,並長期保留。不管用虛擬機器也好,物理機也罷,10k的服務類硬碟真地可以大大提高效能。

 

許多客戶最終將序列化客戶端定位在諸如Hype-V之類的後端伺服器虛擬化技術上。這可用於64位和32位的虛擬機器。由於硬碟技術通常基於SAN,因此IO效能會達到最佳。

 

序列化提示和技巧

還有更多的提示,如新增虛擬印表機驅動程式及ODBC連線,以及某些情況下,同時在Sequencer和虛擬程式包中修改登錄檔,以隱藏“q”盤驅動器(該盤是用於應用程式虛擬化的驅動器,專為App-V虛擬程式包提供影射的載入點)。
 
對於任何建立序列化環境的人,我強烈推薦您閱讀有關序列化的最佳操作指南。 連結

 

溝通是關鍵
最後一點,也是我一貫建議客戶要做的一點就是,一旦他們確定使用App-V來部署程式,那麼就要學會溝通!有時候程式可能會出現異常,讓使用者一時半會兒還適應不過來,但客戶要確保使用者高度瞭解出現異常的原因是什麼,讓他們清楚打包程式的方式已發生改變,他們還需明白序列化的費用會因所投時間、精力的加大而增加 ,不過,得到的將是精簡的部署及技術支援。此外,技術支援人員需要清楚虛擬化程式的特別之處在哪兒,以及這種特別之處為何顯得如此重要。

 

對於App-V,任何大小的變化都會多多少少地遭受反對。因此,一份概述出App-V價值的好的溝通計劃顯得很重要,這會使App-V更加順利有效地開展起來。

 

以上就是目前為止我的觀察所得。我還會在接下來幾周與大家分享更多,希望大家留意。隨著 App-V 4.6的釋出,我們正在進入一個令人興奮的時期, 因為客戶將可以在各自的整個領域範圍內開始自己部署虛擬程式,其需要關注的關鍵特色功能包括:高達64位的客戶端技術支援及與Windows7更高的一體化程度。

Part
3
關於原文作者

Daniel Nerenberg, App-V MVP

MCT, MVP, Consultant, Trainer, Speaker, LazyAdmin Daniel has been writing, speaking and consulting on a multitude of IT topics since 2004. He currently manages and writes for the popular community tech blog TheLazyAdmin.com.
 

原文出處:

http://thelazyadmin.com/blogs/thelazyadmin/archive/2010/02/22/App_2D00_V-real-world-experience.aspx

 
 
更多虛擬化精品文章歡迎瀏覽http://virtualtom.blog.51cto.com