1. 程式人生 > >雲端計算基礎,相關概念,IaaS,PaaS,SaaS,CaaS,MaaS

雲端計算基礎,相關概念,IaaS,PaaS,SaaS,CaaS,MaaS

前言

隨著數字技術的普及,越來越多的企業面臨著海量資料。雖然企業都希望用大資料掘金,然而數字化能力的缺失也使企業極易淹沒在這片無邊無際的資料海洋裡。網際網路使得資料的流動和共享成為了可能,雲端計算技術的發展使資料分析向更加全面的方向邁進。

為什麼走向雲?

  • 業務需求的爆炸式增長

    在移動網際網路還沒有興起的時候,大部分業務的需求量都是可控的,或者說是可控的。傳統的網際網路可以滿足這樣的需求。
    但是移動網際網路使得需求量呈現爆照式的增長,如果良好的可伸縮性和可擴充套件性,企業無法滿足這種爆炸式地增長。

  • 資料量的爆炸式增長

    移動網際網路同時帶來了資料量的爆炸式增長,企業想要通過大資料來分析業務需求,傳統模式已經不具備海量資料的分析能力了。並且資料需要共享,需要流動,才能產生價值。

  • 成本

    不管時雲還是傳統的伺服器,底層永遠是機器在支撐,需要更多的機器和資源。大中型機雖然有很好的功能,但是相對普通的x86或者其他商用伺服器來說,過於昂貴。並且不具備良好的可伸縮性和可擴充套件性。縱向擴充套件已經觸及到成本與效能的瓶頸。那麼橫向擴充套件必然是最優的解決方案,雲就是天然橫向擴充套件的方案。

雲端計算是什麼?

雲端計算(cloud computing)是基於網際網路的相關服務的增加、使用和交付模式,通常涉及通過網際網路來提供動態易擴充套件且經常是虛擬化的資源。雲是網路、網際網路的一種比喻說法。雲端計算甚至可以讓你體驗每秒10萬億次的運算能力,擁有這麼強大的計算能力可以模
擬核爆炸、預測氣候變化和市場發展趨勢。使用者通過電腦、筆記本、手機等方式接入資料中心,按自己的需求進行運算。
通俗的來說雲端計算就是以前的伺服器計算的升級版,其主要有擴充套件性強、廉價、虛擬化、計算能力強這幾個特點。

雲端計算的相關概念

這裡寫圖片描述

IaaS:Infrastructure-as-a-Service(基礎設施即服務)
PaaS:Platform-as-a-Service(平臺即服務)
SaaS:Software-as-a-Service(軟體即服務)
CaaS:Communications-as-a-Service(通訊即服務)
MaaS:Machine as a Service(物聯網即服務)

IaaS

Infrastructure-as-a-Service(基礎設施即服務)

雲端計算的第一層叫做IaaS,有時候也叫做Hardware-as-a-Service。

上面我們說過不管是大型機還是雲,底層都是機器資源。時至今日,我們仍然採用的是1946年美籍匈牙利數學家馮·諾依曼於提出體系結構。馮·諾依曼體系結構包括IO,儲存器,運算器和控制器。這些便是機器資源。

IaaS層便是對機器資源層面的抽象,當然也包括網路等其它硬體資源。

沒有這一層抽象,搭建傳統 IT 基礎平臺是一個漫長的過程,通常由申請,審計,硬體購買與運輸,硬體安裝與配置,軟體安裝與配置等步驟組成。在這個過程中繁複的手工配置工作費時費力,而且容易產成人為配置錯誤。同時,平臺環境的升級維護也面臨人為配置錯誤頻繁產生問題,造成不必要的影響和損失。由於這些原因,搭建完成的應用執行平臺,即使在一定時期內不再需要,也不會被及時釋放回收,以供新專案使用。這是造成空閒硬體資源的原因之一。此外,傳統基礎平臺提供的應用執行能力是靜態的。然而 在不同時間,應用負載往往是不一樣的。為了確保高負載時應用的正常執行,應用執行平臺必須能夠提供最高執行能力,這就造成了非高峰時的眾多空閒硬體資源。

有了IaaS層的抽象之後,硬體資源就是一個黑盒,為我們提供服務。我們不需要關心底層的硬體設施,網路配置等。IaaS會提供伺服器,儲存和網路硬體等資源。

雲端計算,雲端儲存,CDN加速等都屬於這一層。

該領域已經相對成熟,並且時資本密集型領域。國外最大的服務商為AWS;國內是阿里雲佔的份額更多。還有一些其他的IaaS公司包括 Microsoft, VMWare, Rackspace和Red Hat.

當然IaaS服務商現在也都提供PaaS,SaaS等甚至更多的服務。

PaaS

Platform-as-a-Service(平臺即服務)

本章重點介紹PaaS,因為這是現在雲計算髮展的重點。同時因為之後的文章會將PaaS與Docker做一些比較。

雲端計算的第二層就是PaaS,某些時候也叫做中介軟體。所有的開發都可以在這一層進行,節省了時間和資源。開發不在需要關心執行時的環境,虛擬機器是什麼作業系統,有什麼配置,網路環境是什麼樣的等。PaaS提供一切執行時,即runtime。保證開發,測試,生產的一致性。免去繁瑣的開發維護工作。

平臺服務已經成為實踐雲端計算的重點之一,它將應用執行所需的 IT 資源和基礎設施以服務的方式提供給使用者,包括了中介軟體服務,資訊服務,連通性服務,整合服務和訊息服務等多種服務形式。PaaS 模式,基於網際網路提供對應用完整生命週期(包括設計、開發、測試和部署等階段)的支援,減少了使用者在購置和管理應用生命週期內所必須的軟硬體以及部署應用 和 IT 基礎設施的成本,同時簡化了以上工作的複雜度。為了確保高效地交付具備較強靈活性的平臺服務,在 PaaS 模式中,平臺服務通常基於自動化的技術通過虛擬化的形式交付,在執行時,自動化,自優化等技術也將被廣泛應用,以確保實時動態地滿足應用生命週期內的各種 功能和非功能需求。

PaaS除了提供執行時外,也會提供軟體的基礎功能的服務,如通訊,儲存,推送等。

PaaS目標

PaaS模式,從產生空閒硬體資源的根本原因入手。建立了快速搭建部署應用執行環境動態調整應用執行時環境資源這兩個目標。依據虛擬化與自動化技術實現應用執行環境的即時部署以及快速回收,降低了環境搭建時間,避免了手工配置錯誤,快速重複搭建環境,及時回收資源, 減少了低利用率硬體資源的空置。另一方面,根據應用執行時的需求對應用環境進行動態調整,實現了應用平臺的彈性擴充套件和自優化,減少了非高峰時硬體資源的空置。

滿足PaaS的條件

在實際應用中,PaaS 模式的重要應用場景之一是向用戶交付一個支撐應用執行的應用執行平臺(Applications Running Platform,以下簡稱 ARP)。基於 PaaS 模式構建應用執行平臺,需要滿足以下典型需求:

  1. 提供定義應用需求的介面

    使用者可以方便地定義滿足應用功能需求所需的元件,同時可以定義應用的非功能性需求,例如可用性,服務水平等;

  2. 提供基於應用需求快速構建應用執行環境的能力

    能將應用需求對映為物理的 IT 資源和基礎設施的具體配置和拓撲結構,並進行快速部署;

  3. 提供執行時實時動態滿足應用需求的能力

    將應用需求對映為執行策略,在執行時,根據系統執行的實際狀況,例如負載狀況,動態地對物理的 IT 資源和基礎設施進行調整,例如調整負載分配或增減計算資源,使 ARP 具備足夠的彈性和靈活性,以實時動態地滿足應用需求。

PaaS元件

針對上述需求,基於 PaaS 模式構建 ARP 的解決方案至少需要包括如下元件:

  • 需求與執行策略庫

    向用戶提供定義應用需求的介面,儲存應用需求,並將應用需求轉化為部署及執行策略,提供給平臺交付元件和執行時控制組件;

  • 軟體映像庫

    提供應用執行平臺所需的基礎軟體;

  • ARP硬體資源池

    以虛擬化的方式,提供應用執行平臺所需的硬體資源,基於IaaS;

  • 平臺交付元件

    根據部署或調整策略,通過部署或調整軟體及 APR 硬體資源池來建立或調整應用執行平臺;

  • 執行時控制組件

    根據執行策略和實際執行狀況動態調整 ARP 資源池,並向平臺交付元件動態提供調整策略。

SaaS

Software-as-a-Service(軟體即服務)

雲端計算的第三層也就是所謂SaaS。這一層是和你的生活每天接觸的一層,大多是通過網頁瀏覽器來接入。任何一個遠端伺服器上的應用都可以通過網路來執行,就是SaaS了。
你消費的服務完全是從網頁如Netflix, MOG, Google Apps, Box.net, Dropbox或者蘋果的iCloud那裡進入這些分類。儘管這些網頁服務是用作商務和娛樂或者兩者都有,但這也算是雲技術的一部分。
一些用作商務的SaaS應用包括Citrix的GoToMeeting,Cisco的WebEx,Salesforce的CRM,ADP,Workday和SuccessFactors。

PaaS還是發展的初期,但是SaaS已經紅火數年了。包括的服務有CRM OA ERP等。PaaS和SaaS的發展情況主要取決與企業是技術驅動or業務驅動。

Caas

Communications-as-a-Service(通訊即服務)

CaaS是將傳統電信的能力如訊息、語音、視訊、會議、通訊協同等封裝成API(Application Programming Interface,應用軟體程式設計介面)或者SDK(Software Development Kit,軟體開發工具包)通過網際網路對外開放,提供給第三方(企業、SME、垂直行業、CP/SP以及個人開發者等等)使用,將電信能力真正作為服務對外提供。
也被稱為雲端計算的第四種業務形式,目前國內華為已經在著手在建立CaaS的生態圈。

MaaS

Machine as a Service(物聯網即服務)

這個概念伴隨著物聯網產生,物聯網常見的兩種業務形式就是MAI與MaaS,因此MaaS屬於物聯網業務形式的一種。
隨著物聯網業務量的增加,對資料儲存和計算量的需求將帶來對“雲端計算”能力的要求:
雲端計算:從計算中心到資料中心在物聯網的初級階段,PoP即可滿足需求
在物聯網高階階段,可能出現MVNO/MMO營運商(國外已存在多年),需要虛擬化雲端計算技術,SOA等技術的結合實現物聯網的泛在服務: TaaS (everyTHING As A Service) 。

服務

不管是xxx as a service,雲端計算的目標便是提供服務。IaaS對硬體資源進行抽象,PaaS對執行時進行抽象,SaaS對軟體進行抽象。更加合理的利用硬體,計算機即軟體資源。抽象並不代表就不存在了,只不過對使用者來說,服務是個黑盒,服務內部對使用者是透明的,使用者不再需要去關心服務範疇內的任何事情了。
比如:你去4S店修車,你只要申請這個服務,車就可以修好了。就是這麼簡單。