本節書摘來華章計算機《雲計算:概念、技術與架構》一書中的第3章 ,第3.2節,(美)thomas erl (英)zaigham mahmood 著 (巴西)ricardo puttini 龔奕利 賀 蓮 胡 創 譯更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。
本節主要闡述一組基礎術語,這些術語代表了雲及其最基本部件的基本概念和特點。
雲(cloud)是指一個獨特的it環境,其設計目的是為了遠端供給可擴充和可測量的it資源。這個術語原來用于比喻internet,意為internet在本質上是由網絡構成的網絡,用于對一組分散的it資源進行遠端通路。在雲計算正式成為it産業的一部分之前,雲符号作為internet的代表,出現在各種基于web架構的規範和主流文獻中。現在,同樣的符号則專門用于表示雲環境的邊界,如圖3-1所示。
區分術語“雲”、雲符号與internet是非常重要的。作為遠端供給it資源的特殊環境,雲具有有限的邊界。通過internet可以通路到許多單個的雲。internet提供了對多種web資源的開放接入,與之相比,雲通常是私有的,而且對提供的it資源的通路也是需要計量的。
internet主要提供了對基于内容的it資源的通路,這些資源是通過網際網路釋出的。而對于由雲環境提供的it資源來說,主要提供的是後端處理能力和對這些能力進行基于使用者的通路。另一個關鍵差別在于,雖然雲通常是基于internet協定和技術的,但是它并非必須基于web。這裡的協定是指一些标準和方法,它們使得計算機能以預先定義好的結構化方式互相通信。而雲可以基于任何允許遠端通路其it資源的協定。
it資源(it resource)是指一個與it相關的實體的或虛拟的事物,它既可以是基于軟體的,比如虛拟伺服器或定制軟體程式,也可以是基于硬體的,比如實體伺服器或網絡裝置(如圖3-2所示)。
圖3-3表示的是如何用雲符号來定義一個雲環境的邊界,這個雲環境容納并提供了一組it資源。圖中所示的這些it資源就被認為是基于雲的。
本書含有大量如圖3-3一樣的圖示,它們給出了涉及it資源的技術架構和各種互動場景。在學習和使用這些圖時,需要注意以下兩點:
一個給定雲符号邊界中畫出的it資源并不代表這個雲中包含的所有可用it資源。為了說明一個特定的話題,通常隻突出顯示一部分it資源。
當重點集中在一個問題的某些方面時,就需要特意用抽象圖示來表示底層技術架構。這就意味着,在圖示中隻會顯示實際技術的部分細節。
此外,還有些圖示中有些it資源在雲符号之外,這表示這些資源不是基于雲的。
作為一個獨特且可以遠端通路的環境,雲代表了it資源的一種部署方法。處于一個組織邊界(并不特指雲)中的傳統it企業内部承載的it資源被認為是位于it企業内部的,簡稱為内部的(on-premise)。換句話說,術語“内部的”是指“在一個不基于雲的可控的it環境内部的”,它和“基于雲的”是對等的,用來對it資源進行限制。一個内部的it資源不可能是基于雲的,反之亦然。
有三點需要注意
:
一個内部的it資源可以通路一個基于雲的it資源,并與之互動。
一個内部的it資源可以被遷移到雲中,進而成為一個基于雲的it資源。
it資源既可以備援部署在内部的環境中,也可以在雲環境中。
如果在私有雲(參見第4章4.4節)中,難以區分是企業内部的it資源還是基于雲的it資源,那麼就需要使用明确的限定詞。
提供基于雲的it資源的一方稱為雲提供者(cloud provider),使用基于雲的it資源的一方稱為雲使用者(cloud consumer)。這兩個術語通常代表的是與雲及相應雲供應合同相關的組織所承擔的角色。這些角色将在第4章4.1節中進行正式定義。
從it資源的角度來看,可擴充是指it資源可以處理增加或減少的使用需求的能力。
可擴充主要有兩種類型:
水準擴充——向外或向内擴充
垂直擴充——向上或向下擴充
下面分别對這兩種擴充類型進行說明。
1.水準擴充
配置設定和釋放it資源都屬于水準擴充(horizontal scaling),如圖3-4所示。水準配置設定資源也稱為向外擴充(scaling out),水準釋放資源也稱為向内擴充(scaling in)。水準擴充是雲環境中一種常見的擴充形式。
2.垂直擴充
當一個現有it資源被具有更大或更小容量的資源所代替,則為垂直擴充(vertical scaling),如圖3-5所示。被具有更大容量的it資源代替,稱為向上擴充(scaling up),被具有更小容量的it資源代替,稱為向下擴充(scaling down)。由于垂直擴充在進行替換時需要停機,是以,這種形式的擴充在雲環境中不太常見。
表3-1簡單對比了水準擴充和垂直擴充各自常見的優勢和不足。
雖然雲是可以遠端通路的環境,但并非雲中所有it資源都可以被遠端通路。比如,一個雲中的資料庫或實體伺服器有可能隻能被這個雲中的其他it資源通路。而有公開釋出的api的軟體程式可以專門部署為允許遠端客戶通路。
雲服務(cloud service)是指任何可以通過雲遠端通路的it資源。與其他it領域中的服務技術——比如面向服務的架構——不同,雲計算中“服務”一詞的含義非常寬泛。雲服務可以是一個簡單的基于web的軟體程式,使用消息協定就可以調用其技術接口;或者是管理工具或更大的環境和其他it資源的一個遠端接入點。
如圖3-6所示,在圖中圓形符号表示雲服務,這個雲服務是一個簡單的基于web的軟體程式。而在右圖中,根據雲服務提供的通路特性,使用了另一種不同的it資源符号。
圖3-6 具有已釋出技術接口的雲服務被雲外使用者通路(左)。作為雲服務的虛拟伺服器也可以被雲邊界之外通路(右)。左邊的雲服務很有可能被使用者程式調用,程式會通路雲服務的已釋出的技術接口。右邊的雲服務可以被使用者通路,使用者遠端登入到該虛拟伺服器上
雲計算背後的推動力是以服務的形式提供it資源,這些服務封裝了其他it資源,并向用戶端提供遠端使用功能。現在已經出現了多種通用雲服務類型的模型,其中大部分都以“作為服務”(as-a-service)作為字尾。
雲服務使用者(cloud service consumer)是一個臨時的運作時角色,由通路雲服務的軟體程式擔任。
如圖3-7所示,雲服務使用者常見類型包括:能夠通過已釋出的服務合同遠端通路雲服務的軟體程式和服務,以及運作某些軟體的工作站、便攜電腦和移動裝置,這些軟體可以遠端通路被定位為雲服務的其他it資源。