云計算的魅力在于用戶只要有身份證和信用卡就可以開始使用,但這也是問題所在。這么簡單的服務勢必會給毫無準備的IT部門帶來許多挑戰。之前我們已經多次碰到過這個現象:某項技術易于采用的優點到頭來卻變成了意料之外的管理難題,比如虛擬化技術導致虛擬機散亂,智能電話帶來新的安全風險,即時通訊引發公司治理方面的問題。
本文表明我們仍處于云計算的早期階段,這意味著,相關工具和技術還在不斷完善中。比方說,經過長達兩年的測試后,亞馬遜網絡服務公司的彈性計算云(Elastic?Compute?Cloud)服務在去年底才推向市場;監測、管理和負載平衡等企業級功能仍在其規劃當中。同樣,谷歌應用引擎(App?Engine)屬于預覽版本。微軟的Azure云服務也屬于預覽版本,目前只有Windows開發人員可以使用有限的功能,其他早期采用者無法使用。
不過現在可以開始規劃了,你既可以實際感受這種新的IT交付模式(包括了解各種故障和缺陷),又可以比其他在考慮獨自利用云服務的公司同事超前一步。
一、管理篇
牢牢控制云計算
管理云計算服務的工具形形色色,既可以使用簡單的儀表板,讓你在幾分鐘內就能創建虛擬軟件棧;也有能夠處理各種配置和管理任務的企業級平臺。云計算使用越廣泛,就越需要那些高端工具。
亞馬遜、谷歌及其他云服務提供商提供了幫助客戶入手的基本工具。比方說,谷歌應用引擎的管理控制臺可以顯示流量大小、帶寬、CPU利用率以及谷歌托管應用程序的出錯率,這些數據可以幫助你深入研究日志文件,并獲得其他詳細數據,還可以用它來控制管理權限、管理應用程序的升級。
然而,應用引擎仍屬于“預覽”版本;這意味著,隨著需求越來越高,這些工具將無力滿足要求。谷歌的產品經理Pete?Koomen承認:“我們還缺少一部分功能。”
我們看到,云服務提供商、新興公司和系統管理廠商都在競相為客戶提供功能更齊全的工具,以管理云環境中的資源。亞馬遜表示,它會“很快”為彈性計算云服務推出新的管理控制臺和云監測功能。亞馬遜已經在提供一些基本功能,比如使用命令行界面創建亞馬遜機器映像(Amazon?Machine?Images)的功能。管理控制臺讓用戶可以配置及管理EC2資源,而監測功能將包含EC2實例和?“可用區域”(availability?zones)方面的實時度量――可用區域是客戶為了確保冗余和最高可用性而選擇的亞馬遜基礎架構中的一部分。亞馬遜還計劃在2009年提供負載均衡和自動擴展功能。
專門從事云管理的公司是另一個選擇。RightScale公司的托管服務平臺包括管理儀表板、數據庫和網站管理、批處理、多服務器部署功能以及自動擴展功能。提供基本功能的開發版本可免費使用,但大多數IT部門會需要RightScale的另外三個版本(網站版、網格版和高級版),這些版本的起價為每月500美元,外加2500美元的一次性費用。
RightScale創辦于2007年,以管理亞馬遜網絡服務起家;如今擴大了業務范圍,可以管理其他公共云服務,包括FlexiScale和GoGrid的云服務。RightScale還為加州大學圣巴巴拉分校的Eucalyptus公共云提供了一個平臺,?把面向云計算的開源Eucalyptus軟件部署在集群服務器上。它實際上是一個研究測試項目,但目的是通過RightScale的儀表板,能夠管理公共云和基于Eucalyptus的專有云。
與Web應用程序一樣簡單
在管理Web應用程序和基礎架構方面有過經驗的IT部門會發現,云計算有著相似之處。Hyperic公司首席執行官Javier?Soltero說:“如果你能管理Web應用程序,就能管理云應用程序。”該公司有一個版本的Web應用程序監測軟件正在亞馬遜網絡服務中運行。
Hyperic?HQ由中央管理服務器和代理軟件組成,前者通常在公司內部部署的服務器上運行,而后者駐留在Web服務器上,向中央管理服務器報告可用性、性能及其他度量數據。借助剛發布的HQ?4.0,Hyperic服務器可以配置成EC2中的亞馬遜機器映像。對IT管理員而言,這意味著部署簡單、訂購費較低、性能更高。Hyperic?HQ的功能包括自動發現軟件、診斷、報警、分析和報告以及其他工具。
有人認為,對云應用程序“眼不見心不煩”,這種態度大有問題。Soltero說:“有人認為,因為你在云中部署了應用程序,所以根本不需要監測和管理,這是云計算方面的天大謊言之一。代碼天生有缺陷,技術也會出問題,所以你需要監測功能。”
Kaavo公司也專門從事多個云的管理。這家新興公司的平臺支持服務器監測、云中的LAMP軟件配置、負荷管理、軟件審計、補丁管理、運行時配置管理、通知及報警。它已推出按需基礎架構和中間件(Infrastructure?and?Middleware?On?Demand)軟件的免費測試版;很快會推出普通發行版。Kaavo的優勢在于其管理團隊:創辦人兼首席執行官Jamal?Mazhar是獲得Sun認證的J2EE架構師,首席技術官Shahzad?Pervez以前在大公司擔任過IT主管和企業架構師。
知名的系統管理軟件廠商也為云環境帶來了新的控制工具。IBM公司自主計算開發主管Dennis?Quan表示,IBM的Tivoli部門計劃把云管理功能集成到服務請求管理器(Service?Request?Manager)、配置管理器(Provisioning?Manager)和監測(Monitoring)等產品線中。IBM還希望為客戶賦予更大的“控制權”,控制把數據放在云中的系統,從而提升客戶對云安全的信心,但Quan沒有透露IBM在這方面會如何做到。
微軟仍在開發解決云管理難題的方案。它在去年10月推出了Windows?Azure操作系統及相關的Azure服務平臺,但沒有表明何時啟用Azure云服務,不過開發人員已可以使用開發工具和基本構建模塊入手。微軟高級副總裁Bob?Muglia在同一個月演示了代號為Atlanta的系統中心(System?Center)企業管理平臺,該平臺將在微軟的云中運行。
所有這些活動表明,眾廠商在競相為新興的云服務開發企業級控制工具。IT管理員面臨的難題是,在云服務采用突飛猛進之前,將相關工具部署到位。
二、底層架構:亞馬遜、谷歌和微軟平臺比較
人們很容易忽視云服務背后的技術,這是一個誤區。公司的技術人員必須確保云服務與本企業的基礎架構相互集成。這就需要一種基礎架構能夠結合兩者。
云計算的各部分與企業數據中心的各部分一樣,同樣包括諸多編程語言、操作系統、數據庫、Web服務器、協議和應用編程接口(API)。關鍵就是確認哪些云服務真正適合自己內部的系統、應用程序和專長技能。下面比較一下亞馬遜的彈性計算云、谷歌應用引擎和Windows?Azure三大服務,看看哪個更適合你。
亞馬遜的EC2為客戶提供了種類豐富的軟件選擇:Windows?Server、OpenSolaris和七個Linux版本;MySQL、SQL?Server和Oracle?11g數據庫;以及Java、JBoss和Ruby?on?Rails等開發環境。
谷歌的特長則在于簡單易用。應用引擎讓用戶可以利用谷歌的自主開發數據庫及其他基礎架構軟件;可以通過API使用緩存、鏡像、郵件及其他應用服務。Python是惟一得到支持的編程語言,不過谷歌打算在將來也支持其他編程語言。
Windows?Azure和Azure服務平臺與微軟的內部部署企業軟件系列其實一脈相承。Azure包括了托管版本的SQL?Server、SharePoint、Dynamics?CRM和.Net服務,用Visual?Studio和.Net框架開發而成。微軟表示,Azure將支持開放協議(HTTP、REST、SOAP和XML)以及非微軟編程語言(Eclipse、Ruby、PHP和Python)。
如果IT人員要了解云體系結構的概況,云服務提供商的網站上提供了許多詳細信息。亞馬遜有一份介紹云體系結構的白皮書,想盡快補上一課的人不妨看一下。
你的設計藍圖應當考慮到云服務可能由多家廠商提供,所以要想好該如何確保互操作性和應用集成。云計算新興公司Elastra的高級軟件架構師Stuart?Charlton建議采用REST和Atom聯合格式(Atom?Syndication?Format)作為全球云體系架構中的底層規范。他表示,聯合身份管理方面的標準也很重要。
IBM公司自主計算開發主管Dennis?Quan表示,面向服務的架構(SOA)已經讓通過“符合標準的方式”連接云服務成為可能。下一步關鍵是把服務從一個云遷移到另一個云。Quan表示,完成這項功能的規范仍處在開發初期。
三、數據保護篇
重視安全
開發人員喜歡“云計算部署后不用去管”的功能;公司希望通過云計算降低基礎架構成本;用戶則喜歡新的功能能夠更迅速地推出。
然而,負責信息安全的人員在為如何把應用程序和數據安全地轉移到云中而撓頭。
IT界孜孜以求的一個目標就是整合身份管理技術和流程;而云計算可能讓這個目標晚十年才能實現。
許多公司可能會把目錄服務驗證擴展到內部環境以外,以處理云中的應用程序、甚至系統;但如果第三方系統的安全受到危及,這種做法會導致驗證系統岌岌可危。公司也許可以實施一種新的解決方案,讓云基礎架構管理與現有的基礎架構管理相互獨立。但缺點是,必須集成多個身份和訪問管理系統。還有一種辦法是及時回去、單獨管理云,但這缺乏吸引力。
幸好,有些云服務提供商正在竭力解決這個問題。谷歌提供了這項功能:把Google?Apps與目前實施的單點登錄技術結合起來,從而加強安全、簡化管理。一家知名互聯網公司部署了邊緣驗證服務器,讓云系統通過輕型目錄訪問協議(LDAP)進行驗證。另一家公司則擴展了基于Web的驗證協議,通過Web服務來進行驗證;驗證通過,即可訪問其內部的系統。
數據丟失與備份
數據存儲在哪里?誰可以訪問?數據安全嗎?這些都是重大問題,因為沒有幾家云服務提供商在處理敏感數據方面證明一向很可靠,許多軟件即服務(SaaS)提供商除外。如果數據保存在共享存儲系統上,要料到可能面臨風險。其實,即使我們放在自己公司內部的數據也面臨風險。需要把衡量內部數據效益與風險的同一套措施用于衡量云,然后確定哪些數據可以放到云上、并如何保護。這就需要知道及核實提供商采用的標準以及改動標準的靈活性有多大。
企業使用亞馬遜的彈性計算云等服務時,可以在虛擬實例中運行的操作系統、應用程序或數據庫管理系統里面采用數據加密。其他服務(如應用托管服務)提供商在開發應用程序時需要更全面的考慮,確保已包括加密等安全措施。
不管自己的數據在哪里,公司都應當防范數據丟失。亞馬遜知道計算機會出故障,所以它勸告公司要借助冗余和備份措施作好防范故障的規劃。有些云服務提供商提供備份服務或者導出數據的方法,那樣公司可以自己備份數據,另一些提供商要求客戶使用自定義或第三方的應用程序。
因此,我們不妨牢記下面這些關鍵因素:
——備份如何進行?有些云服務提供商進行備份,不過更有可能是你想自己進行備份。亞馬遜EC2的許多客戶還使用亞馬遜的簡單存儲服務(Simple?Storage?Service,S3)或彈性塊存儲(Elastic?Block?Storage)用于存儲備份文件。
——備份經得住測試嗎?如果服務無法使用,你能訪問備份數據嗎?
——備份數據將放在哪里?它也許放在云存儲系統上、由提供商來托管,或者轉到你自己的基礎架構。不管怎樣,你還是要知道備份數據在存儲和傳輸中,數據得到了怎樣的保護。
管理與監測
許多公司的信息安全團隊平時經常監測安全漏洞郵件列表、給系統打補丁、改寫代碼以解決缺陷。在云中,他們相信提供商事先至少對一些方面進行了調查。很少有提供商讓客戶可以核實自己采取的安全做法,不過有些提供商變得更愿意配合。公司在使用Joyent或亞馬遜的EC3等云系統時,可以在操作系統、數據庫和應用程序等層面采取安全措施,但他們仍依賴各自的提供商確保網絡、存儲和虛擬基礎架構的安全性。
盡管云服務用戶并不控制實際的打補丁和漏洞監測工作,但他們仍有責任管理自己的風險。所以他們要評估哪些資產需要保護、如何防護這些資產,包括在云基礎架構上添加安全措施。即使那樣,支付卡行業(PCI)標準等行業法規仍可能會讓人措手不及,因為PCI委員會方面沒有明確規定如何對云服務提供商進行分類。這可能意味著,不同審計人員對待云服務提供商的標準會略有不同。
云服務客戶必須要求保證自己可監測誰在訪問自己的數據。如果公司要求提供詳細的審計跟蹤記錄,應當采用數據加密;或者只把所處理數據不是特別敏感的應用程序交給云服務提供商。
這個方面可能會迅速得到改進。谷歌近期表示,Google?Apps的安全流程已通過了SAS?70?Type?II審計標準。預計會聽到更多的提供商宣稱自己的安全標準,因為安全仍是導致公司不敢把應用程序轉移到云中的一大障礙因素。
當然,內部信息安全團隊不應該坐等提供商來加強安全。從桌面應用程序到服務器托管的各個應用領域,云計算都會變得越來越誘人。需要更高安全級別的應用程序,比如與《健康保險可攜性及責任性法案》(HIPAA)或PCI相關的應用程序,可能在云中更難得到保證,因而放在公司內部比較妥當。社區應用程序和內容網站比較適合放在云中。公司的技術團隊必須確定把什么數據放在云中不會有問題,但他們也要明白:云最終會是整個基礎架構的一部分;還得要自己弄清楚如何把企業系統與云基礎架構安全連接起來。
評論
查看更多