- 智能制造系統及關鍵使能技術
- 唐敦兵等主編
- 5604字
- 2022-05-06 17:05:00
4.3 云計算的服務類型
在云計算中,一切都被視為服務,包括軟件即服務(Software as a Service,SaaS)、平臺即服務(Platform as a Service,PaaS)和基礎設施即服務(Infrastructure as a Service,IaaS)。這些服務為云計算定義了一個分層的系統結構。云計算:一切皆服務如圖4-3所示。

圖4-3 云計算:一切皆服務
基礎設施層(IaaS層)提供網絡、服務器、存儲等硬件,并且將這些計算資源標準化。中間層(PaaS層)主要提供軟件安裝、數據存儲工具、系統的資源、平臺的維護等。應用程序層(SaaS層)主要提供完整、可使用的應用程序。頂部的用戶界面層可以與這三層無縫交互。
4.3.1 基礎設施即服務(IaaS)
IaaS指把IT基礎設施作為一種服務通過網絡對外提供,并根據用戶對資源的實際使用量或占用量進行計費的一種服務模式。用戶不需要自己搭建硬件系統,只需要在服務商這里租用即可。
IaaS的特點如下。
1)租賃
當用戶租用基礎設施服務時,用戶可以隨時訪問其租用的物理資源,但是該物理資源仍然被存放在服務商的數據中心。用戶可以根據自己的需要,租用不同時間的服務并支付費用。
2)自助服務
用戶可以通過自助的形式來租取自己需要的資源。服務商通過一定的自主服務手段,而不需要依靠IT。通過一個自助服務界面,可以輕松處理多個重復性任務。
3)動態縮放
當資源能按照工作負載或任務需求自動伸展或收縮時,這就稱為動態縮放。當用戶的需求提高,需要更多的資源時,服務商可以立即提供給用戶。
4)計量
計量確保用戶能按照他們需要的資源和使用收費。從實例的啟動開始計費,到實例的終止結束。除了這些基本費用,服務商還可以對額外的服務收費。
4.3.2 平臺即服務(PaaS)
把服務器平臺作為一種服務提供的商業模式,通過網絡進行程序提供的服務稱之為SaaS,而云計算相應的服務器平臺或者開發環境作為服務進行提供就成為了PaaS。其提供的開發環境通常包括彈性計算服務、虛擬化、云存儲服務、云計算網絡技術、CDN技術、容器服務等。
1)彈性計算服務
彈性計算是指用戶根據實際業務或者計算需要,靈活地購買計算資源。相較于主機托管模式,它最大的優勢在于實現了按需收費。以前用戶會基于自己最大的容量進行付費,這會導致自己使用的服務器并沒有得到充分利用。彈性計算提供的服務具有更高的可用性,而且收費方式較為簡單,用戶只為自己需要的部分買單。
2)虛擬化
通過彈性計算的方式計算出用戶需要服務器的性能后,需要生成一個相應性能的服務器來供用戶使用,這就需要通過虛擬化技術來實現。虛擬化(Virtualization)技術是為一些組件(如虛擬應用、服務器、存儲和網絡)創建基于軟件的(或虛擬)表現形式的過程。
虛擬化是實現云計算的一種手段。當用戶需要計算資源時,會向云服務器申請資源,云服務器會以虛擬機的形式提供資源。因為我們已經將資源池化了,當用戶申請計算資源時,云服務器就會從CPU池、內存池、磁盤池等硬件池中取出用戶所申請的資源,并將它們封裝成一個虛擬機提供給用戶使用。從用戶的角度上看,一個虛擬機就是一個完整的操作系統,完全可以把它當作一臺物理服務器去使用。
虛擬化就是實現虛擬機的技術,它與我們常用的PC機上的虛擬化軟件不同。云計算的虛擬化是針對多臺物理服務器進行管理,而不是針對一臺服務器或PC機。虛擬化將其封裝成虛擬機對外提供服務,每臺虛擬機封裝有一定的硬件資源,而且各個虛擬機的資源是相互隔離的。
虛擬化的優勢如下。
(1)可以提高IT敏捷性、靈活性和可擴展性。
(2)大幅節約成本。
(3)有更高的工作負載移動性。
(4)有更高的性能和資源可用性。
(5)自動化運維。
3)云存儲服務
云存儲是指通過網絡技術或分布式文件系統等功能,將網絡中大量各種不同類型的存儲設備通過應用軟件集合起來協同工作,共同對外提供數據存儲和業務訪問功能的系統。它是從云計算概念上延伸和發展的,是一種新興的網絡存儲技術。其具有如下優勢。
(1)實現了自動化和智能化。雖然現實中的存儲資源是分散的,但是云計算將存儲資源整合到一起。從用戶的角度來看,它只是一個完整的存儲空間,與普通的網盤無異。
(2)提高了存儲效率。由于應用了云計算技術,因此解決了存儲空間的浪費問題,同時既增加了空間利用率,又兼具負載均衡等功能。
(3)彈性擴展。用戶可以根據自己要存儲的數據量需求來使用云存儲服務,避免資源浪費。
網盤,也可以稱為網絡硬盤,是由互聯網公司推出的在線存儲服務,服務器機房為用戶劃分一定的磁盤空間,為用戶提供文件的存儲、訪問、備份、共享等文件管理功能。網盤與云存儲的不同之處如下所述。
(1)存儲技術不同。傳統網盤上傳的資料與服務器空間是一對一的關系。相較于云存儲供應商,網盤供應商需要更高的硬件配置。
(2)存儲安全性不同。傳統網盤一般僅在單一服務器上存儲數據,如果由于意外發生服務器故障,數據基本無法找回。對于云存儲來講,如果不是整個數據中心出現故障,數據是不會遺失的。
(3)產品功能差異。云存儲與傳統網盤最大的差異在于同步功能。云存儲可以同步不同設備的數據,這在一人多設備的時代具有極大的優勢。傳統網盤最多具有共享功能,無法滿足數據遷移等要求。
4)云計算網絡技術
對于云計算來講,其主要思想就是將各種物理資源進行池化,通過網絡將池化后分散的虛擬資源整合起來,對外提供服務。因此,云計算網絡有兩個任務:一是將資源池變成一個虛擬資源;二是將所有位置的用戶與這些資源相連接。為了完成任務,云計算網絡必須滿足以下功能。
(1)在需要時增加和降低帶寬。
(2)低延遲的吞吐能力。
(3)服務器之間無阻斷連接。
(4)延伸到企業和提供商網絡中。
(5)能在不斷變化的環境中始終提供可見性。
云計算網絡技術的解決方案有很多,本章以虛擬局域網和覆蓋網絡為例進行簡要闡述。
(1)虛擬局域網(Virtual Local Area Network,VLAN)。
VLAN是一組邏輯上的設備和用戶,這些設備和用戶并不受物理位置的限制,可以根據功能、部門及應用等因素將它們組織起來,相互之間的通信就好像它們在同一個網段中一樣,VLAN就是由此得名的。
不足:面臨云計算虛擬化環境,物理服務器上可能運行著多個租戶的虛擬機,導致出現一個端口映射了多個VLAN,租戶的數量會超過VLAN標簽的最大值,導致VLAN方法的失效。
(2)覆蓋網絡(Overlay Network)。
Overlay在網絡技術領域指的是一種網絡架構上疊加的虛擬化技術模式,其大體框架是對基礎網絡不進行大規模修改的條件下,實現應用在網絡上的承載,并能與其他網絡業務分離,并且以基于IP的基礎網絡技術為主。Overlay技術是在現有的物理網絡之上構建一個虛擬網絡,上層應用只與虛擬網絡相關。
最常見的Overlay技術是VPN。通過MAC-in-MAC、IP-in-MAC、MAC-in-IP、IP-in-IP的形式,將虛擬機的數據封裝起來,然后通過數據包最外面的MAC或者IP地址,完成數據的路由轉發功能,在到達目的服務器時,將數據包拆解,保留內部的數據信息,并根據真正的地址信息,轉發給目的虛擬機。
不足:需要網絡邊緣的設備支持相應的Overlay技術,并且包裝與解封需要大量的計算能力,在網絡流量較大時,會影響物理機的性能,進而影響虛擬機的性能。
5)CDN技術
CDN即內容分發網絡,其目的是通過在現有的互聯網中增加一層新的網絡架構,將網站的內容發布到最接近用戶的網絡“邊緣”,使用戶可以就近取得所需的內容。從技術上全面解決由于網絡帶寬小、用戶訪問量大、網點分布不均等原因,導致的用戶訪問網站的響應速度慢等問題。CDN技術的工作流程如圖4-4所示。

圖4-4 CDN技術的工作流程
使用CDN技術的好處如下。
(1)快速訪問。使用了CDN技術以后,用戶可以通過其附近的CDN節點,來訪問自己的應用。
(2)成本降低。CDN技術所需要的成本相對于傳統服務器會大大降低。
(3)用戶體驗的提升也會大大提高應用的使用流量、使用頻率等,提高應用的知名度。
6)容器服務
前面我們已經介紹了虛擬化,用戶在使用虛擬化一段時間后,會發現它存在一些問題:虛擬機雖然可以完全隔離一個主機的不同程序,但其資源浪費是巨大的;而且對于整個虛擬機來講,其運行環境也是獨立的,這對應用程序的遷移帶了巨大的麻煩。為了解決以上問題,引入了容器的概念。容器是一種輕量的虛擬化,它和虛擬機最大的區別在于,容器是進程級的隔離。虛擬機和容器特性對比如表4-1所示。從本機的角度來看,運行容器就是在運行一個進程,其消耗的資源比虛擬機要少得多。容器身處的運行環境和主機的主體運行環境是一致的,對數據遷移工作等提供了很大的便利。虛擬機和容器的對比如圖4-5所示。
表4-1 虛擬機和容器特性對比

續表


圖4-5 虛擬機和容器的對比
容器的優點如下。
(1)快速敏捷。容器創建示例快,消耗資源少,支持腳本快速批量創建,減小資源成本。
(2)提高生產效率。每一個容器都有自己的服務,服務之間是相互獨立互不關聯的,因此單個服務的技術升級不會影響到其他服務。
(3)層級控制。容器應用了分層技術,其主要思想是更新后的服務不是開啟了新的服務,而是基于先前版本的迭代,由此可以提高服務部署的效率。當最新版本出現異常時,也可以通過回滾到歷史版本,來減少損失。
(4)運行環境可移植。容器的主體運行環境和主機環境相差無幾,同時自身又封裝了示例本身所需的特殊配置,這為服務的移植提供了極大的便利。
(5)標準化。容器開發遵循當前國際標準,可以在目前主流系統中運行。
(6)安全。容器是進程程度上的隔離。單個容器進行更新或出現問題不會影響到其他毫無關聯的容器。
容器的缺點如下。
(1)復雜性增加。因為容器更加小巧,所以會導致容器部署的數量增加,復雜性上升。盡管目前已經出現了相關應用程序來輔助管理容器,但對于運維來講是一個巨大的考驗。
(2)原生Linux支持。大多數容器技術是基于Linux系統的,在其他系統中使用會產生一定的問題。
(3)不成熟。容器作為一門新興技術,需要一定的時間來獲取外界的認可。同時也需要更多的時間來進行完善。
7)PaaS應用產品
目前市面上有很多PaaS平臺,其中以Docker和Kubernetes最為流行。
(1)Docker。
Docker是dotCloud開源的高級容器引擎,它具有容器所有的基本優勢,如快速敏捷、安全隔離等。對于Docker來講,它能夠持續火爆的原因在于它的鏡像設計,如圖4-6所示。
一個Docker容器分為只讀部分和讀寫部分。只讀部分包括很多只讀層,其中包含了一個容器的最基本配置,被稱為鏡像。在鏡像的外面還有一層讀寫層,我們需要的特殊環境需求就被寫到這一層中。因此,無論開發人員對容器進行什么操作,都不會影響Docker的鏡像層。

圖4-6 Docker的鏡像設計
Docker更像個微創新者,但是解決了最大痛點,它為服務從發布到構建再到運行的問題提供了更多的解決方案。
(2)Kubernetes(K8s)。
Kubernetes是一種容器集群管理系統。它構建于Docker技術之上,為容器化的應用提供資源調度、部署運行、服務發現、擴容、縮容等一整套功能。在Docker的基礎上,Kubernetes更加注重與容器編排等運維相關的問題,主要功能包括:啟動容器、自動化部署、擴展和管理容器應用、回收容器。Kubernetes還能監控容器內的運行狀況、容器間的聯系狀況等。
4.3.3 軟件即服務(SaaS)
軟件是這樣一種產品,它被制造出來,用于滿足很多過去有人想到的,甚至沒有人想到的需求。那么不同的軟件,其實是滿足不同的的需求。能否把握、了解、分析、滿足這些需求,甚至于創造、激發出過去沒有的需求,這是某一軟件企業的生命力所在。SaaS提供商為企業搭建信息化所需要的所有網絡基礎設施及軟件、硬件操作平臺,并負責所有前期的實施、后期的維護等一系列服務。企業不再需要自行選購軟硬件設備、建設機房、招聘IT人員,直接以互聯網的形式登陸、使用信息系統。因此,SaaS服務模型被中小型企業所青睞。
在云制造模式中,SaaS指通過瀏覽器、應用程序或小程序等形式,為平臺用戶提供具有特定功能的服務入口,如面向用戶個性化需求的制造資源匹配、高端裝備的健康管理等。
1)通用SaaS與行業SaaS
SaaS可以分為通用SaaS和行業SaaS兩種。通用SaaS主要提供通用軟件產品,不受不同產業的限制,如北森的HR產品等。行業SaaS主要提供在特定行業使用的軟件產品,對行業具有一定的針對性,如客如云的餐飲企業SaaS等。
一般來講,通用SaaS是針對通用群體的特定業務,行業SaaS是針對一個行業內的多個業務。
2)工具SaaS與商業SaaS
工具SaaS主要是為用戶提供一個方便高效的使用工具,這和傳統軟件的價值一致,它的優勢主要體現在按時間收費的機制和軟件產品的更新換代兩個方面。
商業SaaS和工具SaaS的出發點不同。商業SaaS的目的是幫助企業提高應收。工具SaaS主要在既有服務的基礎上提高效率,商業SaaS是提供更多的服務。商業SaaS是一種在模式上的創新,具有的風險也比工具SaaS大得多,因此目前來講,工具SaaS占有著更多的市場份額。
SaaS產品分類如圖4-7所示,用實心圓的大小代表市場上該類型SaaS產品的數量。

圖4-7 SaaS產品分類
3)SaaS應用產品
(1)Salesforce.com。
它是典型的SaaS應用程序,Salesforce提供的用戶關系管理解決方案使得企業能夠在平臺內收集有關用戶和潛在用戶的信息,使授權員工可以隨時訪問任何連接設備上的關鍵數據。
(2)Microsoft Office 365。
Word、Excel和PowerPoint等Microsoft應用程序是工作場所中的主要工具,但基于云的Microsoft Office 365極大地擴展了Office套件的參數。現在用戶可以實時創建、編輯和共享任何PC、Mac、iOS、Android或Windows設備上的內容,并支持在任何位置通過一系列工具(從電子郵件到視頻會議)與同事、客戶進行協作。
(3)Box。
該在線工作空間使專業人員可以隨時隨地與任何人協作。用戶可以通過傳統鏈接或自定義URL安全地共享大型文件,通過權限和密碼來保護數據和文檔。Box支持120多種文件類型,用戶可以在下載之前預覽內容。所有內容共享、編輯、討論和批準僅限于一個集中文件,用戶在編輯時會收到實時通知。Box還可以自動完成員工入職和合同審批等任務,減少重復和縮短審核周期。
(4)Google Apps。
Google公司很久以前已經擴展到其搜索和廣告根源之外,為企業提供了一套全面的生產力工具。Google Apps包括自定義專業電子郵件(包含垃圾郵件保護)、共享日歷、視頻會議及Google云端硬盤。作為基于云的文檔存儲解決方案,Google云端硬盤可讓員工在任何設備訪問文件并立即與同事共享,從而解決了電子郵件附件及合并不同版本帶來的問題。
(5)Amazon Web Services。
亞馬遜也已經超越其核心電子商務平臺,支持按需提供基于云的IT資源和應用程序,并通過按需付費定價選項加以支持。目前Amazon Web Services包含計算、存儲、網絡、數據庫、分析、部署、管理和物聯網工具等70多種服務。
- 零起步輕松學單片機技術(第2版)
- 大數據戰爭:人工智能時代不能不說的事
- R Data Mining
- PostgreSQL 11 Server Side Programming Quick Start Guide
- 基于LPC3250的嵌入式Linux系統開發
- Cloud Analytics with Microsoft Azure
- Apache Hive Essentials
- Visual C# 2008開發技術詳解
- Windows程序設計與架構
- TensorFlow Reinforcement Learning Quick Start Guide
- Linux內核精析
- 水晶石影視動畫精粹:After Effects & Nuke 影視后期合成
- Linux系統下C程序開發詳解
- 步步驚“芯”
- 手把手教你學Flash CS3