業餘網路寫手阿D正在辦公室上班,突然間靈感迸發,手邊一時間找不到紙筆的他,眼光移回電腦顯示器,迅速地打開Evernote,奮筆疾書把這些隨機的字句全部記錄下來,隨即拋諸腦後。而在一天工作結束,晚上下班回到家中,他想起白天時那些模糊的碎片,便把Evernote打開,這些片段很快就串起了一個新的篇章。
如果你還不是很明白雲計算,就是一個貼近生活的例子。當然,雲計算肯定不僅限於此,而且它所能完成的工作,很多時候普通人根本想不到。就像你知道什麼是Windows,而在它變成Windows Azure之後,就突然覺得自己原來所知道的一切,全部都騰雲駕霧不知所向了。不著急,我們一點點把它們找回來。
雲計算101 解析Windows Azure的角色屬性
首先為雲計算這個概念一下,雲計算雖然字面上借用了雲,但和氣象學中的雲是沒有任何關係的,這只是一種形象說法。雲計算里的「雲」形容的是隨時隨地,通過網路隨手可及的計算服務,就好像天上的雲,不管在哪都能看到。
而雲計算這一術語中的「計算」不是單純的拿來算1+1=2,而是你能在家裡PC上做的事情,雲計算都能做。簡而言之,雲計算就是由很多很多伺服器組成,可以隨意分身合體,強大到無以復加的電腦。這些不盡相同的伺服器將它們的運算能力,通過虛擬化抽象後再分配,成了一個個用來執行具體任務的虛擬機。
從左往右就是傳統架構、IaaS、PaaS、SaaS的結構分層,藍色為用戶自管,灰色託管
雲計算基本不需要使用者自行,完全由服務商託管,這是SaaS,服務商提供成型的軟體供普通用戶使用;但如果有需要,可以讓服務商一部分內部機制讓使用者利用進行深層次的按需定製,根據定製的程度,又能分為IaaS和PaaS兩類,IaaS相比PaaS能接觸到底層的虛擬機,存儲和網路資源,是最底層的形態。
對於那些已經組建好自有網路的單位來說,實際上也是能在自己的網路里實現雲結構的,不過這片雲只屬於自己,所以叫私有雲。相對的,在外面由其他服務商提供的雲計算服務,就叫公有雲。不過在滿足條件的情況下,這兩種雲計算可以像和麵糰一樣,把公有雲里的計算實例掐出來,和現有的私有雲糅合在一起,就成了混合雲。
到這裡,你應該大概能對接下來要登場的Windows Azure是一件什麼樣的事物,有所心理準備了。
建站虛機駕輕就熟 Windows Azure威力初顯
Windows Azure自發布以來經過3年多的發展,現在已是一個SaaS/PaaS/IaaS兼備的三明治型雲服務,當然,像Office 365這樣的SaaS部分本文就不多費口舌介紹了,以前愛活有過體驗,相信現在大家也一點都不陌生,這裡我們著重介紹,如何發揮PaaS/IaaS模式下Windows Azure的威力當然,這隻會是冰山一角。
a、快速建站
於一般人而言,在互聯網上擁有一個伺服器,你最先能想到的用途是什麼?當然是建立自己的網站。經驗豐富的你很可能會心想,不就是vps嗎,設置完全是雕蟲小技,對我來說早就輕車熟,不過小編還是要很遺憾地告訴你,對付Windows Azure連這點雕蟲小技都不用使。
我們先創建網站實例。從底欄的統一入口「新建」開始,選擇「計算」「網站」「快速創建」,然後填入一個未被佔用的二級域名,選好網站的數據中心,再確定,片刻過後網站實例就建立完成了。當然,相對於許多VPS來說,這一步是多出來的步驟。
建立好的網站只是一個沒有任何內容的空殼,你需要使用開發軟體或是部署工具往其中填充內容。通常對於專業的開發人員來說,Visual Studio搭配Windows Azure SDK是理想選擇;如果沒有VS這樣高大上的開發套件,微軟也有輕量級的WebMatrix提供給普通人。我們這裡就用Windows Azure SDK網路安裝包,配合WebMatrix來一個搭建Wordpress博客站點。
預置的各種網路應用
網路安裝包將可用的資源分為兩類,「產品」一類是微軟自己的系統性功能,例如SQL Server和IIS,還有Windows Azure SDK;「應用程序」就是各種常見的web應用了:WordPress、phpBB、discuz!、Drupal、Joomla以及不少商用CMS系統。將WordPress添加至安裝列表,其依賴項也會一同添加,不用自己摸索,它們將全部下載至本地。
下載配置完成後,WebMatrix會立即啟動並打開剛下載的WordPress,此時你可以在本地運行網站,進行測試安裝工作Wordpress應用程序本身的安裝自然都是大同小異了,此處不多作贅述。確認安裝正確無誤之後,就可以準備把整個網站都發布到Windows Azure上了。
在發布前,你需要Windows Azure的管理門戶里進入對應網站的開始頁,獲取它的發布配置文件。隨後便能點擊「運行」旁邊的「發布」,然後定位發布配置文件,點擊幾次下一步,網站就發布到Windows Azure上,可以使用二級域名進行訪問了。
b、安裝虛擬機實例
當然,光憑微軟提供的Web應用程序,是不可能滿足得了廣大用戶的需求的。不過說到這裡,想從平台搭建開始,全程掌控網站建立和過程的你,肯定也不再需要長篇大論炒一遍如何手動建站的冷飯,我們還不小小地測試一下,Windows Azure的虛擬機究竟有何種程度的性能。
選擇好虛擬機實例的規格和OS之後,然後選擇好要將其放入哪個數據中心,並設置是否要為其創建可用性集群,再確認創建,Windows Azure就會開始初始化虛擬機實例,這個過程大概在1分鐘左右,一旦它告訴你虛擬機已經就緒,你就可以在儀錶板頁面的底欄里找到「連接」,下載遠程桌面連接,並用創建時預設的密碼進行遠程桌面管理了。
Windows Azure虛擬機當然推薦使用微軟自己的Windows Server 2012 OS了,由於內核的共通性,管理和訪問的簡單程度絕對拔群。舉個最淺顯的例子,要往虛擬機里上傳東西,一個有經驗的管理員會馬上想到去IIS控制面板里配置ftp服務,這當然是一種方式,但是你肯定也會想不到,在本地和遠程桌面之間使用Ctrl+C和Ctrl+V也能完成類似的任務,不過不拿來複制大文件或目錄。
那一個標準的Windows Server 2012虛擬機實例能有怎樣的數據吞吐能力呢?我們創建了一個中型虛擬機實例(雙核/3.75GB RAM/250GB存儲),使用Windows Server 2012 R2系統初始化,隨後用HDTune簡單測試了一下,得到了平均28MB/s的讀取傳輸速率,和150IOPS的隨機存取每秒操作數的結果。
HDTune的基準讀取測試,傳輸速率平均為28MB/s,4KB隨機讀取IOPS為120左右
字面上來看這是一個普通的HDD存儲的成績,由於Windows Azure的資源調配是根據訂閱和計算需求優先順序自動調整的,目前公測階段還無法接觸到更加優質的計算資源,我們也只能推測在規模擴增之後性能會得到明顯的改善。
中小企業新 Windows Azure利劍所指
雲計算這一術語一聽覺得高端大氣,按照慣性思維來想,肯定又是為那些大企業服務的,我們這些普通小公司都無福消受的吧?答案並非你所想的那樣。而且恰恰相反,像Windows Azure這樣的雲計算服務,實際上是更適合中小企業的。你肯定要問為什麼了,且看下文三大理由:
1、節省持有成本
如果採用Windows Azure作為自己IT架構的基礎,和傳統方式相比,要獲得等量的計算資源,所花費的資金明顯更少。假定我們新增一組伺服器,按照原有思,需要購置一個24U的機櫃,使用參考價格12000元的1U伺服器(1.8GHz Xeon-E5/4GB RAM/300GB硬碟),光是購置這些硬體設備就已經需要一次性投入50多萬元,購置完畢後,保養和運行的成本也不會低,而且還需要有具備相關專業知識的IT人員來進行管理。
類似的,如果使用Windows Azure來打造與之接近的計算力,我們可以訂閱24個大型虛擬機實例(4Core CPU/7GB RAM/500GB存儲),每個實例月價約為1650元(匯率換算價,國內正式定價目前未定),一個月的開銷大概在40000元,一年下來也是50萬元不到,但完全節省掉了保養成本,還不用自己交電費,更不用僱傭專人來看著這一堆伺服器,而這些開支很可能和40000元的訂閱費用相當了。
2、無需專人管理
如果你身處一個擁有自己IT基礎設施架構的公司,你肯定會知道你們公司里有這麼一群技術,他們負責管理和公司的伺服器,工作站,還有網路等各類IT設備的安全和穩定運轉;而除了具備打造和公司IT架構的技術之外,同時他們還必須是這方面硬體的專家,為公司在設備投資上的決策提供專業的參考;而在現有的條件下,他們還要根據的現狀,思考如何改進升級架構才能提升工作效率這樣一群人才不光難找,找到估計也是重金聘請。
然而對Windows Azure來說,因為消除掉了硬體的根本需求硬體全部都在微軟的數據中心裡,工作自然都是由微軟和它的合作運營商負責的,對於把IT架構寄於Windows Azure中的組織而言,自然就沒有必要騰出專門的人手來打理硬體,系統管理員的工作負擔也大大減輕。
3、改善容災能力
一個規模不大的組織,IT架構的容災能力總是有限的,也許一個集群裡面壞掉一兩個伺服器還好說,同時故障的數量如果再多幾個,搞不好連服務正常運行都無法了。而面對,再為的防火牆也是形同虛設,公司辛苦經營的單個機房被自然災害或是人為毀損直擊的結果無一例外都是服務中斷。不少企業都想做異地備份來容災,然而建設一個新機房的成本又總是讓沒有財力的SMB感到無望。
如果轉移到雲上,支持異地存儲複製的Windows Azure則能給他們吃一顆容災定心丸。龐大的數據中心裡的分散存儲自不用提,如果一個實例故障,很快就會有新的虛擬機實例頂替它;微軟會把每一份數據寫進另外兩個在不同地理的數據中心裡,實現異地災備,業務穩定。世界上能作出99.95% SLA承諾的雲服務不多,Windows Azure是其中之一。
Azure可以自己調整VM的計算量大小,也能安排一組VM建立可用性群集
而彈性的計算資源應對訪問量高峰,計算規模擴增輕鬆等雲計算的共有特性,也是中小企業青睞它的原因,Windows Azure當然具備這些能力。
角力同行各有所長 Windows Azure的主要對手
在國外,Windows Azure的競爭對象是亞馬遜的一整套AWS(Amazon Web Service)雲服務。和作為後來者的Windows Azure比起來,AWS的優勢在於齊全的虛擬機規格和OS種類,Windows Azure目前只能提供5種虛擬機實例(若算入3種內存實例則為8種),對開源OS的支持也不如AWS全面。但它憑著微軟一家親的關係,能靠提供最新的Windows Server 2012版本追回一點劣勢。
在軟體和服務方面,Windows Azure和AWS可以說是不分伯仲,不過對於已經擁有Windows Server基礎架構的組織來說,集成了Active Directory的Windows Azure,在現有架構整合上存在不可比擬的優勢,建立混合雲會更加便利。而前面提及的支持存儲異地複製,也是Windows Azure的加分點。把眼光放到國內比的話,它具備的最大優勢,還是在中國本土有數據中心,AWS最近也只能到東京。
在國內,Windows Azure其實也面臨著本土雲的競爭,沖在最前面的就是阿里雲。阿里雲作為在中國境內發展得最好的雲服務,它的IaaS服務基本代表了國內該項目的最高水平,雖然和Windows Azure相比是小巫見大巫,但是阿里雲對數據存儲十分重視,這正是雲計算的核心所在,所以它還是具備和Windows Azure正面對話的能力。
不過在配套的服務方面,阿里雲就差Windows Azure不少了。現在阿里雲缺乏網路服務和VPN,雖然對新建立的SMB來說影響甚微,但不適用於已有自主架構的企業套入,估計很難拉攏大企業。就連在接入質量上,Windows Azure藉助世紀互聯的上海網路互通,都可能會比阿里雲的青島杭州雙節點要樂觀一些。但阿里雲畢竟是土生土長的國內雲,不存在接地氣一說,Windows Azure所苦惱的域名備案問題它已經無礙解決。
碧海何時渡 只待平步登青雲
除阿里雲之外,國內也有像SAE,BAE還有騰訊雲這樣的雲服務在努力發展,他們各有所長,總體上仍然是阿里雲做得最完備,大有打造中國的AWS之勢,但Windows Azure的加入,讓這一切都充滿了變數。
Azure進入國內,把國際標準的IaaS/PaaS/SaaS全套服務一起帶進市場,手攥貼心的企業應用,還有完整的.NET開發平台,面對著中國諸侯幾乎都能輕鬆,基本上要所有國內雲集各自優勢聯合起來才能與之抗衡。Windows Azure現在只需要解決兩個問題,一個是想辦法把域名綁定的問題解決,另一個是確定一個合理的國內定價,一旦移走這兩塊絆腳石,那它毫無疑問是近幾年裡國內能用的最靠譜雲計算方案。