ADVERTISEMENT
模擬運作大考驗
假設以訂購阿妹演唱會門票為例(以下舉例非大市集官網實際運作方式),使用者輸入購票網站的網址後,會連線至服務供應商的網頁。接著會先經過負載分流器,將流量導至合適的實體機器上,實體機器再透過網路的方式至存放資料的儲存設備讀取資料。
當儲存設備收到來自實體機器的要求,並確實將所需資料回傳至實體伺服器後,實體伺服器再對取回的資料做適當的運算處理,最後送回使用者端,使用者就可以看到該購票系統的網頁及目前的訂位情形。
▲點選活動選擇的流程
▲點選票區座位的流程
即使是上網買張演唱會門票這麼簡單的動作,背後還是需要經過層層關卡。受限於第二層負責運算的實體伺服器數量,當購票流量過大就可能造成效能低落、無法運算等問題,相信經常去端點購票的玩家都能了解這種情況。
前述系統無法承載過大的流量,即是第二層負責運算處理的實體伺服器數量不足造成。因此若能在熱門活動期間,擴充第二層伺服器以分擔工作量,而在平時需求量低的時候用少量的伺服器,將會是企業比較能接受的解決方案。以下我們就以三個步驟來比對實體和虛擬方案的不同。
步驟一:建制伺服器
在第一步驟的機器採購,我們將傳統做法、公有雲、私有雲3種方案的做法一併列出來,至於後續步驟由於公有雲、私有雲的優缺點大致相同,就合併為一項說明。
未採用雲端管理系統:
首先需要先添購伺服器,並架設伺服器(包含供電、冷卻等系統)。在營運前需作完整的設備評估,若低估營運績效,則需重復進行此步驟,再添購新的伺服器。若高估營運績效而添購過多的伺服器,則需承擔龐大的維護成本,如前文提及的企業為了負擔活動期間的服務,則需多負擔100萬至400萬。
採用公有雲的解決模式:
添購伺服器的營運負擔已由雲端服務供應商解決,而廠商只需評估租用金額即可。若採用雲端服務供應商的租借服務,即使低估營運績效,使虛擬機器無法負載,也可以立即申請新的虛擬機器並架上服務即可營運。若高估營運績效而申請過多的虛擬機器,也可立即停用適當數量的虛擬機器,以減少營運成本。但現有的服務供應商所訂定的租用價格並不便宜,此方案較適合個人架設服務網站,或服務處於試營運的階段。
▲擴充彈性高、建構成本低,是虛擬化擴充最大的好處,且不少營運成本都已經由雲端服務商吸收,只需要付出租金就能使用。
自行建立私有雲:
中小企業只需採購包含管理雲端的作業系統即可,如:VMware的vSphere或資策會的CAKE等。下表可看出硬體的節省成本高達四百萬之多,維運成本更只有未虛擬化前的四分之一。
▲資料來源:中華電信數據通信分公司。
步驟二:負載設定
伺服器搞定後,接著建構服務網站,進行負載平衡設定。
未採用雲端管理系統:
以購票系統為例,當採購了新的實體伺服器,並千辛萬苦的組裝、拉線及確認實體機器是否能運行後,第二個面臨的問題則是將舊有的網頁服務等設定裝至新的實體機器,雖然實體機器的解決方案可透過Ghost的方式達成,但實體機器在安裝完所需的套件及服務模組後,仍需將該台實體機器的相關資訊以手動的方式加至負載平衡器中,換句話說,裝機人員還得懂如何使用負載分流器。
採用雲端管理系統:
而雲端服務只需要將相同功能的虛擬機器設定成群組的樣版機器後,即可快速複製多份功能相同的虛擬機器。並自動將複製好的虛擬機器加入負載平衡器中,達到分擔負載的效果。
以資策會的自動增減虛擬機器為例,使用者只需在申請自動增減虛擬叢集時,點選現有的虛擬機器(若以購票網站為例,即為提供服務的伺服器),並設定服務時最大、最小的虛擬機器數量,亦即選擇分擔工作的伺服器數量,申請通過後所有的相關設定一步到位,使用者無需擔心設定問題。
▲同樣是租借虛擬機器,設定auto-scaling(自動增減)可讓尖離峰資源分配更有效率,當然就能夠節省更多成本。
步驟三:設定監控機制
上述步驟都完成後,最後需要設定監控條件,當負載過重時能夠自動啟用新的機器,或負載較低時能夠自動停用使用中的機器。
未採用雲端管理系統:
若自行建置實體環境,最直接的辦法就是把所有實體主機開機,但是這種方式耗費的資源過大,若要達到有效的資源管理,必需自行開發管理實體主機的軟體,亦即需要透過此中介軟體收集各實體主機的負載情形,並依照實體主機的狀態做開關機的動作。
採用雲端管理系統:
而雲端服務供應商通常會提供他們研發的管理軟體幫你配置資源,使用者只需套用其開發好的模組,即可進行監控條件的設定。當監控條件達到負載過高或過低的警示時,便自動增減虛擬機器,並重設負載分流器設定。過程中皆自動運行,使用者無需擔心負載過重無法負荷,當然這是在虛擬機器數量及資源能夠負荷的前提下才能達成。
虛擬與實體優劣比較 | ||
實體方案 | 虛擬方案 | |
伺服器採購 | 風險高 | 風險低 |
服務網站建構 | 複雜性高 | 複雜性低 |
負載平衡設定 | 手動設定 | 自動設定 |
監控伺服器負載 | 自行開發 | 現成套件 |
自動擴增伺服器 | 額外開發 | 直接設定 |
雲端虛擬化彈性高
顯而易見地,未採取虛擬化且欲達成虛擬化所帶來的好處,所耗費的時間、人力及資金將難以評估,且開發完後至採用此解決方案仍需做嚴格的壓力測試,日後還得面臨維修等工作。而採用已開發完善的雲端管理系統,已提供優良的資源利用管理及監控模組,使用者只需使用其模組即可達成內部的需求,不需對實體機器做維修,且人力可以集中於虛擬機器的管理及服務開發即可。
對中小企業來說,透過雲端的方式來試探市場對「新服務」的評價是不錯的選擇,而自動增減虛擬機器的雲端服務,無疑是新產品過度期的最佳因應策略。當人氣高系統負載重,則自動擴充虛擬機器以分擔工作。當人氣低迷時,則減少虛擬機器以減少支出。
變動量大就靠雲端擴充
若市場對新服務的評價不錯,即可依成本考慮自行採購實體機器、建置私有雲端環境或投入更多的經費於公有雲。相反的,當新服務的評價不如預期熱烈,並達到停損點設定時,即可立即終止該服務,不用承擔實體機器買回而無用的窘境,減少內部政策及計畫統籌失敗使公司倒閉的風險。
另外,如前述的購票網站等系統,其系統負擔變動量較大,且於特定時間點負載會大量激增的服務,也適合採用「虛擬機器自動增減」的服務,透過雲的加值來穩定服務品質。由此可知,雲端擴充不但在硬體資源的管理表現出色,應用更是廣泛,若利用得當,雲端技術所創造價值將會非常可觀。
文章來源:電腦王91期/作者:劉坤星
這兩個可是超吃瞬間的連接數(≧▽≦)
更何況虛擬之後多少會有點效能落差?
※ 引述《Fantasi》的留言:
> 不太能夠理解的是,虛擬化吃的還是實體主機的資源,當一台實體主機無法負荷的操作,如何能夠期待一台實體主機虛擬成兩台主機之後能夠負擔?
> 更何況虛擬之後多少會有點效能落差?
db 可不是說加就加的。
且 訂票網站塞爆 通常不是 ap 的問題而是db 的問題。
希望作者能有更詳細的說明