背景
雲計算是繼1980年代大型計算機到客戶端-伺服器的大轉變之後的又一種巨變。
雲計算(CloudComputing)是分散式計算(DistributedComputing)、並行計算(ParallelComputing)、效用計算(UtilityComputing)、網路存儲(NetworkStorageTechnologies)、虛擬化(Virtualization)、負載均衡(LoadBalance)等傳統計算機和網路技術發展融合的產物。
特點
通過使計算分布在大量的分散式計算機上,而非本地計算機或遠程伺服器中,企業數據中心的運行將與網際網路更相似。這使得企業能夠將資源切換到需要的套用上,根據需求訪問計算機和存儲系統。
好比是從古老的單台發電機模式轉向了電廠集中供電的模式。它意味著計算能力也可以作為一種商品進行流通,就像煤氣、水電一樣,取用方便,費用低廉。最大的不同在於,它是通過網際網路進行傳輸的。
形式
公共雲和私有雲
簡單來說,雲服務可以將企業所需的軟硬體、資料都放到網路上,在任何時間、地點,使用不同的IT設備互相連線,實現數據存取、運算等目的。當前,常見的雲服務有公共雲(Public Cloud)與私有雲(Private Cloud)兩種
。
公共雲成本較低
公共雲是最基礎的服務,多個客戶可共享一個服務提供商的系統資源,他們毋須架設任何設備及及配備管理人員,便可享有專業的IT服務,這對於一般創業者、中小企來說,無疑是一個降低成本的好方法。公共雲還可細分為3個類別,包括Software-as-a-Service, SaaS(軟體即服務)、Platform-as-a-Service, PaaS(平台即服務)及Infrastructure-as-a-Service, IaaS(基礎設施即服務)。
我們平日常用的Gmail、Hotmail、網上相冊都屬於SaaS的一種,主要以單一網路軟體為主導;至於PaaS則以服務形式提供套用開發、部署平台,加快用戶自行編寫CRM(客戶關係管理)、ERP(企業資源規劃)等系統的時間,用戶必須具備豐富的IT知識。
IaaS滿足企業不同需要
上述公共雲服務成本較低,但使用靈活度有不足,不滿足這種服務模式的中小企業,不妨考慮“基建即服務(IaaS)”的IT資源管理模式。IaaS架構主要通過虛擬化技術與雲服務結合,直接提升整個IT系統的運作能力,當前的IaaS服務提供商,如第一線安萊公司,會以月費形式提供具頂尖技術的軟硬體及服務,例如伺服器、存儲系統、網路硬體、虛擬化軟體等。IaaS讓企業可以自由選擇使用那些軟、硬體及服務,中小企業都可根據行業的需要、發展規模,建設最適合自己的IT基建系統。
這種服務模式能為中小企業帶來多重優勢,其一、他們不必配備花費龐大的IT基建設備,卻可享受同樣專業的服務;其二、管理層可根據業務發展的規模、需求,調配所需的服務組合;其三、當有新技術出現時,企業可隨時向服務提供商提出升級要求,不必為增加硬體而煩惱;其四、IaaS服務提供商擁有專業的顧問團隊,中小企業可免卻系統管理、IT支持方面的支出。
大企業傾向架設私有雲
此外,近年經濟環境競爭激烈,就算大型企業也關注成本的節約,因而也需要雲服務。雖然公共雲服務提供商需遵守行業法規,但是大企業(如金融、保險行業)為了兼顧行業、客戶隱私,不可能將重要數據存放到公共網路上,故傾向於架設私有雲端網路。
私有雲的運作形式,與公共雲類似。然而,架設私有雲卻是一項重大投資,企業需自行設計數據中心、網路、存儲設備,並且擁有專業的顧問團隊。企業管理層必須充分考慮使用私有雲的必要性,以及是否擁有足夠資源來確保私有雲正常運作。
IaaS:基礎設施即服務
IaaS(Infrastructure-as-a- Service):基礎設施即服務。消費者通過Internet可以從完善的計算機基礎設施獲得服務。
PaaS:平台即服務
PaaS(Platform-as-a- Service):平台即服務。PaaS實際上是指將軟體研發的平台作為一種服務,以SaaS的模式提交給用戶。因此,PaaS也是SaaS模式的一種套用。但是,PaaS的出現可以加快SaaS的發展,尤其是加快SaaS套用的開發速度。
SaaS:軟體即服務
SaaS(Software-as-a- Service):軟體即服務。它是一種通過Internet提供軟體的模式,用戶無需購買軟體,而是向提供商租用基於Web的軟體,來管理企業經營活動。
按需計算
顧名思義,按需(on—demand)計算將計算機資源(處理能力、存儲等)打包成類似公共設施的可計量的服務。在這一模式中,客戶只需為他們所需的處理能力和存儲支付費用。那些具有很大的需求高峰並伴有低得多的正常使用期的公司特別受益於效用計算。當然,該公司需要為高峰使用支付更多,但是,當高峰結束,正常使用模式恢復時,他們的費用會迅速下降。
按需計算服務的客戶端基本上將這些服務作為異地虛擬伺服器來使用。無須投資自己的物理基礎設施,公司與雲服務提供商之間執行現用現付的方案。
按需計算本身並不是一個新概念,但它因雲計算而獲得新的生命。在過去的歲月里,按需計算由一台伺服器通過某種分時方式而提供。
套用
雲物聯
“物聯網就是物物相連的網際網路”。這有兩層意思:第一,物聯網的核心和基礎仍然是網際網路,是在網際網路基礎上的延伸和擴展的網路;第二,其用戶端延伸和擴展到了任何物品與物品之間,進行信息交換和通信。
物聯網的兩種業務模式:
1.MAI(M2M Application Integration), 內部MaaS;
2.MaaS(M2M As A Service), MMO, Multi-Tenants(多租戶模型)。
隨著物聯網業務量的增加,對數據存儲和計算量的需求將帶來對“雲計算”能力的要求:
1.雲計算:從計算中心到數據中心在物聯網的初級階段,PoP即可滿足需求;
2. 在物聯網高級階段,可能出現MVNO/MMO營運商(國外已存在多年),需要虛擬化雲計算技術,SOA等技術的結合實現網際網路的泛在服務:TaaS (everyTHING As A Service)。
雲安全
雲安全(Cloud Security)是一個從“雲計算”演變而來的新名詞。雲安全的策略構想是:使用者越多,每個使用者就越安全,因為如此龐大的用戶群,足以復蓋網際網路的每個角落,只要某個網站被掛馬或某個新木馬病毒出現,就會立刻被截獲。
“雲安全”通過網狀的大量客戶端對網路中軟體行為的異常監測,獲取網際網路中木馬、惡意程式的最新信息,推送到Server端進行自動分析和處理,再把病毒和木馬的解決方案分發到每一個客戶端。
雲存儲
雲存儲是在雲計算(cloud computing)概念上延伸和發展出來的一個新的概念,是指通過集群套用、格線技術或分散式檔案系統等功能,將網路中大量各種不同類型的存儲設備通過套用軟體集合起來協同工作,共同對外提供數據存儲和業務訪問功能的一個系統。 當雲計算系統運算和處理的核心是大量數據的存儲和管理時,雲計算系統中就需要配置大量的存儲設備,那么雲計算系統就轉變成為一個雲存儲系統,所以雲存儲是一個以數據存儲和管理為核心的雲計算系統。
優缺點
優勢
雲開發的優勢之一就是規模經濟。利用雲計算供應商提供的基礎設施,同在單一的企業內開發相比,開發者能夠提供更好,更便宜和更可靠的套用。如果需要,套用能夠利用雲的全部資源而無須要求公司投資類似的物理資源。
說到成本,由於雲服務遵循一對多的模型,與單獨的桌面程式部署相比,成本極大地降低了。雲套用通常是“租用的”,以每用戶為基礎計價,而不是購買或許可軟體程式(每個桌面一個)的物理拷貝。它更像是訂閱模型而不是資產購買(和隨之而來的貶值)模型,這意味著更少的前期投資和一個更可預知的月度業務費用流。
部門喜歡雲套用是因為所有的管理活動都經由一個中央位置而不是從單獨的站點或工作站來管理。這使得員工能夠通過Web來遠程訪問套用。其他的好處包括用需要的軟體快速裝備用戶(稱為“快速供應”),當更多的用戶導致系統重負時添加更多計算資源(自動擴展)。當你需要更多的存儲空間或頻寬時,公司只需要從雲中添加另外一個虛擬伺服器。這比在自己的數據中心購買、安裝和配置一個新的伺服器容易得多。
對開發者而言,升級一個雲套用比傳統的桌面軟體更容易。只需要升級集中的應用程式,套用特徵就能快速順利地得到更新,而不必手工升級組織內每台台式機上的單獨套用。有了雲服務,一個改變就能影響運行套用的每一個用戶,這大大降低了開發者的工作量。
不足
也許人們所意識到的雲開發最大的不足就是給所有基於web的套用帶來麻煩的問題:它安全嗎?基於web的套用長時間以來就被認為具有潛在的安全風險。由於這一原因,許多公司寧願將套用、數據和IT操作保持在自己的掌控之下。
也就是說,利用雲託管的套用和存儲在少數情況下會產生數據丟失。儘管可以說,一個大的雲託管公司可能比一般的企業有更好的數據安全和備份的工具。然而,在任何情況下,即便是感知到的來自關鍵數據和服務異地託管的安全威脅也可能阻止一些公司這么做。
另外一個潛在的不足就是雲計算宿主離線所導致的事件。儘管多數公司說這是不可能的,但它確實發生了,亞馬遜的EC2業務在2008年2月15日經受了一次大規模的服務中止,並抹去了一些客戶套用數據。(該次業務中止由一個軟體部署所引起,它錯誤地終止了數量未知的用戶實例。)對那些需要可靠和安全平台的客戶來說,平台故障和數據消失就像被粗魯地喚醒一樣。更進一步講,如果一個公司依賴於第三方的雲平台來存放數據而沒有其他的物理備份,該數據可能處於危險之中。
規避宕機
儘管雲供應商正在不斷的改進以便減少未來可能發生的中斷事故,但仍有更多的中斷事故會不可避免地發生。如下是專家建議的一些步驟,幫助企業的IT部門在發生雲服務中斷時應果斷採取,避免發生更大的損失:
1)使用亞馬遜網路服務的多個可用性區域。
2)使用多個地區的亞馬遜網路服務。
3)選擇多家雲服務供應商。
4)明確服務水平協定。
評估
雲服務性能
企業考慮雲計算的關注點之一就是性能。實現應用程式在雲中的高速交付是一個涉及多方面因素的挑戰性命題,其中包括一個整體的接入方法和一個對應用程式“請求-回響”路徑的端到端查看。
性能問題包括:應用程式與數據相對於最終用戶的地理位置,雲中、雲內外以及計算機層和數據存儲多層次之間的I/O訪問速度。當今,諸如CloudSleuth和CloudHarmony之類的眾多服務研究報告試圖通過從不同地理位置和採用不同應用程式的方法來度量和評估雲計算供應商所提供服務的性能。
雲服務技術堆疊
一直以來,一些雲計算供應商都致力於提供特定軟體堆疊的服務。通常,這就意味著他們從基礎設施即服務(IaaS)轉變至平台即服務(PaaS)。不同堆疊特定雲可與其他的大多數流行軟體堆疊相配合。
其典型代表包括:Heroku和Engine Yard的Ruby;VMforce和Google應用程式引擎(GAE)的Java/Spring(其中GAE還支持Python);PHP Fog的PHP以及微軟公司Windows Azure的.NET。
如果你的應用程式使用以上堆疊之一進行構建,你可能需要考慮這些雲計算平台。他們能夠幫助你處理低層次基礎設施的安裝和配置工作,從而節省在時間和費用方面的巨大支出。另一方面,他們往往會要求開發商在進行架構和編寫應用程式時遵循某些推薦的要求,以便於創建高等級的供應商級同步。
雲服務服務級別協定
有些雲供應商做出了提供更高等級服務的承諾,以示與其他行業競爭對手的不同。比如Rackspace提供更高等級雲服務SLA,從而展開與雲計算業內的巨頭Amazon公司的競爭。
請注意,SLA通常只是當服務發生故障時結果的一個指示,而不是實際服務的可靠性。其典型代表是GoGrid 10000%確保的SLA。換而言之,GoGrid做出了100%正常運行時間的承諾。如果它無法滿足這一級別的可靠性,它將賠償用戶100倍停機時所需支付的費用。
雖然SLA是評估所有供應商承諾等級的一個有效指標,但了解特定雲供應商的實際正常運行時間是一個更為棘手的難題。大多數供應商都提供了一個用於表明服務正常運行的狀態頁面,但是這些頁面顯示的數據通常只是數天前甚至更早時候的。為了獲得實際具有可靠性和可用性的長期數據,用戶最好依賴於客戶反饋以及諸如CloudSleuth和CLoudHarmony的比較服務。
雲服務API:同步、社區以及生態系統
選擇合適雲供應商的另外一個關鍵因素在於開放應用程式編程接口(API),它為訪問基礎設施和執行操作(例如配置伺服器或解除伺服器配置)提供外部調用方法。從很多方面來說,API都是重要的。
首先,一個API可得到多個供應商同時支持,同時供應商也為用戶提供了更大的功能擴展自由度。因為當從一個供應商轉向另一個供應商,或同時與多個供應商合作時,基本上不用對應用程式做重大修改,所以顯得更為容易。
其次,API得到了社區開發人員的廣泛支持,供應商可基於它構建一個具有配套服務和功能的完整生態系統。由Amazon web服務與套用(AWS)和Vmware雲計算產品提供的API周圍已形成龐大的生態系統,其中包括管理工具(如enStratus)、監控和管理工具(如Cloudkickh和RightScale)以及形成其完整雲服務的其他服務。
Vmware本身不提供雲服務,但是不同的供應商使用Vmware的堆疊和API,特別是vCloud。例如Terremark和Savvis。
Amazon公司和WMware公司以及Windows Azure都允許用戶使用自己的堆疊和API實施內部雲,從而使用戶能夠很容易地在混合雲上管理和運行應用程式。所謂混合雲是指由供應商託管,且在公司內部數據中心中運行的雲。以Amazon公司為例,使用AWS啟動通過Eucalyptus的API為私有雲提供軟體堆疊。
業內的一個最新發展是Rackspace公司與美國航天局(NASA)合作,兩者協同眾多廠商和雲供應商在其一個稱為OpenStack的項目中對其軟體堆疊公開了原始碼。它最有可能被視為行業標準,因此此舉將有助於創建一個有望替代Amazon和Vmware生態系統的實際可行標準。
雲服務安全性和法規遵從
公司考慮實施據云計算的兩大障礙依然是安全性與法規遵從。Zenoss公司在2010年第二季度進行的調查顯示,接近40%的受訪者在被問及他們對雲計算的最大關注問題時都選擇了安全性。而緊隨其後的選項是管理,它占受訪者的26.5%。Zenoss的調查結果與其他雲計算相關調查的數字是一致的。
而企業真正關注的問題並不是實際的安全威脅,而是他們無法遵守與安全相關的標準,如PCI。作為回應,當今許多雲供應商都在吹噓和炫耀他們所擁有的SAS-70 II型審計、安全白皮書和其他標準的證書。
正在發展的雲供應商Logicworks推出了具有法規遵從的雲計算產品,即遵守一級PCI的雲產品。
雲服務成本
一個比較雲供應商的簡單直接方法似乎就是成本。問題在於考慮到客戶實際使用的資源和支付的費用,在供應商中並不具備可比性。供應商提供虛擬機(VM)資源,但其記憶體容量、CPU時鐘速度以及其他功能卻各異。此外,實際提供給客戶的部件也是虛擬的,這也造成難以對客戶實際使用的資源進行度量以及其他同在雲中客戶如何影響這些資源。
Amazon公司擁有EC2計算部門,Heroku向Dynos提交而其它廠商則創建自己的度量部門。度量評估不同雲供應商成本和性能比的唯一真正可靠方法是使用相同的應用程式對多個供應商的服務進行試驗,並比較運行結果。
費用對比
雲計算的安全和管理問題是眾所周知的,除此之外,關於雲服務的計費也是一個不小的挑戰。雲服務供應商們總是喜歡吹噓說他們的服務使用起來有多么的簡單,實際上,廣大IT經理們都已發現雲計算服務的計費並不簡單。
雲服務的計費是基於許多因素的,從所需的存儲空間,到所使用的時間周期,再到每個月的流量分配,等等這些因素都可能成為計費參考。實際上還不止這些,一些雲服務供應商還會基於SLA之內的一些隱性條款來收費。為了弄明白一項雲計算服務的總費用,用戶需要了解供應商賬單上的每一項服務要素,以及其計費方式。
服務的計費項目
另一個決定服務真正費用的關鍵因素是所需的服務類型。對於一些企業而言,所謂的雲服務可能只是伺服器託管、專用伺服器租賃,或是將套用運行在雲中。而對於其它一些企業而言,雲服務可能就是基於雲的數據備份、業務持續性的維持,或是基本的存儲託管。
對於廣大用戶而言,要弄明白雲計算服務最簡單的方式就是將注意力放在最主要的服務項目上。大多數雲服務供應商都會將它們的服務分為三個基本類型:雲中伺服器、雲存儲、雲工作站和雲套用。每一項服務都有其自己的計費方式。
雲中的伺服器主要分為兩種形式:虛擬伺服器和物理伺服器。換句話說,你既可以在虛擬伺服器(與其他人共享物理硬體)上購買使用時間,也可以在專用伺服器(你是該伺服器唯一的租戶)上購買使用時間。表1所示的就是雲服務的計費方式:
整張圖片實際上就是在對比不同雲服務供應商的服務價格和計費方式。圖中列出的每個供應商都會對一些額外的服務和功能徵收額外的費用。此外,每項服務的價格也會隨著協定長短、總的頻寬需求或者所需存儲規模的大小而有所變化。在許多情況下,用戶是可以和供應商進行討價還價的。
不同的服務類型
並不是說所有的雲服務供應商都是一樣的,如果你仔細觀察一下供應商之間的區別以及他們各自處理用戶需求的方式,就會發現這種差別是很明顯的。為了給大家做一個對比,我們挑選了最為知名的三家雲架構供應商:
GoGrid將負載均衡服務放在其伺服器產品當中,而且不收取額外的費用,此外,他們還免費提供20GB的存儲空間;
Rackspace使用的是一種完全不同的計費機制,隨著使用量的增長,他們會降低每十億位元組頻寬的費用。此外,該公司還在一些虛擬伺服器上提供免費的備份服務;
Amazon的大多數服務隨著使用量的增加都提供打折優惠,但是對於存儲服務的啟用和終止都會收取一定費用。
如果你考慮一下最為簡單的雲存儲服務概念,就會很明顯地發現這幾種計費方式及供應商業務的區別(圖2)。再次強調一下,這張圖只是對比不同供應商的計費方式。像其它雲服務一樣,雲存儲服務的價格也會受到協定時間長短、總的頻寬需求或是說所需存儲容量大小的影響。此外,這些服務的價格也有足夠的討價還價的空間。
對於使用其伺服器託管服務的用戶,GoGrid最初提供20GB的免費存儲空間,而且他們只為伺服器託管用戶提供雲存儲服務。獨具特色的是,隨著用戶所購買的存儲容量的增加,GoGrid的服務可以提供打折優惠。GoGrid的雲存儲服務是以一種定量的方式提供,目前為止還不提供用於啟動或停止其它命令的Web服務應用程式接口。
Rackspace試圖讓它的存儲服務計費方式變得儘可能的簡單化。他們對於雲存儲服務的採購提供按比例增減的模式,隨著總量的增加,服務的單價也會有所下降。此外,如果檔案的大小超過250KB,他們不會收取存取費用。
Amazon S3對於已刪除數據不進行收費,根據所需存儲總量的增加還會提供一定折扣。對於那些試圖將價格穩定下來的公司,他們提供定價契約。對於一些規模較大的檔案傳輸公司,他們建議使用其輸入和輸出服務,這樣可以節省成本。
理想地講,雲計算服務的計費模式應該和選擇所需的存儲功能和伺服器計算資源沒什麼差別。而事實上,大多數IT經理都發現這種理想很難實現。他們必須仔細去考慮一些“隱性成本”,或是計費標準的變化,從而確定某項服務的真正費用。
更大的挑戰來自於一些“非技術”的因素,用戶必須考慮到那些獨立於談判條款之外或是隱藏於SLA協定之中因素。
解決這一問題的技巧就是用清晰而又精確的語言將每個契約期內每項服務的總費用寫在紙上,這樣才能明白真正的總預算金額。
相關技術
1、編程模式
2、海量數據分布存儲技術
3、海量數據管理技術
4、虛擬化技術
5、雲計算平台管理技術