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