陳禮軍
[摘 要]隨著云計(jì)算技術(shù)的興起和發(fā)展,云計(jì)算技術(shù)在越來越多的領(lǐng)域得到了廣泛的應(yīng)用,云計(jì)算平臺(tái)架構(gòu)的搭建也成為技術(shù)工作者探討的焦點(diǎn),本文云計(jì)算平臺(tái)及架構(gòu)進(jìn)行了介紹,探討云計(jì)算平臺(tái)的搭建。
[關(guān)鍵詞]云平臺(tái) 架構(gòu) 搭建
中圖分類號(hào):T96 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-914X(2016)01-0393-01
一、云計(jì)算平臺(tái)
云計(jì)算平臺(tái)也稱為云平臺(tái)。云計(jì)算平臺(tái)可以劃分為3類:以數(shù)據(jù)存儲(chǔ)為主的存儲(chǔ)型云平臺(tái),以數(shù)據(jù)處理為主的計(jì)算型云平臺(tái)以及計(jì)算和數(shù)據(jù)存儲(chǔ)處理兼顧的綜合云計(jì)算平臺(tái)。
二、云計(jì)算架構(gòu)
云計(jì)算架構(gòu)主要可分為四層,其中有三層是橫向的,分別是顯示層、中間件層和基礎(chǔ)設(shè)施層,通過這三層技術(shù)能夠提供非常豐富的云計(jì)算能力和友好的用戶界面,還有一層是縱向的,稱為管理層,是為了更好地管理和維護(hù)橫向的三層而存在的。
1、顯示層
這層主要是用于以友好的方式展現(xiàn)用戶所需的內(nèi)容,并會(huì)利用到下面中間件層提供的多種服務(wù),主要有五種技術(shù):HTML、JavaScript、CSS、Flash、Silverlight。
在顯示層中,大多數(shù)云計(jì)算產(chǎn)品都比較傾向HTML,、JavaScript和CSS這對(duì)黃金組合,但是Flash和Silverlight等RIA技 術(shù)也有一定的用武之地,比如VMware vCloud就采用了基于Flash的Flex技術(shù),而微軟的云計(jì)算產(chǎn)品肯定會(huì)在今后使用到Silverlight。
2、中間件層
這層是承上啟下的,它在下面的基礎(chǔ)設(shè)施層所提供資源的基礎(chǔ)上提供了多種服務(wù),比如緩存服務(wù)和REST服務(wù)等,而且這些服務(wù)即可用于支撐顯示層,也可以直接讓用戶調(diào)用,并主要有五種技術(shù):REST、多租戶、并行處理、應(yīng)用服務(wù)器、分布式緩存。
對(duì)于很多PaaS平臺(tái),比如用于部署Ruby應(yīng)用的Heroku云平臺(tái),應(yīng)用服務(wù)器和分布式緩存都是必備的,同時(shí)REST技術(shù)也常用于對(duì)外的接口,多租戶技術(shù)則主要用于SaaS應(yīng)用的后臺(tái),比如用于支撐Salesforce的Sales Cloud等應(yīng)用的Force.com多租戶內(nèi)核,而并行處理技術(shù)常被作為單獨(dú)的服務(wù)推出,比如Amazon的Elastic MapReduce。
3、基礎(chǔ)設(shè)施層
這層作用是為給上面的中間件層或者用戶準(zhǔn)備其所需的計(jì)算和存儲(chǔ)等資源,主要有四種技術(shù):虛擬化、分布式存儲(chǔ)、關(guān)系型數(shù)據(jù)庫(kù)、NoSQL。
現(xiàn)在大多數(shù)的IaaS服務(wù)都是基于Xen的,比如Amazon的EC2等,但VMware也推出了基于ESX技術(shù)的vCloud,同時(shí)業(yè)界也有幾個(gè) 基于關(guān)系型數(shù)據(jù)庫(kù)的云服務(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。
4、管理層
這層是為橫向的三層服務(wù)的,并給這三層提供多種管理和維護(hù)等方面的技術(shù),主要有下面這六個(gè)方面:帳號(hào)管理、SLA監(jiān)控、計(jì)費(fèi)管理、安全管理、負(fù)載均衡、運(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)維管理等方面還有所欠缺。
三、云計(jì)算平臺(tái)搭建
規(guī)劃是構(gòu)建云計(jì)算解決方案重要的第一步。在規(guī)劃時(shí),需要對(duì)當(dāng)前數(shù)據(jù)中心資產(chǎn)和運(yùn)行流程創(chuàng)建完整的文檔,需要描述數(shù)據(jù)中心中現(xiàn)有的設(shè)備之間的關(guān)系并考慮如何部署未來的新設(shè)備。
由于環(huán)境十分復(fù)雜,企業(yè)會(huì)指派不同的人員維護(hù)數(shù)據(jù)中心中不同的數(shù)據(jù)。需要了解所有不同角色與數(shù)據(jù)中心設(shè)備之間的交互過程,角色之間責(zé)任重疊。企業(yè)的高層決策者需要參與整個(gè)計(jì)劃的過程并做出決策。
1、數(shù)據(jù)中心的完整資產(chǎn)信息
數(shù)據(jù)中心中包括大量的服務(wù)器和設(shè)備,首先需要收集這些硬件資產(chǎn)的信息,以及這些資產(chǎn)之間的關(guān)系。資產(chǎn)之間的關(guān)系對(duì)于計(jì)劃非常重要。這里舉例來看一個(gè)服務(wù)器和網(wǎng)絡(luò)之間的關(guān)系:通過一個(gè)邏輯定義的 IP 地址訪問服務(wù)器,必須在操作系統(tǒng)中定義一個(gè)網(wǎng)絡(luò)接口才能定義 IP 地址。服務(wù)器中必須有一個(gè)物理網(wǎng)卡來支持操作系統(tǒng)中定義的網(wǎng)絡(luò)接口;網(wǎng)卡具有特定的屬性,例如 MAC 地址,用來通過物理鏈路和數(shù)據(jù)中心內(nèi)的其他設(shè)備連接;;網(wǎng)卡必須連接到交換機(jī)的一個(gè)端口上;交換機(jī)也擁有自己的關(guān)系,例如端口屬于哪一個(gè)模塊,交換機(jī)之間的連接關(guān)系。
2、繪制業(yè)務(wù)數(shù)據(jù)流
在將設(shè)備邏輯關(guān)系文檔化后,為了確定可以實(shí)現(xiàn)自動(dòng)化部署的部分,正確理解配置這些設(shè)備的流程非常重要。另外了解設(shè)備在業(yè)務(wù)功能上的用途也很重要。根據(jù)這些信息,我們基本可以確定數(shù)據(jù)中心的基礎(chǔ)構(gòu)架,例如路由器、交換機(jī)、數(shù)據(jù)庫(kù)服務(wù)器和負(fù)載均衡器這些設(shè)備的變動(dòng)比較少,而且配置方式比較特殊,因此不適合使用自動(dòng)化部署。而應(yīng)用服務(wù)器通常使用相同的硬件并且經(jīng)常發(fā)生變動(dòng),根據(jù)我們收集的信息分析來看比較適合使用自動(dòng)化部署。
3、了解手工部署流程
將數(shù)據(jù)中心設(shè)備當(dāng)前的結(jié)構(gòu)和使用情況文檔化后,還要將管理數(shù)據(jù)中心的 IT 流程文檔化。這樣就可以將設(shè)備從抵達(dá)到進(jìn)入數(shù)據(jù)中心需要進(jìn)行的工作整理為一個(gè)步驟列表。這個(gè)列表包括上架和接電等手工步驟以及可以融入自動(dòng)化管理平臺(tái)的自動(dòng)化步驟。部署流程通常是跨組織角色的,并且應(yīng)該和現(xiàn)有的自動(dòng)化技術(shù)結(jié)合組成完整的解決方案。
通過這種文檔化之后,你就可以理解一個(gè)數(shù)據(jù)中心的那些部分可以使用自動(dòng)化管理。每個(gè)組織在實(shí)施自動(dòng)化管理時(shí)有一套獨(dú)特的步驟,并且每個(gè)步驟都有不同的需求,因此這樣的自動(dòng)化管理平臺(tái)并不是一成不變就可以解決所有問題的。針對(duì)每個(gè)用戶不同的環(huán)境、不同的流程,我們都需要對(duì)這個(gè)云計(jì)算平臺(tái)進(jìn)行定制化。這樣才能滿足不同用戶的需求。
4、組織結(jié)構(gòu)
自動(dòng)化部署涉及到很多復(fù)雜的步驟,包括物理基礎(chǔ)架構(gòu)、操作系統(tǒng)、網(wǎng)絡(luò)基礎(chǔ)架構(gòu)、應(yīng)用程序部署、監(jiān)控、項(xiàng)目管理以及和其他部門的協(xié)調(diào)。一般日常的服務(wù)器部署不需要和其他部門協(xié)調(diào)就可以完成,除非存在組織上的、安全上的或其他方面的原因。
在很多組織中,架構(gòu)中很多部分被認(rèn)為對(duì)業(yè)務(wù)是非常關(guān)鍵的。例如,網(wǎng)絡(luò)架構(gòu)部門需要滿足網(wǎng)絡(luò)可用性以及變更管理和安全性問題的服務(wù)級(jí)別協(xié)議。而云計(jì)算平臺(tái)通常需要改變 IT 文化,要更好的使用這個(gè)平臺(tái),就需要將組織中的每個(gè)部門都融入到其中。
5、標(biāo)準(zhǔn)化
很多組織的 IT 環(huán)境都是異構(gòu)的,這使云計(jì)算平臺(tái)的實(shí)施變得更加復(fù)雜。因此最好的方法就是數(shù)據(jù)中心的設(shè)備都使用標(biāo)準(zhǔn)的硬件配置,使硬件類型最少化。例如針對(duì)應(yīng)用程序服務(wù)器層,使用統(tǒng)一的硬件平臺(tái)可以減少對(duì)每臺(tái)服務(wù)器的手動(dòng)配置的工作量。
6、和當(dāng)前的自動(dòng)化流程整合
很多組織都已經(jīng)在 IT 基礎(chǔ)構(gòu)架的不同層次使用了自動(dòng)化部署,例如啟動(dòng)服務(wù)器、軟件分發(fā)包、系統(tǒng)管理軟件和用來運(yùn)行日常任務(wù)的定制化腳本等技術(shù)。但是這些自動(dòng)化技術(shù)都是針對(duì)于某一個(gè)子系統(tǒng)或者局部的,在部署整個(gè)系統(tǒng)的過程中還是需要很多的人工介入來完成。云計(jì)算平臺(tái)并不會(huì)完全替代現(xiàn)有的這些技術(shù),而是依賴于這些自動(dòng)化技術(shù)和流程來實(shí)現(xiàn)更高層次的、全局性的自動(dòng)化管理。