金永霞
(河海大學 物聯網工程學院,江蘇 常州 213022)
云計算技術與應用課程的實驗教學探索與實踐
金永霞
(河海大學 物聯網工程學院,江蘇 常州 213022)
對云計算技術專業人才的培養是近年來高校本科教學的一個熱點問題,云計算技術是一門以實踐為中心的課程,實驗教學對培養學生的云計算設計和應用能力具有重要作用。文章從實驗平臺建設、實驗內容設計、實驗模式改革、創新實踐能力培養等方面對云計算課程的實驗教學進行有益的探索,旨在提升實驗教學質量,有效訓練學生對云計算環境的認知、分析、設計和運用能力。
實驗教學;云計算實驗平臺;實驗模式;實踐創新
云計算技術是近年來計算機和互聯網領域的研究熱點,云計算技術的迅速發展對高校培養高素質復合型和創新型工程技術人才提出新的要求,因而云計算課程正逐漸成為電子信息類專業的核心課程。目前,國內各高校根據自己的實際情況,開設云計算相關的課程,在培養云計算專業人才方面進行探索和實踐[12]。為促進學生掌握云計算相關技術,培養學生的云計算設計和應用能力,河海大學在物聯網工程專業開設云計算技術與應用課程,主要介紹云計算的基本理論、關鍵技術以及云系統的架構和應用。課程的目標是讓學生了解云計算的解決方案,掌握云計算的服務模式,并在此基礎上通過實踐部署云平臺,進而在云平臺上構建相關云應用。由于云計算是來源于互聯網企業的一項綜合性技術,是虛擬化、分布式計算、并行計算、負載平衡等多種計算機和網絡技術發展融合的成果,云計算技術的實踐性、時代性與發展性,決定云計算是一門以實踐為中心的課程,因此實驗環節對整個課程的教學質量起至關重要的作用。筆者對云計算技術與應用課程的實驗教學進行探索和實踐,通過構建實驗平臺、優化實驗內容、創新實驗模式、強化綜合設計訓練等措施,幫助學生掌握云計算的理論知識和實用技術,使學生在未來的就業市場更有競爭實力。
為了給云計算課程的教學和實踐提供實驗環境支持,筆者采用“IBM OpenStack Solution for System X”云平臺解決方案設計企業級私有云架構[3],構建基于OpenStack的云計算實驗平臺并在其上部署虛擬桌面、分布式計算等應用環境,按實驗需求分配基礎設施資源,提供實驗教學的軟硬件環境支持。OpenStack是一整套云計算開源軟件項目的綜合,旨在為公共及私有云的建設與管理提供軟件,實現基礎設施級的資源配置。基于OpenStack的云計算實驗平臺根據用戶需求快速創建實驗環境,為云計算課程以及其他物聯網專業課程提供應用開發和環境管理服務。云計算實驗平臺框架如圖1所示。
云計算實驗平臺的物理設施資源包括網絡、計算和存儲設備等,通過使用虛擬化技術KVM對底層硬件進行虛擬化,形成統一的虛擬資源池[4]。云計算實驗平臺中部署了OpenStack的核心服務組件,包括存儲服務、計算服務、鏡像服務、認證服務、網絡服務等,以提供實驗所需的軟硬件資源管理;同時還配置了開源的網絡資源監控工具Ganglia和 Nagios,對云平臺的運行狀況及性能進行實時監控。Nagios用于監控云平臺的主機、網絡和服務狀態,Ganglia用于監控系統資源負荷情況。

圖1 云計算實驗平臺框架
在基于OpenStack的云實驗平臺下配置常用的云應用工具,如數據庫、桌面云系統、分布式數據處理和存儲平臺Hadoop等。桌面云系統為實驗教學提供一種自主創建和管理虛擬機實驗環境的方式,采用VDI(virtual desktop instructure,虛擬桌面架構)模式構建。云實驗平臺將實驗所需的軟件環境制作為鏡像,需要時再利用這些鏡像創建虛擬機,學生只需獲得使用權限,通過桌面云登錄到虛擬機,就可獲得所需的實驗資源。云實驗平臺下的Hadoop應用環境為分布式數據處理的相關實驗以及專業工程實踐提供環境支持和展示服務;在OpenStack云平臺中部署Hadoop,不僅能充分利用云平臺中未被利用的計算資源,最大限度地提高服務器資源利用率,還可簡化Hadoop集群的部署工作,大大提高實驗環境的部署效率。
云計算實驗教學的目標是引導學生動手對云平臺進行操作和配置,加深理解云計算的理論和架構并掌握一些云應用構建和部署的經典技術,最終能夠利用云平臺開發各種應用。圍繞這個目標,河海大學與IBM公司合作共同建設云計算技術與應用課程,設計云計算實驗的關鍵內容和實驗項目,幫助學生對所學理論和技術建立完整的知識體系;在教學實施過程中通過IBM公司提供技術支持和平臺支持、教師參加IBM的云計算技術培訓等各種方式,積極吸收云計算企業的前沿科技成果;充分利用IBM公司提供的云平臺資源實施相關的實驗項目,設計IaaS、PaaS以及SaaS相關的實驗項目并持續完善課程教學內容,優化課程體系。
在IaaS級別上的實驗項目主要是對開源云平臺OpenStack的部署和應用。通過安裝和配置OpenStack核心組件,學生可以深入理解基礎設施云架構,從而理解怎樣構建公有云和私有云;學生采用腳本安裝或源碼安裝方式搭建一個多節點的OpenStack云平臺,安裝OpenStack的主要組件服務并對OpenStack云平臺實現基本的操作管理,掌握IaaS平臺對基礎設施資源的分配和使用模式。
在PaaS級別上的實驗項目包括Hadoop以及IBM BlueMix平臺的應用。學生通過搭建一個Hadoop集群的分布式計算平臺,熟悉其核心組件,同時自主研究大數據分析算法,對現實中海量數據處理場景進行分析,并在Hadoop集群環境中處理實現。BlueMix是IBM公司推出的PaaS公用平臺,學生在BlueMix平臺配置開發環境,可以實現移動應用、Web應用、大數據應用和物聯網應用的開發和部署[5],通過自主研發和實踐操作理解云計算PaaS平臺的可靠、高效以及高可伸縮的處理特點。
在SaaS級別上,以IBM Worklight開發環境為核心,將云計算和移動開發相結合,設計海量并發移動應用開發等案例。這些實驗內容的設置,旨在通過實踐教學結合行業云應用案例,幫助學生掌握云應用的特點以及構建、部署、運行和管理云應用的相關技術。學生通過實驗可以了解虛擬化、集群管理、云平臺資源分配、云應用部署和發布等多種技術內容,加深對云平臺層次模型的理解,提高云平臺的實踐技能。
教師在實驗教學實施過程中不斷完善和補充實驗項目,結合物聯網專業的其他實驗教學平臺,開發與工程訓練與工程應用相關的實驗項目,如與移動流媒體應用開發實驗平臺相結合,在云計算平臺部署后端移動視頻直播服務器,實現手機視頻即拍即傳、手機視頻直播和點播播放功能,設計基于云平臺的實時移動視頻應用實驗項目,作為開放性實驗發布。
在實驗教學中,教師可不斷豐富教學資源,對實驗素材進行整理和測試并補充完善相關的理論知識,編著出版針對本科生層次的云計算實踐教程,使學生能夠在教程的指導下獨立完成實驗項目;同時對課程進行在線課堂建設,整合包含視頻、PPT、文字等多種媒體形式的實驗素材,實現優質資源共享。由于云計算技術發展迅速,平臺更新快,很多新的研究成果和技術需要通過網絡資源獲取,因此在線課堂應密切關注云計算技術的發展動態,緊密跟蹤主流云計算平臺與技術,及時更新技術資料和知識點,拓寬學生的知識面。
依托在線課堂,教師應改革實驗教學模式,強化課前預習(在線)和課后拓展(在線)環節并在課堂實驗中增加研討內容,逐步打破傳統的單一課堂實驗模式,形成“課前預習(線上)+實驗研討(線下)+課后拓展(線上)”的混合型實驗模式。在線課堂的開放性和云實驗平臺的共享性決定課程采用混合型實驗模式具有先天優勢:學生可以隨時提前進行實驗預習和設計實驗方案,并通過網絡平臺傳給教師審核;教師可以在云實驗平臺上驗證學生提交的實驗作品;課后拓展實驗所需的軟硬件資源可以通過遠程登錄云實驗平臺申請分配,并通過虛擬桌面的方式獲取。
在混合實驗模式下,教師在實驗前準備相關知識點的視頻和閱讀資料上傳到在線課堂,并為學生制訂可完成的預習目標,讓學生有的放矢,自由自主地完成與實驗相關的預習任務;在實驗中引導學生完成實驗并進行互動討論,讓班級同學以小組形式開展協同學習,將實驗任務落實到組內的每個成員;實驗驗收時由各組講解相應內容,教師與其他小組進行點評和提問,參與討論;要求學生在實驗后在線提交實驗作品和實驗報告,根據學生表現和實驗結果打分并計入課程總成績。
混合型實驗模式打破傳統實驗方式對實驗場地和時間的限制,讓學生自主決定學習時間、學習內容和學習難度,解決學生學習意愿與資源供給的矛盾,從而有效提高實驗效果。學生成為教學活動的主體,通過線上學習、線下動手實踐和討論的方式獲得良好的學習體驗,不僅輕松學習專業知識,還可鍛煉自主學習能力、自控能力和表達能力。
對于云計算的初學者和本科層次的學生來講,課程教學比較有效的方法是讓學生快速建立云計算的基本概念,然后通過實驗操作直觀了解云平臺的使用,在此基礎上再深入了解和剖析云計算系統的體系結構和實現模塊,因此在實驗教學過程中,教師應按照課程教學的進度實時安排實驗內容,做到理論和實踐相結合,通過實踐及時消化理解課堂所授知識點;同時,鼓勵學生在完成課堂實驗的基礎上,充分利用課外時間對云計算進行深入學習和實踐,完成拓展實驗項目。學生以課外小組的形式提高學習,學習主題不限,可以是IaaS/PaaS平臺搭建配置,也可以在云平臺上進行應用開發,或者設計一套從底層到應用的云計算解決方案。以PaaS平臺BlueMix為例,該云平臺具有強大的靈活性和兼容性,不限制開發內容和開發工具,學生可以根據自己的興趣,充分發揮自身特長,在該平臺實現與硬件、網絡、軟件開發相關的應用并且即時發布到互聯網。課后拓展實驗環節注重綜合能力訓練[6],學生能夠充分發揮自己的主動性和創造性,通過在開放的實驗環境中設計開發云計算應用系統,逐步培養自主創新意識和創新能力。
對于表現突出或者在公有云平臺上發布優秀作品的學生,鼓勵他們參加國家、省部級組織的云計算相關賽事,如云計算應用大賽、IBM公有云平臺開發大賽等,利用學科賽事訓練學生的實踐創新能力[7]。通過自主學習和參加競賽,學生能夠充分理解最先進的軟件開發模式,掌握最新的云計算技術,提高云計算設計和應用能力。
云實驗平臺構建、產學合作優化實驗內容、在線課堂建設、創新實驗模式等措施在云計算實驗教學中實施,目的是提升學生的學習體驗,啟發和引導學生自主學習,有效訓練學生的綜合實踐能力。實驗教學幫助學生對云計算建立直觀感性的認識,從管理者和開發者的角度了解云平臺是什么,能提供什么服務,而不再停留在對云計算空泛的理論認識上。由于云計算技術更新快、實踐要求高,教師在今后的實驗教學環節中還須設計更為有效的激勵機制,以激發學生興趣,吸引他們投入更多的課外時間開展云計算技術的研究和實驗,更好地掌握云計算的實戰技能。
[1] Google中國教育合作項目[EB/OL]. [2016-08-24]. http://www.google.cn/university/curriculum/elite.html.
[2] 超星視頻. Cloud computing infrastracture, platform and theory[EB/OL]. [2016-08-24]. http://video.chaoxing.com/serie_400003949. shtml.
[3] 張小斌. OpenStack企業云平臺架構與實踐[M]. 北京: 電子工業出版社, 2015: 309-322.
[4] Von Hagen W. 使用 KVM 虛擬化技術[EB/OL]. (2014-03-24)[2016-08-24]. https://www.ibm.com/developerworks/cn/linux/l-usingkvm/.
[5] IBM Bluemix[EB/OL]. [2016-08-24]. https://www.ibm.com/cloud-computing/bluemix/.
[6] 朱金秀, 范新南, 朱昌平, 等. 電氣信息類人才實踐創新能力培養體系[J]. 實驗室研究與探索, 2011, 30(10): 129-131.
[7] 朱昌平, 曾曉陽, 劉艷, 等. 通過“六大賽事”促進IT大學生實踐創新能力的提高[J]. 實驗室研究與探索, 2009, 28(11): 13-16.
(編輯:宋文婷)
1672-5913(2017)02-0146-03
G642
江蘇高校品牌專業建設工程資助項目(PPZY2015B141);2014年度教育部―IBM產學合作專業綜合改革項目“云計算技術與應用”(留金美[2015]7530號);河海大學2015年度創新性教學實驗項目“云計算IaaS與PaaS平臺配置與開發實驗項目”(河海教務[2015] 60號)。
金永霞,女,實驗師,研究方向為云計算實踐與應用,jinyx@hhu.edu.cn。