云計算主要的核心技術(shù)_云計算主要的核心技術(shù)_云計算核心技術(shù)剖析
本文關(guān)鍵詞:云計算核心技術(shù)剖析,由筆耕文化傳播整理發(fā)布。
云計算核心技術(shù)剖析
云計算的架構(gòu)
IT ,身為一個新興行業(yè),其在發(fā)展歷程中向其他行業(yè)借鑒了一些先進的思想和理念,最明顯的例子除了上面提到的從電力行業(yè)學習了公用事業(yè)這種商業(yè)模式和從豐田汽車流水線生產(chǎn)中總結(jié)出精益這套編程模式之外,還有,就是在軟件設計方面,引入了架構(gòu)這個在建筑行業(yè)非常核心的概念。
架構(gòu),對軟件系統(tǒng)而言是極為重要的,因為它不僅定義了系統(tǒng)內(nèi)部各個模塊之間是如何整合和協(xié)調(diào)的,同時也對其整體表現(xiàn)起著非常關(guān)鍵的作用。而云,作為一個非常復雜的大型軟件系統(tǒng),它內(nèi)部包含著許許多多的模塊和組件,所以如果能夠理出其架構(gòu)的話,將會非常有益處。
為了讓大家對云計算有更深入的理解,本章將會對云的架構(gòu)進行深入地剖析。除了云的架構(gòu)之外,本章還將會對云計算最主要和最常見的四種模式進行深入的介紹。
2.1 云的架構(gòu)
在對云計算進行了三年多的研究之后,覺得雖然云計算涉及了很多產(chǎn)品與技術(shù),表面上看起來的確有點紛繁復雜,但是云計算本身還是有跡可循和有理可依的,所以在個人理解的基礎(chǔ)上,我總結(jié)出了一套云計算的架構(gòu),具體請看圖 2-1 。
上面這個云架構(gòu)共分為服務和管理這兩大部分。
在服務方面,主要以提供用戶基于云的各種服務為主,共包含三個層次:其一是 Software as a Service 軟件即服務,簡稱 SaaS ,這層的作用是將應用主要以基于 Web 的方式提供給客戶;其二是 Platform as a Service 平臺即服務,簡稱 PaaS ,這層的作用是將一個應用的開發(fā)和部署平臺作為服務提供給用戶;其三是 Infrastructure as a Service 基礎(chǔ)設施即服務,簡稱 IaaS ,這層的作用是將各種底層的計算(比如虛擬機)和存儲等資源作為服務提供給用戶。從用戶角度而言,這三層服務,它們之間關(guān)系是獨立的,因為它們提供的服務 是完全不同的,而且面對的用戶也不盡相同。但從技術(shù)角度而言,云服務這三層之間的關(guān)系并不是獨立的,而是有一定依賴關(guān)系的,比如一個 SaaS 層的產(chǎn)品和服務不僅需要使用到 SaaS 層本身的技術(shù),而且還依賴 PaaS 層所提供的開發(fā)和部署平臺或者直接部署于 IaaS 層所提供的計算資源上,還有, PaaS 層的產(chǎn)品和服務也很有可能構(gòu)建于 IaaS 層服務之上。
在管理方面,主要以云的管理層為主,它的功能是確保整個云計算中心能夠安全和穩(wěn)定的運行,并且能夠被有效地管理。
接下來,將給大家詳細介紹每個層次,其中將不僅涉及它們的歷史和相關(guān)產(chǎn)品,而且將會討論它們的優(yōu)勢和采用的技術(shù)。
2.2 SaaS
它是最常見的,也就是最先出現(xiàn)的云計算服務,通過 SaaS 這種模式,用戶只要接上網(wǎng)絡,并通過瀏覽器,就能直接使用在云端上運行的應用,并由 SaaS 云供應商負責維護和管理云中的軟硬件設施,同時以免費或者按需使用的方式向用戶收費,所以用戶不需要顧慮類似安裝、升級和防病毒等瑣事,并且免去初期高昂 的硬件投入和軟件許可證費用的支出。
2.2.1 歷史
SaaS 的前身是 ASP ( Application Service Provider ),其概念和思想和 SaaS 相差不大。最早的 ASP 廠商有 Salesforce.com 和 Netsuite ,其后還有一批企業(yè)跟隨進來,這些廠商在創(chuàng)業(yè)時都主要專注于在線 CRM (客戶關(guān)系管理)應用,但由于那時正值互聯(lián)網(wǎng)泡沫破裂的時候,而且當時 ASP 本身技術(shù)也并不成熟,而且還缺少定制和集成等重要功能,再加上當時欠佳的網(wǎng)絡環(huán)境,使得 ASP 沒有受到市場的熱烈歡迎,從而導致大批相關(guān)廠商破產(chǎn)但在 2003 年后,在 Salesforce 的帶領(lǐng)下,慘存的 ASP 企業(yè)喊出了 SaaS 這個口號,并隨著技術(shù)和商業(yè)這兩方面地不斷成熟,使得 Salesforce 、 WebEx 和 Zoho 等國外 SaaS 企業(yè)得到了成功,而國內(nèi)的,諸如用友、金算盤、金碟、阿里巴巴和八百客等企業(yè)也加入到 SaaS 的浪潮中。
2.2.2 相關(guān)產(chǎn)品
由于 SaaS 產(chǎn)品起步較早,而且開發(fā)成本低,所以在現(xiàn)在的市場上, SaaS 產(chǎn)品不論是在數(shù)量,還是在類別,都非常豐富,而且也出現(xiàn)了多款經(jīng)典產(chǎn)品,其中最具代表性的莫過于 Google Apps 、 Salesforce CRM 、 Office Web Apps 和 Zoho :
(1) Google Apps :中文名為“ Google 企業(yè)應用套件”,提供包括企業(yè)版 Gmail 、 Google 日歷、 Google 文檔和 Google 協(xié)作平臺等多個在線辦公工具,而且價格低廉,使用方便,并且已經(jīng)有超過兩百萬家企業(yè)購買了 Google Apps 服務。
(2) Salesforce CRM :它是一款在線客戶管理工具,并在銷售、市場營銷、服務和合作伙伴這四個商業(yè)領(lǐng)域上提供完善的 IT 支持,還提供強大的定制和擴展機制,來讓用戶的業(yè)務更好地運行在 Salesforce 的平臺上。這款產(chǎn)品常被業(yè)界視為 SaaS 產(chǎn)品的“開山之作”。
(3) Office Web Apps :它是微軟所開發(fā)的在線版 Office ,提供基于 Office 2010 技術(shù)的簡易版 Word 、 Excel 、 PowerPoint 及 OneNote 等功能,屬于 Windows Live 的一部分,并與微軟的 SkyDrive 云存儲服務有深度地整合,而且兼容 Firefox 、 Safari 和 Chrome 等非 IE 系列瀏覽器。和其他在線 Office 相比,它的最大優(yōu)勢是,由于其本身屬于 Office 2010 的一部分,所以在與 Office 文檔的兼容性方面遠勝其他在線 Office 服務。
(4) Zoho : Zoho 是 AdventNet 公司開發(fā)的一款在線辦公套件,在功能方面絕對是現(xiàn)在業(yè)界最全面的,它包括郵件、 CRM 、項目管理、 Wiki 、在線會議、論壇和人力資源管理等幾十個在線工具供用戶選擇。同時包括美國通用電氣在內(nèi)的多家大中型企業(yè)已經(jīng)開始在其內(nèi)部引入 Zoho 的在線服務, Zoho 在國內(nèi)的代理商為百會。
2.2.3 優(yōu)勢
雖然和傳統(tǒng)桌面軟件相比,現(xiàn)有的 SaaS 服務在功能方面還稍遜一籌,但是在其他一些方面還是具有一定的優(yōu)勢,下面是其中的四個方面:
(1) 使用簡單:在任何時候或者任何地點,只要接上網(wǎng)絡,用戶就能訪問這個 SaaS 服務,而且無需任何地安裝、升級和維護。
(2) 支持公開協(xié)議:現(xiàn)有的 SaaS 服務都在公開協(xié)議(比如 HTML4/5 )的支持方面做的很好,使得用戶只需一個瀏覽器就能對 SaaS 應用進行使用和訪問,這樣對用戶而言,非常方便。
(3) 安全保障: SaaS 供應商需要提供一定的安全機制,不僅要使存儲在云端的用戶數(shù)據(jù)處于絕對安全的境地,而且也要通過一定的安全機制(比如 HTTPS 等)來確保與用戶之間通信的安全。
(4) 初始成本低:使用 SaaS 服務不僅無需在使用前購買昂貴的許可證,而且?guī)缀跛械?SaaS 供應商都提供免費的試用。
2.2.4 技術(shù)
由于 SaaS 層離普通用戶非常接近,所以在 SaaS 層所使用到的技術(shù),大多耳熟能詳,下面是其中最主要的五種:
(1) HTML :標準的 Web 頁面技術(shù),現(xiàn)在主要以 HTML4 為主,但是即將推出的 HTML5 會在很多方面推動 Web 頁面的發(fā)展,比如視頻和本地存儲等方面。
(2) JavaScript :一種用于 Web 頁面的動態(tài)語言,通過 JavaScript ,能夠極大地豐富 Web 頁面的功能,最流行的 JS 框架有 jQuery 和 Prototype 。
(3) CSS :主要用于控制 Web 頁面的外觀,而且能使頁面的內(nèi)容與其表現(xiàn)形式之間進行優(yōu)雅地分離。
(4) Flash :業(yè)界最常用的 RIA ( Rich Internet Applications )技術(shù),能夠在現(xiàn)階段提供 HTML 等技術(shù)所無法提供的基于 Web 的富應用,而且在用戶體驗方面,非常不錯。
(5) Silverlight :來自業(yè)界巨擎微軟的 RIA 技術(shù),雖然其現(xiàn)在市場占有率稍遜于 Flash ,但由于其可以使用 C# 來進行編程,所以對開發(fā)者非常友好。
在 SaaS 層的技術(shù)選型上,首先,由于通用性和較低的學習成本,大多數(shù)云計算產(chǎn)品都會比較傾向 HTML 、 JavaScript 和 CSS 這對黃金組合,但是在 HTML5 被大家廣泛接受之前, RIA 技術(shù)在用戶體驗方面,還是具有一定的優(yōu)勢,所以 Flash 和 Silverlight 也將會有一定的用武之地,比如 VMware vCloud 就采用了基于 Flash 的 Flex 技術(shù),而微軟的云計算產(chǎn)品肯定會在今后大量使用 Silverlight 技術(shù)。
2.3 PaaS
通過 PaaS 這種模式,用戶可以在一個提供 SDK ( Software Development Kit, 即軟件開發(fā)工具包)、文檔、測試環(huán)境和部署環(huán)境等在內(nèi)的開發(fā)平臺上非常方便地編寫和部署應用,而且不論是在部署,還是在運行的時候,用戶都無需為服務器、 操作系統(tǒng)、網(wǎng)絡和存儲等資源的運維而操心,這些繁瑣的工作都由 PaaS 云供應商負責。而且 PaaS 在整合率上面非常驚人,比如一臺運行 Google App Engine 的服務器能夠支撐成千上萬的應用,也就是說, PaaS 是非常經(jīng)濟的。 PaaS 主要面對的用戶是開發(fā)人員。
2.3.1 歷史
PaaS 是云服務這三層之中出現(xiàn)最晚的,業(yè)界第一個 PaaS 平臺誕生在 2007 年,是 Salesforce 的 Force.com ,通過這個平臺不僅能使用 Salesforce 提供的完善的開發(fā)工具和框架來輕松地開發(fā)應用,而且能把應用直接部署到 Salesforce 的基礎(chǔ)設施上,從而能利用其強大的多租戶系統(tǒng)。接著,在 2008 年四月, Google 推出了 Google App Engine ,從而將 PaaS 所支持的范圍從在線商業(yè)應用擴展到普通的 Web 應用,也使得越來越多的人開始熟悉和使用功能強大的 PaaS 服務。
2.3.2 相關(guān)產(chǎn)品
和 SaaS 產(chǎn)品百花齊放相比, PaaS 產(chǎn)品主要以少而精為主,其中比較著名的產(chǎn)品有: Force.com 、 Google App Engine 、 Windows Azure Platform 和 Heroku 。
(1) Force.com :就像上面所說的 Force.com 是業(yè)界第一個 PaaS 平臺,其主要通過提供完善的開發(fā)環(huán)境和強健的基礎(chǔ)設施等來幫助企業(yè)和第三方供應商交付健壯的、可靠的和可伸縮的在線應用。還有, Force.com 本身是基于 Salesforce 著名的多租戶的架構(gòu)。
(2) Google App Engine : Google App Engine 提供 Google 的基礎(chǔ)設施來讓大家部署應用,它還提供一整套開發(fā)工具和 SDK 來加速應用的開發(fā),并提供大量的免費額度來節(jié)省用戶的開支。
(3) Windows Azure Platform :它是微軟推出的 PaaS 產(chǎn)品,并運行在微軟數(shù)據(jù)中心的服務器和網(wǎng)絡基礎(chǔ)設施上的,通過公共互聯(lián)網(wǎng)來對外提供服務,它由具有高擴展性云操作系統(tǒng)、數(shù)據(jù)存儲網(wǎng)絡和相關(guān)服務組成,而且 服務都是通過物理或虛擬的 Windows Server 2008 實例提供。還有,其附帶的 Windows Azure SDK (軟件開發(fā)包)提供了一整套開發(fā)、部署和管理 Windows Azure 云服務所需要的工具和 API 。
(4) Heroku :是一個用于部署 Ruby On Rails 應用的 PaaS 平臺,并且其底層基于 Amazon EC2 的 IaaS 服務,而且在 Ruby 程序員中有非常好的口碑。
2.3.3 優(yōu)勢
和現(xiàn)有的基于本地的開發(fā)和部署環(huán)境相比, PaaS 平臺主要有下面這六方面有非常大的優(yōu)勢:
(1) 友好的開發(fā)環(huán)境:通過提供 SDK 和 IDE ( Integrated Development Environment ,集成開發(fā)環(huán)境)等工具來讓用戶不僅能在本地方便地進行應用的開發(fā)和測試,而且能進行遠程部署。
(2) 豐富的服務: PaaS 平臺會以 API 的形式將各種各樣的服務提供給上層的應用。
(3) 精細的管理和監(jiān)控: PaaS 能夠提供應用層的管理和監(jiān)控,比如,能夠觀察應用運行的情況和具體數(shù)值(比如吞吐量( Throughput )和響應時間( Response Time )等)來更好地衡量應用的運行狀態(tài),還有能夠通過精確計量應用使用所消耗的資源來更好地計費。
(4) 伸縮性強: PaaS 平臺會自動調(diào)整資源來幫助運行于其上的應用更好地應對突發(fā)流量。
(5) 多住戶( Multi-Tenant )機制:許多 PaaS 平臺都自帶多住戶機制,不僅能更經(jīng)濟地支撐龐大的用戶規(guī)模,而且能提供一定的可定制性以滿足用戶的特殊需求。
(6) 整合率和經(jīng)濟性: PaaS 平臺整合率是非常高,比如 PaaS 的代表 Google App Engine 能在一臺服務器上承載成千上萬的應用。
2.3.4 技術(shù)
在 SaaS 層所采用的技術(shù)不同的是, PaaS 層的技術(shù)比較多樣性,下面是常見的五種:
(1) REST :通過 REST ( Representational State Transfer ,表述性狀態(tài)轉(zhuǎn)移)技術(shù),能夠非常方便和優(yōu)雅地將中間件層所支撐的部分服務提供給調(diào)用者。
(2) 多租戶:就是能讓一個單獨的應用實例可以為多個組織服務,而且能保持良好的隔離性和安全性,并且通過這種技術(shù),能有效地降低應用的購置和維護成本。
(3) 并行處理:為了處理海量的數(shù)據(jù),需要利用龐大的 X86 集群進行規(guī)模巨大的并行處理, Google 的 MapReduce 是這方面的代表之作。
(4) 應用服務器:在原有的應用服務器的基礎(chǔ)上為云計算做了一定程度的優(yōu)化,比如用于 Google App Engine 的 Jetty 應用服務器。
(5) 分布式緩存:通過分布式緩存技術(shù),不僅能有效地降低對后臺服務器的壓力,而且還能加快相應的反應速度,最著名的分布式緩存例子莫過于 Memcached 。
對于很多 PaaS 平臺,比如用于部署 Ruby 應用的 Heroku 云平臺,應用服務器和分布式緩存都是必備的,同時 REST 技術(shù)也常用于對外的接口,多租戶技術(shù)則主要用于 SaaS 應用的后臺,比如用于支撐 Salesforce 的 CRM 等應用的 Force.com 多租戶內(nèi)核,而并行處理技術(shù)常被作為單獨的服務推出,比如 Amazon 的 Elastic MapReduce 。
2.4 IaaS
通過 IaaS 這種模式,用戶可以從供應商那里獲得他所需要的計算或者存儲等資源來裝載相關(guān)的應用,并只需為其所租用的那部分資源進行付費,而同時這些基礎(chǔ)設施繁瑣的管理工作則交給 IaaS 供應商來負責。
2.4.1 歷史
和 SaaS 一樣,類似 IaaS 想法其實已經(jīng)出現(xiàn)了很久了,比如,過去的 IDC ( Internet Data Center ,,互聯(lián)網(wǎng)數(shù)據(jù)中心)和 VPS ( Virtual Private Server ,虛擬專用服務器)等,但由于技術(shù)、性能、價格和使用等方面的缺失,使得這些服務并沒有得到大中型企業(yè)廣泛地采用。但在 2006 年底 Amazon 發(fā)布了 EC2 ( Elastic Compute Cloud ,靈活計算云)這個 IaaS 云服務,由于 EC2 在技術(shù)和性能等多方面的優(yōu)勢,使得這類型的技術(shù)終于得到業(yè)界廣泛地認可和接受,其中就包括部分大型企業(yè),比如著名的紐約時報。
2.4.2 相關(guān)產(chǎn)品
最具代表性的 IaaS 產(chǎn)品和服務有: Amazon EC2 、 IBM Blue Cloud 、 Cisco UCS 和 Joyent 。
(1) Amazon EC2 : EC2 主要以提供不同規(guī)格的計算資源(也就是虛擬機)為主,并基于著名的開源虛擬化技術(shù) Xen ,通過 Amazon 的各種優(yōu)化和創(chuàng)新,使得 EC2 不論在性能上,還是在穩(wěn)定性上,都已經(jīng)滿足企業(yè)級的需求,而且 Amazon EC2 還提供完善的 API 和 Web 管理界面,來方便用戶的使用。
(2) IBM Blue Cloud :“藍云”解決方案是由 IBM 云計算中心開發(fā)的業(yè)界第一個,同時也是在技術(shù)上比較領(lǐng)先的企業(yè)級云計算解決方案。該解決方案可以對企業(yè)現(xiàn)有的基礎(chǔ)架構(gòu)進行整合,通過虛擬化技術(shù)和自動化管 理技術(shù),來構(gòu)建企業(yè)自己的云計算中心,并實現(xiàn)對企業(yè)硬件資源和軟件資源的統(tǒng)一管理、統(tǒng)一分配、統(tǒng)一部署、統(tǒng)一監(jiān)控和統(tǒng)一備份,也打破了應用對資源的獨占, 從而幫助企業(yè)能享受到云計算所帶來的諸多優(yōu)越性。
(3) Cisco UCS :它是下一代數(shù)據(jù)中心平臺,在一個緊密結(jié)合的系統(tǒng)中整合了計算、網(wǎng)絡、存儲與虛擬化功能。該系統(tǒng)包含一個低延時無丟包萬兆以太網(wǎng)統(tǒng)一網(wǎng)絡陣列,以及多臺企 業(yè)級 x86 架構(gòu)刀片服務器等設備,并在一個統(tǒng)一的管理域中管理所有資源。用戶可以通過在 UCS 上安裝 VMWare vSphere 來支撐多達幾千臺虛擬機的運行。通過 Cisco UCS ,能夠讓企業(yè)快速在本地數(shù)據(jù)中心搭建基于虛擬化技術(shù)的云環(huán)境。
(4) Joyent :它提供基于 Open Solaris 技術(shù)的 IaaS 服務,其 IaaS 服務中最核心的,莫屬 Joyent Accelecator ,它能夠為 Web 應用開發(fā)人員提供基于標準的、非專有的、按需供應的虛擬化計算和存儲解決方案; Joyent Accelerator ,用戶可以使用具備多核 CPU 、海量內(nèi)存和存儲的服務器設備來搭建了自己的網(wǎng)絡服務,并提供超快的訪問、處理速度和超高的可靠性。
2.4.3 優(yōu)勢 IaaS 服務和傳統(tǒng)的企業(yè)數(shù)據(jù)中心相比,在很多方面都存在一定的優(yōu)勢,下面是最明顯的五個。
(1) 免維護:主要的維護工作都有 IaaS 云供應商負責,所以不必用戶操心。
(2) 非常經(jīng)濟:首先免去了用戶前期的硬件購置成本,而且由于 IaaS 云大都采用虛擬化技術(shù),所以在應用和服務器的整合率普遍在 10 以上,這樣能有效降低使用成本。
(3) 開放標準:雖然很多 IaaS 平臺都存在一定的私有功能,但是由于 OVF 等應用發(fā)布協(xié)議的誕生,使得 IaaS 在跨平臺方面穩(wěn)步前進,從而使得應用能在多個 IaaS 云上靈活的遷移,而不會被固定在某個企業(yè)數(shù)據(jù)中心內(nèi)。
(4) 支持的應用:因為 IaaS 主要是提供虛擬機,而且普通的虛擬機能支持多種操作系統(tǒng),所以 IaaS 所支持應用的范圍是非常廣泛的。
(5) 伸縮性強: IaaS 云只需幾分鐘就能提供用戶一個新的計算資源,而傳統(tǒng)的企業(yè)數(shù)據(jù)中心則往往需要幾周時間,并且計算資源可以根據(jù)用戶需求來調(diào)整其資源的大小。
2.4.4 技術(shù)
在 IaaS 所采用的技術(shù)方面,都是一些比較底層的技術(shù),其中有四種技術(shù)是比較常用的:
(1) 虛擬化:也可以理解它為基礎(chǔ)設施層的“多租戶”,因為通過虛擬化技術(shù),能夠在一個物理服務器上生成多個虛擬機,并且能在這些虛擬機之間能實現(xiàn)全面的隔離, 這樣不僅能減低服務器的購置成本,而且還能同時降低服務器的運維成本,成熟的 X86 虛擬化技術(shù)有 VMware 的 ESX 和開源的 Xen 。
(2) 分布式存儲:為了承載海量的數(shù)據(jù),同時也要保證這些數(shù)據(jù)的可管理性,所以需要一整套分布式的存儲系統(tǒng),在這方面, Google 的 GFS 是典范之作。
(3) 關(guān)系型數(shù)據(jù)庫:基本是在原有的關(guān)系型數(shù)據(jù)庫的基礎(chǔ)上做了擴展和管理等方面的優(yōu)化,使其在云中更適應。
(4) NoSQL :為了滿足一些關(guān)系數(shù)據(jù)庫所無法滿足的目標,比如支撐海量的數(shù)據(jù)等,一些公司特地設計一批不是基于關(guān)系模型的數(shù)據(jù)庫,比如 Google 的 BigTable 和 Facebook 的 Cassandra 等。
現(xiàn)在大多數(shù)的 IaaS 服務都是基于 Xen 的,比如 Amazon 的 EC2 等,但 VMware 也推出了基于 ESX 技術(shù)的 vCloud ,同時業(yè)界也有幾個基于關(guān)系型數(shù)據(jù)庫的云服務,比如 Amazon 的 RDS ( Relational Database Service ,關(guān)系型數(shù)據(jù)庫服務)和 Windows Azure SDS ( SQL Data Services , SQL 數(shù)據(jù)庫服務)等。關(guān)于分布式存儲和 NoSQL ,它們已經(jīng)被廣泛用于云平臺的后端,比如 Google App Engine 的 Datastore 就是基于 BigTable 和 GFS 這兩個技術(shù)之上的,而 Amazon 則推出基于 NoSQL 技術(shù)的 Simple DB 。
posted @
本文關(guān)鍵詞:云計算核心技術(shù)剖析,由筆耕文化傳播整理發(fā)布。
本文編號:51821
本文鏈接:http://sikaile.net/wenshubaike/mishujinen/51821.html