常 虹 吳湘寧 羅勛鶴 彭建怡 劉遠興
(1.中國地質大學(武漢)實驗室與設備管理處,湖北 武漢 430074;2.中國地質大學(武漢)計算機學院,湖北 武漢 430078)
虛擬化指對計算、存儲、網絡等物理資源進行抽象的技術。云計算是指通過網絡(包括Internet和企業內部的Intranet)以按需、易擴展的方式獲得所需的硬件、平臺、軟件及服務等資源的技術,是并行計算、分布式計算和網格計算等技術進化發展并商業化的產物。提供共享資源的網絡平臺被統稱為“云”,云的資源通常是由分布式的大規模物理集群提供,并通過虛擬化技術統一管理、分配和調度。
工信部2018年印發的《推動企業上云實施指南(2018-2020年)》指出,云計算是信息技術發展和服務模式創新的集中體現,是信息化發展的重大變革和必然趨勢。支持企業上云,有利于推動企業加快數字化、網絡化、智能化轉型[1]。
云計算被視為科技產業的下一次革命,它將帶來企業工作方式和商業模式的根本性改變。企業上云后,可以極大地減少信息系統的運營和維護成本、合理調整高低峰運營負荷,并可運用大數據、人工智能等云上服務來實現業務拓展。因此,在數字化、智能化的主旋律下,越來越多的企業選擇上云,希望借助云計算技術來實現企業的轉型,并迎接工業4.0時代的到來。德意志銀行的投資分析報告顯示,中國有84%的企業有意愿上云,許多企業已經關閉線下的IDC(互聯網數據中心),轉而遷移到云平臺。
國內外云計算市場呈現出繁榮之勢,知名市場調研機構Gartner的數據顯示:云計算已經成為增長最快的科技領域,整體增長速度為25%。2015-2019年,全球云計算行業市場規模逐年擴張。2019年全球云計算行業市場規模達1710億美元,同比增長22.8%。預計到2021年,市場規模將突破2400億美元。而從中國市場來看,前瞻產業研究院發布的統計數據顯示,中國云計算行業市場規模呈現逐年快速增長態勢,而且增速快于全球水平。預計2021年中國云計算行業市場規模將達到1858億元[2]。

圖1 2015-2021年全球及中國云計算產業規模及預測
虛擬化與云計算技術被視為IT界的一次革命,使用虛擬化技術可提高資源的利用率,實現在線資源擴展、自動負載均衡、高可用,以及業務不間斷維護,給企業的工作方式和商業模式帶來了根本性改變。近年來,虛擬化與云計算產業進入高速增長階段,社會對掌握虛擬化與云計算技術專業人才的需求呈現空前增長態勢。據工信部統計預測,未來3年我國虛擬化與云計算產業人才的需求將呈現每年數十萬的缺口[2]。
隨著以大數據、人工智能等為代表的“新工科”建設行動在全國高校的展開,教育部不斷加快新型IT技術緊缺人才的培養布局,2018年10月發布的《教育部關于加快建設高水平本科教育全面提高人才培養能力的意見》指出:深化高校本科專業供給側改革,建立健全專業動態調整機制,主動布局集成電路、人工智能、云計算、大數據、網絡空間安全等戰略性新興產業發展和民生急需相關學科專業[3]。云計算技術在一流專業建設中的重要性開始顯現,越來越多的高校根據“新工科”建設需要,圍繞國家戰略性新興產業對云計算人才的需求,與企業和地方共同搭建虛擬化和云計算人才培養的實踐體系。
云計算的服務類型從低到高分為IaaS(Infrastructure as a Service,基礎設施即服務)、PaaS(Platform as a Service,平臺即服務)、SaaS(Software as a Service,軟件即服務)三層。IaaS 是最底層云服務,提供一些基礎資源服務。PaaS 提供軟件研發平臺,開發人員只需要關注業務邏輯的實現,不需要關注底層軟硬件實現。SaaS 是用戶將軟件的部署、運行、管理都交給云平臺,軟件可以拿來即用,自己只需關心業務數據,而不需要關心技術問題。
從“云”的部署類型來看,云計算可以分為公有云、私有云和混合云三種形態。公有云指由云供應商提供的面向公眾開放租售的大規模云系統。私有云是企業獨立擁有或獨立承租的云系統,通常部署在企業數據中心的主機托管場所,位于防火墻內。私有云極大地保障了云平臺的安全,但是需要穩定的云平臺部署場地,以及一支比較專業的云平臺硬件、軟件維護隊伍,并需要不菲的運維費用。混合云是公有云和私有云的結合,并可實現公有云和私有云之間數據及應用的移動和互通。通常企業將敏感數據放在私有云,而公有云則用來存放公開數據,或是用來做災備或負載高峰時的擴充。
提供公有云服務的有阿里云、華為云、騰訊云、百度云、亞馬遜AWS、微軟Azure、谷歌GCP等平臺。可實現私有云的有OpenStack、CloudStack、KVM、Xen、Hyper-V、Docker(容器)等開源平臺和軟件,以及VMware、Citrix(思杰)等商業軟件。當前,中國的公有云和私有云的市場規模都呈逐年快速遞增的態勢(見圖2)[2]。

圖2 2015-2021中國公有云和私有云市場規模及預測
云計算已經形成了非常完整的產業鏈。產業鏈的上游企業主要是云計算基礎設施提供商,可以分為三種:軟件基礎設施提供商,提供操作系統、數據庫、虛擬化、信息安全等產品;硬件基礎設施提供商:提供芯片、服務器、儲存等產品;網絡基礎設施提供商:提供網絡設備、通信運營等產品或服務。產業鏈的中游企業主要是云供應商,包括前面提到的公有云服務商,有些公有云供應商也提供企業私有云的定制服務。產業鏈的下游企業主要提供云計算的延伸產業或增值服務,包括云計算規劃咨詢、云計算實施/交付/外包、云計算系統集成、云計算運維、行業解決方案等服務商,以及云計算終端設備提供商。

圖3 云計算產業鏈
由圖3可見,云計算產業鏈的上、中、下游企業及最終用戶單位都需要云計算的專業人才,市場對云計算人才的需求量大。
云計算相關的職位可大致分為:云系統架構師、云應用開發工程師、云平臺部署及運維工程師。云架構師扮演系統分析角色,主要為企業提供云平臺的解決方案,以及實施路線圖。云應用開發人員主要是在特定的云平臺上開發各類應用系統。云平臺部署及運維人員則負責云平臺的配置、部署、運行及維護,表1列出了各類云計算相關職位的角色定位、主要職責及需要具備的專業能力。
根據賽迪的統計,云系統架構師、云應用開發工程師崗位所需掌握的專業知識和技能方面要求更高,多為云計算產業鏈中上游企業的研發類崗位,約占人才總需求的30%,比較適合于本碩畢業生。而云平臺部署及運維工程師崗位則需要技能型、應用型的技術人才,多為云計算產業鏈中下游企業的工程類崗位,約占人才總需求的70%,比較適合于專科畢業生。此外,云計算最終用戶單位內部也有一定的崗位需求,隨著上云單位的不斷增加,這些單位提供的公有云及私有云的管理及應用崗位數量也相當可觀。
由于很多企業采用混合云架構,因此云計算人才不但要掌握私有云的部署及管理技能,而且需要了解公有云市場主要產品的性能,并需要具備能夠有效地對企業的混合云進行規劃和設計的能力(見表2)。

表1 云計算相關崗位的職責及能力要求

表2 虛擬化及云計算人才的知識技能要求
云計算環境具有設備復雜及軟件配置多樣的特點,因此,在開展虛擬化及云計算實驗時,應盡可能地模擬各類不同的場景,例如模擬私有云、公有云、混合云等多種架構,并盡可能包含IaaS、PaaS、SaaS三個層面的實際操作環境。
在制定實踐培訓內容時,要考慮內容的實用性,不但要有基礎的、驗證型實驗,也要有工程應用型的綜合實驗。云計算的實踐培訓體系可分為“云計算基礎”“云平臺管理及服務”和“云應用實戰”三個部分(見圖4)。
在開展云計算實訓之前,受訓人員必須具備一定的計算機科學、編程語言等方面的基礎知識。云計算實踐培訓體系的第一個層次,即云計算基礎部分,必須提供Linux、高級語言編程、傳統關系型數據庫、網絡存儲(常用來存儲ISO鏡像、虛擬機鏡像、虛擬機快照)等基礎實驗。第二個層次,即云平臺管理及服務部分,需包含Xen、KVM、Docker等開源Hypervisor及VMware、Ctrix等商業化Hypervisor平臺的管理及服務,以及主流開源云計算平臺OpenStack的keystone、nova、glance、swift、ceilometer、cinder、heat、Horizon、Trove、Neutron等經典組件實驗[4,5],OpenStack(及CloudStack)具有高可用性及擴展性,支持大部分主流的Hypervisor,甚至可以訪問Amazon EC2那樣的公共云服務,是最具代表性的云計算平臺。受訓人員將重點掌握資源調度、虛擬機及鏡像管理、安全管理等云平臺基本運維技術,以及虛擬機動態遷移、高可用性(High Availability,HA)等云平臺高級運維技術。第三個層次,即云應用實戰部分,通過阿里云等公有云的配置及管理實驗,以及結合具體行業應用的企業SaaS服務實訓項目,可幫助受訓人員了解如何將云平臺部署于生產環境。此外,通過大數據的入門實驗以及NoSQL數據庫實驗,幫助受訓人員理解云計算和Hadoop大數據平臺、NoSQL數據庫的結合機制[6]。表3是虛擬化及云計算主要培訓項目組的示例。

圖4 云計算實踐培訓體系

表3 虛擬化及云計算主要培訓項目組示例
云計算實踐培訓環境是一種非常典型的分布式應用,需要架設在物理機集群之上,單機是無法開展云計算實驗的。然而,為每位受訓人員配置幾臺物理機作為實驗平臺并不現實。以30個受訓人員為例,當一個受訓人員開展OpenStack實驗時,簡單的OpenStack集群至少應包含一個控制節點(Controller)、一個計算節點(Compute)、一個網絡控制節點(Network),30個受訓人員總共需要90臺物理機才能開展實驗,顯然成本過高,而設備的利用率卻很低,設備的維護也比較困難。
為了解決這個問題,可以在云計算技術自身尋找答案,也就是利用虛擬化技術,構建基于云平臺的云計算實踐環境。

圖5 基于云平臺的云計算實踐培訓環境的物理構成
圖5是基于云平臺的云計算實踐培訓環境的物理構成,私有云控制節點采用虛擬化技術統一調度私有云計算集群的物理資源,生成的虛擬機在私有云計算集群的內部運行,受訓人員終端通過網絡訪問和使用這些虛擬機。每個受訓人員可以申請多臺虛擬機,并將這些虛擬機通過虛擬網絡連接成虛擬機集群,受訓人員可以用虛擬機集群來虛擬仿真云計算物理機集群(如前面所說的OpenStack集群),并在其基礎上進行第二次虛擬化來開展云計算實驗。
圖6 是云計算實踐培訓環境的邏輯結構,底層是物理集群的物理硬件資源,包括CPU資源、存儲資源、網絡資源。再上一層便是Hypervisor,負責將所有的硬件資源虛擬化并放入統一管理和分配的虛擬資源池,然后通過第一次虛擬化,對受訓人員開展實驗所需要的資源進行定制和封裝,打包成云計算實驗所需的虛擬集群及虛擬網絡,再通過網絡分發給受訓人員使用,此時,受訓人員可以通過第二次虛擬化,創建自己的實驗云。
這種二次虛擬化的方法,可以極大地提高設備的利用率,而且可以保證受訓人員創建的實驗云不會相互干擾。兩次虛擬化可以使用不同的Hypervisor框架。以30個受訓人員為例,使用4~6臺物理服務器(含一臺控制節點、其余為計算節點)構建一個實驗云平臺,可虛擬出90臺虛擬機供30個受訓人員使用,每個受訓人員可分得3臺虛擬機,并在這3個虛擬機上開展KVM等虛擬化和云計算實驗。

圖6 云計算實踐培訓平臺的邏輯結構
近些年,隨著云計算產業鏈的不斷完善,以及云計算市場的快速增長,社會對虛擬化與云計算人才的需求量也出現了爆發式增長。云計算不同職位對人才的能力要求及知識技能要求是不同的,培養虛擬化與云計算人才的最重要環節就是鍛煉其實際動手能力,因此,合理設計云計算的實踐培訓體系及實踐培訓項目,并建設云計算的實踐培訓環境就變得尤為重要。在開展虛擬化與云計算的實踐培訓時,第一次虛擬化可為受訓人員分配所需的多臺虛擬機資源,受訓人員再通過第二次虛擬化構建自己的小型實驗云環境。