作者:範軍 (Frank Fan) 新浪微博:@frankfan7
桌面虛擬化項目相對涉及的方面較多,遵循合理的設計方法,能讓你考慮到影響方案質量的衆多重要因素,制定適當的項目計劃,並和相關人員展開有效的討論。
下面的七個步驟,希望能讓你事半功倍。
一深入瞭解動機和公司戰略
在用戶對桌面虛擬化有興趣的時候,我往往問的第一個問題就是,是什麼因素促使你對此感興趣?
可能回答比如有:我們希望通過此方案降低硬件購買成本或者維護成本;希望遠程隨時隨地訪問桌面及應用;我們有鼓勵員工自帶訪問設備的計劃(BYOD);我們目前的桌面環境不能滿足需求等等。
桌面虛擬化的優點很多,但不一定適合所有的用戶。而且用戶所面臨的問題也可能有其他更適合的解決方案。
同時,還應該把眼光放遠一點,瞭解此方案可能在公司整體戰略上有什麼意義。比如我爲一家大型銀行層設計過桌面虛擬化方案。他們的辦公場所遍及全球,頻頻兼併其他小型的金融機構。能保證所有員工快速便捷訪問一些應用是對他們的生意有至關重要的影響。桌面虛擬化可以很有效的滿足他們的戰略需求。
把用戶的動機挖掘清楚了,才能很好幫助他們創建Business Case來獲得高層的支持。知道用戶最在意的是什麼方面,從而在設計和實施中明確一些必須遵循的原則和優先級,最大程度滿足用戶的關鍵需求。
二評估當前用戶環境
瞭解你的目標用戶是誰?他們目前的問題是什麼?他們每天運行的應用是什麼?怎麼才能讓他們滿意?同時,虛擬化項目不是孤立的方案。成功的項目必須和公司已有的系統很好的整合。
用戶分析:
大概對所有用戶進行分類,分類方法有多種。比如根據部門劃分,開發部門的需求和市場部門的需求很不同;根據用戶所運行的應用劃分,Taskworker, power worker 等等;根據用戶希望如何訪問桌面及應用,有的只是通過公司內網,有的需要通過專線或者Internet。
選擇最適合該用戶情況的分類方法,可以針對每類用戶定製合適的方案。
應用分析:
桌面虛擬化僅僅是幫助用戶訪問應用的手段。必須深入瞭解應用,評估虛擬化能否滿足該應用的功能上和性能上的需求。目前用戶如何管理DesktopOS Image?如何部署應用並升級?是否考慮應用虛擬化(ApplicationVirtualisation)?
Liquidware Labs 和lakeside 都有相應產品對用戶已有環境進行評估。
其他依賴的系統:
該方案是完全自給自足,還是必須依賴其他已有的系統,比如Active Directory,Database, SCCM,IDS, Firewall, Load Balancer 等
三分析各廠商方案
在充分了解客戶需求之後,選擇廠商方案來滿足特定的需求。沒有最好的方案,只有最適合的方案。
大概從以下幾個方面。
廠商關係和成本:
是否用戶已經使用某廠商的產品,並積累了較好的關係。是否有可能協商更好的價格。選擇合適的產品打包方案。員工是否已積累了某廠商產品的技能?
技術:
從Functional和Non-Functional等各方面進行大致評估。
四設計方案
需要特別注重設計方案階段。一個成功的設計雖然不能完全保證整個項目的成功,當一個失敗的設計註定你的項目不會有好的結果。我個人認爲在設計階段有下面的重要方面:
充分溝通設計並不僅僅是乙方架構師的職責,儘量和客戶各個相關部門進行充分的溝通,讓相關人員參與ArchitectureDecision的討論,爲什麼這個決定很關鍵,它會有什麼一系列的影響,我們建議這麼辦的原因是什麼?
均衡考慮設計有時並不能完全從技術上考慮。還有考慮到成本,管理等一系列的方面。這就是爲什麼瞭解客戶動機那麼重要了。它確定了設計原則和優先級,幫助你在考量各個可能是有據可循。比如我的一個用戶對高可用性特別強調。我們建議兩個雙活的數據中心,在一處有服務中斷時,用戶可以無縫切換至另一處。這明顯對預算緊張,但對可靠性要求不太高的客戶不合適。他們可能更在意一臺服務器能最多運行多少虛擬桌面。
可追溯性(traceability)我們的每一個重要的設計決定,應該能夠對應客戶的一個或多個需求。避免爲了實現某項特定技術,而不必要的增加成本,讓方案複雜化。同時每一個需求,也有相應的設計決定對應,避免遺漏。
五 Proof Of Concept
通常建議在決定大型桌面虛擬化項目之前進行概念驗證。選擇一組有代表性的用戶,並針對其需求快速實施一個小規模的方案。評估用戶體驗,吸取成功經驗和關注需要提高的方面。
六實施方案
實施時首先要有合理的項目計劃,並根據依賴程度、優先級、人員等合理安排任務。常見的情況是由於時間緊,實施不能完全依照設計進行,造成很多後續的麻煩。
七項目移交和運維
成功的桌面虛擬化項目,沒有完成時,永遠都是進行時。實施團隊必須幫助運維團隊制定完善的運維計劃,來應對日常維護,擴容和新的需求。