云計(jì)算服務(wù)既然是一種通過(guò)網(wǎng)絡(luò)提供的自動(dòng)化服務(wù),其架構(gòu)就和傳統(tǒng)IT有很大的區(qū)別。下面我們來(lái)討論云計(jì)算的架構(gòu),從中我們可以看到為什么云計(jì)算架構(gòu)是支持互聯(lián)網(wǎng)+轉(zhuǎn)型的唯一IT架構(gòu)選擇。
什么是架構(gòu)?
要了解云計(jì)算架構(gòu),首先我們要對(duì)架構(gòu)有個(gè)清晰準(zhǔn)確的理解。架構(gòu)有兩個(gè)層面的涵義。一個(gè)是靜態(tài)層面的,主要是勾畫系統(tǒng)邊界、結(jié)構(gòu)、組成的組件以及組件之間的關(guān)聯(lián)關(guān)系;另一個(gè)是動(dòng)態(tài)層面,主要是規(guī)范組件的行為以及組件之間的交互協(xié)議。根據(jù)一個(gè)IT系統(tǒng)的架構(gòu),可以界定該系統(tǒng)的功能特性和一些非功能特性。
例如:一個(gè)郵箱系統(tǒng),它的功能可以是收、發(fā)郵件;非功能特性則包括安全措施(認(rèn)證、加密等)以及響應(yīng)時(shí)間、吞吐率等。架構(gòu)設(shè)計(jì)要考慮不斷變化和恒久不變的兩方面。一個(gè)有長(zhǎng)久生命力的系統(tǒng)都有一個(gè)設(shè)計(jì)高明的架構(gòu),其精髓在于架構(gòu)能支持系統(tǒng)功能的變化、發(fā)展、演化,允許系統(tǒng)功能的不斷變化,也就是架構(gòu)必須提供靈活性;
而系統(tǒng)對(duì)易用性、安全性、穩(wěn)定性和性能卻應(yīng)該是恒久不變,因此IT架構(gòu)的設(shè)計(jì)必須強(qiáng)調(diào)非功能特性,其中開放性、可擴(kuò)展性、可移植性、可維護(hù)性、靈活性、安全性、性能(響應(yīng)時(shí)間、吞吐率、并發(fā)數(shù)等)最為重要。云計(jì)算架構(gòu)尤其強(qiáng)調(diào)靈活性、擴(kuò)展性和易用性。
云計(jì)算架構(gòu)的特點(diǎn)
要了解云計(jì)算架構(gòu),最直接的方法是了解目前流行的主要云計(jì)算提供商的平臺(tái)架構(gòu)。下面我們通過(guò)了解公云提供商的典型代表—亞馬遜AWS的架構(gòu),以及在企業(yè)私云占?jí)艛嗟匚坏腣MWware,還有在互聯(lián)網(wǎng)企業(yè)主流使用的OpenStack架構(gòu)來(lái)深入了解云計(jì)算的架構(gòu)。
公云–亞馬遜AWS架構(gòu)
在2000年前后,以IBM、微軟、HP為首的企業(yè)IT龍頭提出了面向服務(wù)的架構(gòu)(SOA)的理念。SOA架構(gòu)核心是松耦合,系統(tǒng)由服務(wù)組件組成,每個(gè)服務(wù)組件提供一個(gè)專門的服務(wù)功能,各服務(wù)的功能通過(guò)標(biāo)準(zhǔn)服務(wù)接口向外提供。SOA架構(gòu)和傳統(tǒng)應(yīng)用架構(gòu)有很大區(qū)別。傳統(tǒng)應(yīng)用架構(gòu)組件之間耦合度高,組件之間沒(méi)有標(biāo)準(zhǔn)的接口,使得應(yīng)用的擴(kuò)展、維護(hù)非常不方便,不能支持業(yè)務(wù)的發(fā)展。在當(dāng)時(shí)雖然SOA的架構(gòu)理念炒的很火,但大部分IT廠商都只是忙著給自己的產(chǎn)品貼上SOA的標(biāo)簽,而真正把SOA理念付之于行動(dòng)、落實(shí)到服務(wù)的是當(dāng)時(shí)做電商的亞馬遜CEO貝佐斯。
亞馬遜AWS云功能示意圖
貝佐斯基本上是靠下行政命令來(lái)使系統(tǒng)開發(fā)人員按SOA的理念來(lái)開發(fā)系統(tǒng)。在2002年前后他給公司發(fā)的一封郵件中,他要求所有團(tuán)隊(duì)的程序模塊都要用服務(wù)接口把數(shù)據(jù)和功能開放出來(lái);所有程序間的通訊,必須也只能通過(guò)這些服務(wù)接口進(jìn)行。違反這個(gè)原則的都會(huì)被辭退。因此,亞馬遜能從一個(gè)電商做成最大的云計(jì)算提供商,也就不足為奇,因?yàn)橹挥衼嗰R遜,是最早、最徹底用面向服務(wù)的架構(gòu),也就是云計(jì)算的核心架構(gòu)來(lái)構(gòu)建云計(jì)算的公云平臺(tái)。
時(shí)至今日,亞馬遜AWS以經(jīng)是功能最完善、性能最強(qiáng)大的公有云提供商。圖2是亞馬遜提供的主要服務(wù)的功能示意圖。目前可以毫不夸張的說(shuō),依托亞馬遜提供的IaaS和PaaS,可以大部分取代傳統(tǒng)IT廠商提供的產(chǎn)品,為客戶構(gòu)建他們所需的IT能力。亞馬遜AWS的架構(gòu)從底層的數(shù)據(jù)中心就提供高冗余的設(shè)計(jì)。每個(gè)可用區(qū)(Availability Zone)至少由三個(gè)相距50多公里的數(shù)據(jù)中心組成,任何一個(gè)數(shù)據(jù)中心發(fā)生故障不會(huì)影響客戶的服務(wù)使用體驗(yàn)。
AWS的IaaS提供的高穩(wěn)定、彈性伸縮的虛擬機(jī),彈性硬盤,簡(jiǎn)單對(duì)象存儲(chǔ),虛擬私有云,負(fù)載均衡等等,都成為公有云的標(biāo)桿。同時(shí)AWS也逐漸向IaaS+PaaS服務(wù)方向演進(jìn),提供豐富的PaaS功能,包括大數(shù)據(jù)和數(shù)據(jù)庫(kù)服務(wù)。最后,亞馬遜AWS也是最開放的公有云提供商,通過(guò)標(biāo)準(zhǔn)API、軟件市場(chǎng)(Market Place)和Direct Connect構(gòu)建廣泛的生態(tài)圈。
私云–VMWare云架構(gòu)
VMWare是最早在X86推出虛擬化產(chǎn)品的廠商,也是企業(yè)私云建設(shè)中的最大得益者,長(zhǎng)期以來(lái)是服務(wù)器虛擬化的絕對(duì)龍頭,占有全球虛擬化市場(chǎng)近80%的市場(chǎng)份額。VMWare的拳頭產(chǎn)品是VSphere和VCenter。其虛擬化的穩(wěn)定性和性能在業(yè)界無(wú)出其右。在云計(jì)算起步的一段相當(dāng)長(zhǎng)的時(shí)間,虛擬化和云計(jì)算是使很多人混淆的概念。其實(shí)虛擬化只是構(gòu)建云計(jì)算資源池的一種主要方式,和云計(jì)算的服務(wù)模式有很大的區(qū)別。另一方面,資源池可以使用物理機(jī)或容器來(lái)構(gòu)建。
VMware云功能示意圖
近年來(lái),VMWare也逐步發(fā)力云市場(chǎng)。圖三是VMWare在2014年發(fā)布的企業(yè)云架構(gòu)。其核心是統(tǒng)一管理物理環(huán)境、以VMWare技術(shù)為主的虛擬化環(huán)境(包括計(jì)算為主的VSphere、提供SDN的NSX,以及分布式存儲(chǔ)VSAN)以及多種公云環(huán)境,實(shí)質(zhì)上是一個(gè)混合云管理的方案。它在上層分成幾個(gè)部分:Business(業(yè)務(wù))、Automation(自動(dòng)化)、Operations(運(yùn)維)、Extensibility(擴(kuò)展)。通過(guò)這幾個(gè)部分實(shí)現(xiàn)圖1云內(nèi)部機(jī)制的方式。
私云Openstack架構(gòu)
如果說(shuō)在企業(yè)級(jí)市場(chǎng),VMWare是絕對(duì)的龍頭,那么在開源產(chǎn)品上,Openstack已經(jīng)是主流的開源云平臺(tái),其接受程度已遠(yuǎn)遠(yuǎn)超過(guò)同類型的CloudStack、Eucalyptus和OpenNebula等開源平臺(tái)。
OpenStack云架構(gòu)圖
OpenStacks是2010年Rackspace和美國(guó)NASA合作推出的開源云項(xiàng)目,以NASA的Nebula平臺(tái)以及Rackspace的云文件存儲(chǔ)平臺(tái)為基礎(chǔ),形成Nova計(jì)算平臺(tái)和Swift對(duì)象存儲(chǔ)兩個(gè)核心項(xiàng)目。隨后大部分的IT巨頭,包括IBM、HP、Intel、思科等,出于和亞馬遜AWS、VMWare競(jìng)爭(zhēng)的考慮,都聚集在OpenStack大旗下,目標(biāo)是把OpenStack打造成未來(lái)的標(biāo)準(zhǔn)云操作系統(tǒng),就像Linux是服務(wù)器的標(biāo)準(zhǔn)操作系統(tǒng)那樣。
上圖的OpenStack架構(gòu)圖是OpenStack官方的架構(gòu)圖??梢钥吹诫m然和亞馬遜AWS以及VMWARE相比還有一段距離,但OpenStack現(xiàn)在已基本具備一個(gè)實(shí)現(xiàn)類似圖1云內(nèi)部機(jī)制的平臺(tái)。其中Horizon是界面模塊,Heat是編排,Ceilometer是監(jiān)控和計(jì)量,Keystone是標(biāo)識(shí)和認(rèn)證,Nova是類似AWS EC2的計(jì)算,Neutron是SDN網(wǎng)絡(luò),Cinder是塊存儲(chǔ),Glance是鏡像服務(wù),Swift是類似S3的對(duì)象存儲(chǔ)。
OpenStack之所以能在眾多開源云平臺(tái)中脫穎而出,很大程度在于其采用SOA架構(gòu)所帶來(lái)的靈活性和擴(kuò)展性。Openstack項(xiàng)目管理也采用非常開放的方式。新的需求和想法可以由開源社區(qū)人員發(fā)起新項(xiàng)目,到一定成熟程度可以申請(qǐng)成為OpenStack的孵化項(xiàng)目。孵化項(xiàng)目經(jīng)過(guò)考核并證明成熟的項(xiàng)目可以被集成到OpenStack的發(fā)布版本,轉(zhuǎn)成集成項(xiàng)目,成為OpenStack正式家族成員之一??梢灶A(yù)見(jiàn),未來(lái)OpenStack的功能會(huì)越來(lái)越完善,假以時(shí)日,超越AWS或VMWare這公、私云兩大巨頭也不是沒(méi)有可能。
總結(jié)
以上我們簡(jiǎn)單介紹了云計(jì)算和架構(gòu)的定義,云計(jì)算的外部體驗(yàn)和內(nèi)部實(shí)現(xiàn)機(jī)制,并通過(guò)對(duì)公有云龍頭亞馬遜AWS、私有云龍頭VMWare和開源主流云平臺(tái)Openstack的架構(gòu)分析,給讀者一個(gè)對(duì)云計(jì)算架構(gòu)比較直觀的了解。
云計(jì)算架構(gòu),其核心是基于面向服務(wù)(SOA)的自動(dòng)化服務(wù)管理架構(gòu),其特征是資源池化、通過(guò)互聯(lián)網(wǎng)交付的按需彈性、簡(jiǎn)易使用、可計(jì)量的服務(wù)。企業(yè)的互聯(lián)網(wǎng)+轉(zhuǎn)型,需要不單是方便靈活的使用各種云服務(wù),更重要的是要把業(yè)務(wù)能力和應(yīng)用轉(zhuǎn)化成線上交付的云服務(wù)。未來(lái)的企業(yè)在云上同時(shí)是服務(wù)的提供者和消費(fèi)者。因此,云計(jì)算架構(gòu)是支持互聯(lián)網(wǎng)+轉(zhuǎn)型的唯一IT架構(gòu)選擇。
本文選自《中國(guó)云力量》一書,作者:鄒均。