• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            woaidongmao

            文章均收錄自他人博客,但不喜標(biāo)題前加-[轉(zhuǎn)貼],因其丑陋,見諒!~
            隨筆 - 1469, 文章 - 0, 評(píng)論 - 661, 引用 - 0
            數(shù)據(jù)加載中……

            云計(jì)算的架構(gòu) – 從技術(shù)角度剖析云計(jì)算

            本文原載于InfoQ中文站,版權(quán)所有,原文為從技術(shù)角度剖析云計(jì)算的架構(gòu),如需轉(zhuǎn)載,請務(wù)必附帶本聲明,謝謝。在這里也要稍微謝謝InfoQ霍主編,如果不是他的堅(jiān)持,這篇文章也不會(huì)像現(xiàn)在這樣成熟,還有,InfoQ本身也是一個(gè)比較高端的技術(shù)網(wǎng)站,為Java、.NET、Ruby、SOA、敏捷、架構(gòu)等領(lǐng)域提供及時(shí)而有深度的資訊、高端技術(shù)大會(huì)如QCon、免費(fèi)迷你書下載如《架構(gòu)師》等,大家如果沒去過的話,請點(diǎn)擊

             

            在寫《剖析云計(jì)算》(編者注:InfoQ中文站隨后推出該Minibook)一書的時(shí)候,我發(fā)現(xiàn)雖然云計(jì)算本身有三層之分,也就是SaaS,PaaS和IaaS,但這種分層本身主要是從用戶體驗(yàn)的角度來而言,比如,SaaS主要將應(yīng)用作為服務(wù)提供給客戶,IaaS是主要是將虛擬機(jī)等資源作為服務(wù)提供給用戶。而本文將從技術(shù)角度來分析和總結(jié)云計(jì)算的架構(gòu)。

             

            綜述

            基于對現(xiàn)有的一些云計(jì)算產(chǎn)品的分析和我個(gè)人的一些經(jīng)驗(yàn),總結(jié)出一套云計(jì)算的架構(gòu),具體請看下圖:

            Cloud Arch

            圖1. 云計(jì)算的架構(gòu)

            這套架構(gòu)主要可分為四層,其中有三層是橫向的,分別是顯示層、中間件層和基礎(chǔ)設(shè)施層,通過這三層技術(shù)能夠提供非常豐富的云計(jì)算能力和友好的用戶界面,還有一層是縱向的,稱為管理層,是為了更好地管理和維護(hù)橫向的三層而存在的。接下來將一個(gè)個(gè)地給大家介紹每個(gè)層次的作用和屬于這個(gè)層次的主要技術(shù)。

             

            顯示層

            這層主要是用于以友好的方式展現(xiàn)用戶所需的內(nèi)容,并會(huì)利用到下面中間件層提供的多種服務(wù),主要有五種技術(shù):

              1. HTML:標(biāo)準(zhǔn)的Web頁面技術(shù),現(xiàn)在主要以HTML4為主,但是將要推出的HTML5會(huì)在很多方面推動(dòng)Web頁面的發(fā)展,比如視頻和本地存儲(chǔ)等方面。
              2. JavaScript:一種用于Web頁面的動(dòng)態(tài)語言,通過JavaScript,能夠極大地豐富Web頁面的功能,最流行的JS框架有jQuery和Prototype。
              3. CSS:主要用于控制Web頁面的外觀,而且能使頁面的內(nèi)容與其表現(xiàn)形式之間進(jìn)行優(yōu)雅地分離。
              4. Flash:業(yè)界最常用的RIA(Rich Internet Applications)技術(shù),能夠在現(xiàn)階段提供HTML等技術(shù)所無法提供的基于Web的富應(yīng)用,而且在用戶體驗(yàn)方面,非常不錯(cuò)。
              5. Silverlight:來自業(yè)界巨擎微軟的RIA技術(shù),雖然其現(xiàn)在市場占有率稍遜于Flash,但由于其可以使用C#來進(jìn)行編程,所以對開發(fā)者非常友好。 

             

            在顯示層,大多數(shù)云計(jì)算產(chǎn)品都比較傾向HTML,、JavaScript和CSS這對黃金組合,但是Flash和Silverlight等RIA技術(shù)也有一定的用武之地,比如VMware vCloud就采用了基于Flash的Flex技術(shù),而微軟的云計(jì)算產(chǎn)品肯定會(huì)在今后使用到Silverlight。

             

            中間件層

            這層是承上啟下的,它在下面的基礎(chǔ)設(shè)施層所提供資源的基礎(chǔ)上提供了多種服務(wù),比如緩存服務(wù)和REST服務(wù)等,而且這些服務(wù)即可用于支撐顯示層,也可以直接讓用戶調(diào)用,并主要有五種技術(shù):

              1. REST:通過REST技術(shù),能夠非常方便和優(yōu)雅地將中間件層所支撐的部分服務(wù)提供給調(diào)用者。
              2. 多租戶:就是能讓一個(gè)單獨(dú)的應(yīng)用實(shí)例可以為多個(gè)組織服務(wù),而且保持良好的隔離性和安全性,并且通過這種技術(shù),能有效地降低應(yīng)用的購置和維護(hù)成本。
              3. 并行處理:為了處理海量的數(shù)據(jù),需要利用龐大的X86集群進(jìn)行規(guī)模巨大的并行處理,Google的MapReduce是這方面的代表之作。
              4. 應(yīng)用服務(wù)器:在原有的應(yīng)用服務(wù)器的基礎(chǔ)上為云計(jì)算做了一定程度的優(yōu)化,比如用于Google App Engine的Jetty應(yīng)用服務(wù)器。
              5. 分布式緩存:通過分布式緩存技術(shù),不僅能有效地降低對后臺(tái)服務(wù)器的壓力,而且還能加快相應(yīng)的反應(yīng)速度,最著名的分布式緩存例子莫過于Memcached。

             

            對于很多PaaS平臺(tái),比如用于部署Ruby應(yīng)用的Heroku云平臺(tái),應(yīng)用服務(wù)器和分布式緩存都是必備的,同時(shí)REST技術(shù)也常用于對外的接口,多租戶技術(shù)則主要用于SaaS應(yīng)用的后臺(tái),比如用于支撐Salesforce的Sales Cloud等應(yīng)用的Force.com多租戶內(nèi)核,而并行處理技術(shù)常被作為單獨(dú)的服務(wù)推出,比如Amazon的Elastic MapReduce。

             

            基礎(chǔ)設(shè)施層

            這層作用是為給上面的中間件層或者用戶準(zhǔn)備其所需的計(jì)算和存儲(chǔ)等資源,主要有四種技術(shù):

              1. 虛擬化:也可以理解它為基礎(chǔ)設(shè)施層的“多租戶”,因?yàn)橥ㄟ^虛擬化技術(shù),能夠在一個(gè)物理服務(wù)器上生成多個(gè)虛擬機(jī),并且能在這些虛擬機(jī)之間能實(shí)現(xiàn)全面的隔離,這樣不僅能減低服務(wù)器的購置成本,而且還能同時(shí)降低服務(wù)器的運(yùn)維成本,成熟的X86虛擬化技術(shù)有VMware的ESX和開源的Xen。
              2. 分布式存儲(chǔ):為了承載海量的數(shù)據(jù),同時(shí)也要保證這些數(shù)據(jù)的可管理性,所以需要一整套分布式的存儲(chǔ)系統(tǒng),在這方面,Google的GFS是典范之作。
              3. 關(guān)系型數(shù)據(jù)庫:基本是在原有的關(guān)系型數(shù)據(jù)庫的基礎(chǔ)上做了擴(kuò)展和管理等方面的優(yōu)化,使其在云中更適應(yīng)。
              4. NoSQL:為了滿足一些關(guān)系數(shù)據(jù)庫所無法滿足的目標(biāo),比如支撐海量的數(shù)據(jù)等,一些公司特地設(shè)計(jì)一批不是基于關(guān)系模型的數(shù)據(jù)庫,比如Google的BigTable和Facebook的Cassandra等。

            現(xiàn)在大多數(shù)的IaaS服務(wù)都是基于Xen的,比如Amazon的EC2等,但VMware也推出了基于ESX技術(shù)的vCloud,同時(shí)業(yè)界也有幾個(gè)基于關(guān)系型數(shù)據(jù)庫的云服務(wù),比如Amazon的RDS(Relational Database Service)和Windows Azure SDS(SQL Data Services)等。關(guān)于分布式存儲(chǔ)和NoSQL,它們已經(jīng)被廣泛用于云平臺(tái)的后端,比如Google App Engine的Datastore就是基于BigTable和GFS這兩個(gè)技術(shù)之上的,而Amazon則推出基于NoSQL技術(shù)的Simple DB。

             

            管理層

            這層是為橫向的三層服務(wù)的,并給這三層提供多種管理和維護(hù)等方面的技術(shù),主要有下面這六個(gè)方面:

              1. 帳號(hào)管理:通過良好的帳號(hào)管理技術(shù),能夠在安全的條件下方便用戶地登錄,并方便管理員對帳號(hào)的管理。
              2. SLA監(jiān)控:對各個(gè)層次運(yùn)行的虛擬機(jī),服務(wù)和應(yīng)用等進(jìn)行性能方面的監(jiān)控,以使它們都能在滿足預(yù)先設(shè)定的SLA(Service Level Agreement)的情況下運(yùn)行。
              3. 計(jì)費(fèi)管理:也就是對每個(gè)用戶所消耗的資源等進(jìn)行統(tǒng)計(jì),來準(zhǔn)確地向用戶索取費(fèi)用。
              4. 安全管理:對數(shù)據(jù),應(yīng)用和帳號(hào)等IT資源采取全面地保護(hù),使其免受犯罪分子和惡意程序的侵害。
              5. 負(fù)載均衡:通過將流量分發(fā)給一個(gè)應(yīng)用或者服務(wù)的多個(gè)實(shí)例來應(yīng)對突發(fā)情況。
              6. 運(yùn)維管理:主要是使運(yùn)維操作盡可能地專業(yè)和自動(dòng)化,從而降低云計(jì)算中心的運(yùn)維成本。

             

            現(xiàn)在的云計(jì)算產(chǎn)品在帳號(hào)管理,計(jì)費(fèi)管理和負(fù)載均衡這三個(gè)方面大都表現(xiàn)地不錯(cuò),在這方面最突出的例子就是Amazon 的EC2,但可惜的是,大多數(shù)產(chǎn)品在SLA監(jiān)控,安全管理和運(yùn)維管理等方面還有所欠缺。

             

            舉例

            接下來,將以Salesforce的Sales Cloud和Google的App Engine這兩個(gè)著名的云計(jì)算產(chǎn)品為例,來幫助大家理解本文所提到的云計(jì)算架構(gòu):

             

            Salesforce Sales Cloud

            也就是之前的Salesforce CRM(客戶關(guān)系管理),屬于云計(jì)算中的SaaS層,主要是通過在云中部署可定制化的CRM應(yīng)用,來讓企業(yè)用戶在很低初始投入的情況下使用上CRM,并且可根據(jù)自身的流程來進(jìn)行靈活地定制,而且只需接入網(wǎng)絡(luò)就能使用。下圖為其在技術(shù)層面上大致的架構(gòu):

            salesforce arch

            圖2.  Salesforce Sales Cloud

            采用的主要技術(shù):

              1. 顯示層:基于HTML、JavaScript和CSS這對黃金組合。
              2. 中間件層:在此層,Salesforce引入了多租戶內(nèi)核和為支撐此內(nèi)核運(yùn)行而經(jīng)過定制的應(yīng)用服務(wù)器。
              3. 基礎(chǔ)設(shè)施層:雖然在后端還是使用在企業(yè)環(huán)境中很常見的Oracle數(shù)據(jù)庫,但是其為了支撐上層的多租戶內(nèi)核做了很多的優(yōu)化。
              4. 管理層:在安全管理方面,Salesforce提供了多層保護(hù),并支持SSL加密等技術(shù),除此之外,其還在帳號(hào)管理、計(jì)費(fèi)管理和負(fù)載均衡這三方面有不錯(cuò)地支持。

             

             

            Google App Engine

            App Engine屬于云計(jì)算中的PaaS層,其主要提供一個(gè)平臺(tái),來讓用戶在Google強(qiáng)大的基礎(chǔ)設(shè)施上部署和運(yùn)行應(yīng)用程序,同時(shí)App Engine會(huì)根據(jù)應(yīng)用所承受的負(fù)載來對應(yīng)用所需的資源進(jìn)行調(diào)整,并免去用戶對應(yīng)用和服務(wù)器等的維護(hù)工作,而且支持Java和Python這兩種語言。由于App Engine屬于PaaS平臺(tái),所以關(guān)于顯示層的技術(shù)選擇由應(yīng)用的自身需要而定,與App Engine無關(guān),關(guān)于App Engine在技術(shù)層面上大致的架構(gòu),具體請看下圖:

            google app engine

            圖3. Google App Engine

            采用的主要技術(shù):

              1. 中間件層:既有經(jīng)過定制化的應(yīng)用服務(wù)器,比如上面已經(jīng)提到過的Jetty,也提供基于Memcached的分布式緩存服務(wù)。
              2. 基礎(chǔ)設(shè)施層: 在分布式存儲(chǔ)GFS的基礎(chǔ)上提供了NoSQL數(shù)據(jù)庫BigTable來對應(yīng)用的數(shù)據(jù)進(jìn)行持久化。
              3. 管理層:由于App Engine是基于Google強(qiáng)大的分布式基礎(chǔ)設(shè)施,使其在運(yùn)維管理技術(shù)方面非常出色,同時(shí)其計(jì)費(fèi)管理能做到非常細(xì)粒度的API級(jí)計(jì)費(fèi),而且App Engine在帳號(hào)管理和負(fù)載均衡這兩方面都有非常好地支持。

             

             

            雖然用一張這樣簡單的圖和兩個(gè)簡短的例子來描述龐大的云計(jì)算整體架構(gòu)的確是略顯寒酸,但是應(yīng)該能讓大家從技術(shù)角度對云計(jì)算的架構(gòu)有一個(gè)大致的了解。

            posted on 2011-08-13 00:04 肥仔 閱讀(518) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 編程思想

            久久免费的精品国产V∧| 久久久艹| 国产精品一久久香蕉国产线看观看| 久久久久一本毛久久久| 国内精品久久国产| 国产成人精品综合久久久久| 99re久久精品国产首页2020| 国产精品日韩深夜福利久久| 色天使久久综合网天天| 久久99国产综合精品女同| 大香网伊人久久综合网2020| 久久人人爽人人爽人人片av麻烦 | 久久精品国产99久久丝袜| 久久伊人中文无码| 国产精品99久久久久久人| 欧美一级久久久久久久大片| 久久国产精品无码HDAV| 欧美久久亚洲精品| 91精品国产91久久久久福利| 亚洲国产精品无码久久久久久曰| 久久久久国产精品熟女影院| 欧美精品丝袜久久久中文字幕| 久久久久国产精品熟女影院| 91麻豆国产精品91久久久| 99久久国产综合精品网成人影院| 亚洲精品tv久久久久久久久| 亚洲国产婷婷香蕉久久久久久| 久久九九有精品国产23百花影院| 97精品依人久久久大香线蕉97| 久久er国产精品免费观看8| 69久久精品无码一区二区| 色偷偷偷久久伊人大杳蕉| 久久这里只有精品首页| 久久激情亚洲精品无码?V| 久久精品中文字幕一区| 国产99久久久国产精免费| 久久国产精品-久久精品| 999久久久无码国产精品| 久久精品麻豆日日躁夜夜躁| 久久精品卫校国产小美女| 久久精品人妻中文系列|