作者: 範軍 (Frank Fan)
新浪微網誌: @frankfan7
Twitter: @frankfan7
如果把一個項目比作戰役的話,項目經理是三軍統帥,架構師就是羽扇綸巾運籌帷幄的那位.仗怎麼打,就看你的戰略和戰術和。
未戰而廟算勝者,得算多也;未戰而廟算不勝者,得算少也。多算勝少算,而況于無算乎!-孫子兵法
<b>一</b><b> </b><b>挑戰</b><b></b>
<b></b>
大型虛拟化項目涉及面廣,子產品關聯多,架構設計師經常面臨的挑戰有以下幾個方面:
<b>滿足客戶關鍵需求</b>
和關鍵客戶的會談的機會是很寶貴的,能否有效的挖掘商業和技術需求,直接關系到項目成敗。架構師要有清晰的思路來掌控會議的話題和程序。哪些方面需要深入發掘,哪些方面大概覆寫,哪些方面暫時擱置,都要心中有個大概計劃并靈活應對。
需求有了之後,設計并實施的過程中是否全面考慮滿足那些需求呢?
<b>掌控全局和深入局部</b>
技術專家常常容易犯的一個毛病就是隻見樹木,不見森林。有時容易沉浸在技術細節中,而沒能多着眼大布局。有時候對一個設計決定的風險和影響估計不足。
<b>設計實施計劃</b>
技術藍圖之外,還要靠缜密的實施計劃,才能有效利用資源,規避風險和保證品質及進度。
我設計了下面的架構設計圖來說明了虛拟化項目的成功要素。屋頂代表客戶需求,這是我們的終極目的,一切的努力都是要把這個屋頂撐起來。五棵柱子代表虛拟化項目中的關鍵子產品。每棵柱子的技術決定都會對緊接下面一層的風險有影響。再下面的三層分别是假設條件、環境限制,客戶環境。最下面的一層基礎是實施計劃,直接決定了項目執行的成敗。
<a href="http://blog.51cto.com/attachment/201303/202800321.jpg" target="_blank"></a>
<b>二</b><b> </b><b>案例</b>
光練不說是傻把式,光說不練是假把式,咱還是實戰演習一把練練真把式。
下面的客戶需求摘自VMware VCDX訓練營提供的一個案例
<a href="http://blog.51cto.com/attachment/201303/202900649.jpg" target="_blank"></a>
<a href="http://blog.51cto.com/attachment/201303/202942104.jpg" target="_blank"></a>
謝謝看官耐着性子看到這兒,是不是覺得有點暈,有點亂,不知道從哪兒着手?這就對了。不隻你暈,我也暈。
VCDX最後一關面試的時候是要求30分鐘内對以上客戶需求出個設計草案的,打仗沒章法,那怎麼成?我第一次VCDX面試的失利,原因之一就是因為折在這兒了。說着說着沒詞了,不知道下一步問考官扮演的客戶什麼問題,也不知道是不是滿足客戶需求了。
别急,咱有招兒,翠花,上模闆!
<b>三</b><b> </b><b>模闆</b><b></b>
我又發明了個圖(您是不是嘀咕了,我好像别的不會,就會畫圖湊字數,糊弄個推薦文章?)個人覺得還是有撥雲見日的功效的(吹吧,接着吹~)
<a href="http://blog.51cto.com/attachment/201303/203022725.png" target="_blank"></a>
咱們把上面零碎地資訊往這模闆裡一填,是不是清晰多了?
解釋一下,ID是該條目的辨別,而OID(Outcome ID)是與此條目有關聯的其他條目ID。好處就是标出了條目直接的關聯,很容易查證是否滿足的需求,并且掌握了設計決定之間的關聯。
我僅僅列出了設計中較為重要的一些考慮因素,細節部分還需具體問題來具體研究。
在客戶需求會議之中着重于模闆的藍色部分,會議中就有章可循。當然不指望一次會議就全弄清楚。
在設計過程中根據藍色部分的資訊,一步步勾勒出綠色部分的大緻資訊,然後再具體細化。
咱們就拿其中一個具體的需求來說事兒吧。
R1 客戶需要把200台實體伺服器虛拟化。下一步直接要考慮的就是 H1:
<b>1 H1-</b><b>目标ESXi</b><b>伺服器選用什麼硬體?大概多少台?</b>
環境限制中的 C3和C4以及條件假設A1 就大概決定了H1
C3:盡可能繼續使用原來的伺服器并說明了其配置
C4:新購買了五台伺服器并說明了其配置
A1:假設15實體伺服器的工作量将在1台ESXi主機上運作,那麼一共200台伺服器
200/15=13.3 取整後是14,再考慮額外2台主機作為Failover Capacity, 14+2=16台
<b>2 </b><b>具體ESXi</b><b>伺服器的配置 </b>
H1有關聯的條目(OID)是H2,H3
H2:需要按照C3來計算所需要的ESXi主機的CPU和RAM需求
Number of vCPU: socket number * core number * 實體主機數(2 * 2 * 200 ) = 400
在第一步中我們預計需14台ESXi主機
400/14=29 一台主機需要滿足29 vCPU
RAM:RAM * 實體主機數 (4 * 200)= 800 G
同理:800G/14= 58G 一台主機需要有58G的<b>可用記憶體</b><b></b>
新購伺服器的配置是:
CPU physical cores: 2-cpu * quad core( 2*4) = 8
Ratio of physical core: vCPU = 8:29 = 1:4 , 還算是穩妥。
RAM: 不清楚
至少RAM要有20%的空餘吧 ,
58G / 80% = 73G
這就看記憶體的價格了,可能上128G比較合适
可是我們隻有5台新伺服器啊,16-5=11, 還有11台沒着落呢。
别忘了條件限制中的C3:盡可能使用已有伺服器
已有伺服器隻有4G RAM,這就肯定需要擴容到最大支援的記憶體了。
還有一個案例中透露的細節是,200台主機是分3個階段來虛拟化的。為什麼?第一是 根據需求R2來制定執行計劃P1: 把關鍵應用的伺服器放在最後一個階段。 第二:我們可以利用虛拟化完成後的伺服器,作為ESXi主機來補充新購伺服器的不足
經過以上分析,是不是主機和叢集的架構就出來了?
還沒完呢,存儲網絡的事兒還沒說呢,謝謝很多看官耐着性子聽我羅嗦到這兒.
咱還是下回分解吧。
<a href="http://down.51cto.com/data/2362369" target="_blank">附件:http://down.51cto.com/data/2362369</a>
本文轉自frankfan751CTO部落格,原文連結:http://blog.51cto.com/frankfan/1144708 ,如需轉載請自行聯系原作者