有越來越多的客戶已經意識到雲端的好處與優勢,也願意開始評估雲端服務。在思考自家公司的 VM 是否可以上雲端的過程中,如果沒有正確的觀念來選擇雲端 VM 的話,通常在選 VM 規格的時候不免會有兩種感想:(1) 選得我頭好昏阿 …… (2) 為什麼這麼貴。如果您也有這兩種感想的話,那請看看我接下來的分享囉 !
在開始之前就讓我先來挑一個最常見的主題吧 -「我想將公司的 Web 轉上雲端」,這裡的 Web 有可能包含多種形式:(1) 公司官網 (2) web-based ERP (3) EIP ……等。
選得我好昏阿
不太熟悉雲端 VM 的朋友們,選到頭昏腦脹我認為是合理的,畢竟我以前也是熟悉地面架設 IT 基礎建設的系統工程師,剛學習雲端相關技術時,的確不太適應。現在,經過我的整理之後,建議你要先掌握以下項目:
運行 Web 的 VM 使用的 CPU 核心數量、Memory 大小、Disk 大小。如果有將 VM 資源的歷史使用記錄保存的話就更好 (但你知道的,通常不會有這種記錄……)。
通常 Web 服務的背後都有資料庫,現在應該很少網站是全靜態的 HTML 了吧 (呵~)。資料庫的使用廠牌不出:MySQL, MS SQL Server, Oracle。在安全性與效能的考量上,通常會建議將 Web 與資料庫分開。幾乎所有公有雲的廠商都支援以上三種主流的資料庫廠牌,授權的使用方式可以是買斷授權帶到雲端去安裝,或者是直接在雲端上開啟包含資料庫的 VM 範本。至於版本是否在雲端上有支援,這點主要是看作業系統,假設作業系統有支援該版本的資料庫的話,就能夠被安裝。另外也要特別提醒大家,如果是買斷授權帶到雲端去安裝的話,授權的買法會不太一樣,詳細您可以詢問您熟識的 IT 廠商,或者是詢問我們公司也非常歡迎喔 !
公有雲通常都有支援主流的 Linux 與 Windows 作業系統,但版本過舊的話就不支援,例如:微軟 Azure 公有雲平台不支援 Windows Server 2003 (但老實說我還是不信邪有實測過,我將 Windows Server 2003 的 VM 整台上傳到 Azure,還是可以正常開機並運行 Web。不過我覺得啦如果當我們這麼做然後出問題之後,微軟一定不會鳥我們,所以重要服務還是不要輕易嘗試為妙。) 在授權方面,作業系統無法帶著授權到雲端去安裝。
假設是自行開發的 Web 服務,通常不會有什麼太大的問題,即使你用 ASP 這種阿公級的程式語言來開發網站也 ok 喔,除非作業系統不支援。但是 (人生最討論的就是碰到這種但是),如果你要擺上雲端的 Web 服務是 ERP or EIP,那對不起,你就要看 ERP or EIP 廠商的臉色了,通常廠商會因為測試尚未完備或穩定性無法確認而不敢支援公有雲的 VM,畢竟 ERP or EIP 都是相當複雜的系統。如果我是 ERP or EIP 廠商的話,我也會這麼說的,因為我不想假日電話被打爆阿 Orz……。
如果你的 Web 服務有要求固定 IP、反解、自定義 Private IP……等需求,先確認一下設定值該怎麼調整。再者,通常 VM 開起來有可能有磁碟區 (partition) 不能使用,例如:Azure VM 的 D 磁碟區就會定期被清空。
為什麼這麼貴
你是用自己架設的實體機 or VM 規格去算嗎? 如果是的話,那我想請你換個想法再試著思考一下,任何服務上雲端,如果能有歷史的效能數據是最好,這樣開雲端服務的規格便是有憑有據。那如果沒有的話呢? 推荐你一個最簡單的方法,那就是看這台實體機 or VM 當下的效能。以 Windows Server 2012 R2 為例,打開工作管理員即可。如下面兩張圖:
我們靜下來想一下,其實規格開好這個想法的來由,是我們自架伺服器的既有觀念。因為自架伺服器我們一般會用 5 ~ 7 年,所以在規格方面通常會買的比較好,一定會超過服務的實際使用的規格。但在雲端上使用 VM,千萬不能這麼想,以我上圖的規格為例,如果是在微軟的 Azure 上開 VM 的話,一個月要價 NT$8,310,用一年就等於我買一台 DELL 伺服器的費用了。現在我們評估雲端,請你將雲端的資源盡可能的用到滿,快滿之前再擴大規格 or 數量即可,這樣的使用觀念才真正的符合雲端精神。以我上面第二張圖為例,一開始我們只要開 A2 (2cores, 3.5GB memory) 的規格就夠了。
再來,是關於資料庫的搭配。假設您們有一套 ERP 系統是用 MS SQL Server,大約有 10 人同時會上線使用,然後你查了一下資料庫是使用 SQL Server 2008 標準版。如果你正在評估將此系統是否要轉上雲端,通常很直接的動作是在 Azure 的計算機網頁上選擇 SQL Server 類型的 VM (如下圖),接著你就會發現,竟然一個月就要 13 張小朋友,別鬧了!!
但是你有可能不知道,這裡的 SQL Server 是 by cores 計價的,比較適合用在使用服務人數計算不出來的對外電子商務網站。如果您們是 10 人要使用 ERP 系統,請購買 SQL Server + CAL 的地面版授權加上 SA (software assurance),就可以上雲端了,價格可是天差地遠。還有一個小撇步,尤其適合用在公司內部的服務,像 ERP 系統應該不太需要每天 24 小時都開機 (如果是跨國企業 or 無上限責任制公司可能會需要開 24 小時),如果一天僅用 12 小時的話,那一個月的花費立刻打 5 折,很不錯吧。同樣的道理可以用在需要授權費用的其他廠牌的資料庫軟體,重點是我們要多方收集資料,以免用錯規格而多花冤枉錢。
最後是流量計算,這應該是很多人都很頭大的問題,因為以前如果我們是放 local IDC (例如:中華電信 Co-Location、遠傳 IDC 之類的),會是用 95% 峰值來計算頻寬使用費,沒特別意外的話,應該每個月繳交的費用是一樣的。但是使用雲端服務就不是這樣了,每個月給你的月結費用都不一樣,最容易跳腳的人除了 IT 之外,那便是財務同仁了。但我們可以這樣想,使用雲端和使用水電是一樣的道理,不太可能水電費每個月都一樣吧。至於要預估的話,也是建議有歷史數據會比較好,這樣有基準值預估起來也不會差太多,如果沒有的話,建議你架個 MRTG or CactiEasy 收集流量數據一個月。
參考資料:
微軟 Azure 雲端服務 - 完整計算機
== 要試用 Azure的朋友 ,請點選 Azure Free Trial – 試用 30 天期 進行試用申請。 ==