王志曉,張 博
(中國礦業大學計算機科學與技術學院,江蘇 徐州 221116)
2016年,“新工科”概念的提出為工程人才的培養與工程教育理論的探索提供了新視角和新思路,也是為了應對新一輪科技革命和產業革命的浪潮[1]。與老工科相比,新工科更加重視學科的實用性以及各個學科之間的交叉性與綜合性,致力于提供一流的工程教育,促進產業轉型,提高國家的核心競爭力[2]。
云計算技術作為“新工科”建設的重點,國內多所高校已積極開設云計算技術相關課程。云計算綜合實訓作為是云計算技術課程的配套實踐環節,屬于計算機科學與技術專業的專業實踐課。對云計算綜合實訓課程建設展開深入研究,整改教學內容,優化教學方法,加強課程與企業以及行業之間的聯系,提高課程的實踐性和應用性,具有較強的實際意義,同時,對工科院校云計算技術的教學改革有一定的借鑒意義。
云計算綜合實訓作為實踐課,采用校企合作的方式,與華為技術有限公司聯合開展課程建設。經過本實訓課程的訓練,使學生掌握華為FusionSphere虛擬化套件、鯤鵬云服務和實際應用案例,培養學生使用云計算技術解決實際問題的動手能力,為后續課程的學習及開展相關的科學研究奠定基礎。
CDIO 是構思(Conceive),設計(Design),實現(Implement),運作(Operate)4個英文單詞的縮寫,它是“做中學”和“基于項目教育和學習”(Project based education and learning)的集中概括和抽象表達[3-4]。本文圍繞“做中學”的原則,對云計算綜合實訓的教學內容進行改革,推行項目導向、問題驅動的“教、學、做、評”一體化教學模式,編寫了《云計算綜合實訓》實驗指導書,教學內容如表1(P109)所示。

表1 教學內容設計
實驗分為兩種:
(1)驗證型實驗:要求學生能夠按照實驗指導書的操作流程,獨立完成華為FusionSphere虛擬化套件的使用、企業自動化辦公(OfficeAutomation,OA)系統的高可用部署和存算分離架構的實驗,掌握服務器虛擬化的相關知識、華為云鯤鵬云服務的使用、Docker的基本操作、Hadoop集群的搭建以及MapReduce和Spark程序的編寫和調試等相關知識點;
(2)進階型實驗:該類實驗任務沒有標準的實驗流程,學生需要根據現有知識,進行研究性學習。學生從多個任務中選擇一個,根據實驗指導書的要求,完成技術選型、環境搭建、程序編寫等任務。
通過情境教學法、任務驅動法優化教學內容。情境案例規模必須適中。規模太大無法在有限的課時內完成,規模太小不利于團隊實踐。同時,案例必須易中有難,難中有易。太難的項目會給學生造成挫敗感,沒有繼續完成項目的動力。太容易的項目又無法調動學生的積極性,無法達到較好的教學效果。
基于以上考慮,本課程選擇中小規模的項目作為情境案例。下面具體介紹各個實驗選擇的案例。
實驗1──華為FusionSphere虛擬化套件實驗。根據實驗手冊,完成FusionCompute的安裝、資源配置,虛擬機創建和虛擬機磁盤操作等實驗,并驗證如下問題:Fusion-Compute是不是基于KVM開發的?如果是,那有沒有用到 QEMU 和 Libvirt?
實驗2──鯤鵬云上應用高可用部署實驗。Oasys項目(https://gitee.com/github-5407963/oasys_mysql)是一個開源的OA辦公自動化應用。該實驗通過在鯤鵬云服務器上完成Oasys項目的高可用部署,使學生掌握鯤鵬云服務器、云數據庫、彈性負載均衡和彈性伸縮服務的部署和配置流程。
實驗3──鯤鵬云容器實驗。該實驗圍繞Nginx鏡像的構建過程,完成Docker主機的安裝和配置、鏡像的搜索和下載、容器生命周期的基本管理、容器網絡的管理,使學生掌握Docker的安裝和配置、Docker鏡像、Docker Hub、Docker容器的基本操作。
實驗4──鯤鵬云BigData Pro集群搭建。該實驗基于鯤鵬云對象存儲服務(OBS)和鯤鵬云彈性云服務(ECS)構建一個存算分離的基本架構,并通過運行一個分布式并行計算程序來完成存算分離架構的驗證。實驗數據存儲在OBS中,通過在ECS上部署開源組件(Hadoop和Spark)構成計算環境,最后編寫MapReduce和Spark程序訪問存儲在OBS上的數據進行計算并輸出結果,如單詞出現次數統計(Word Count)。實驗的基本步驟包含:購買并配置ECS和OBS;搭建Hadoop集群;搭建Spark集群;編寫MapReduce和Spark程序驗證存算分離。
實驗5──鯤鵬云大數據離線分析。該實驗模擬真實電商業務場景,通過大數據組件和技術來處理日志數據和業務數據,讓學生能夠學習到大數據離線批處理的步驟和流程。通過華為大數據平臺的MapReduce服務來實現數據倉庫分層的搭建,并進行報表分析得到活躍、轉化率、GMV指標,將結果導入關系型數據庫,最終進行可視化展示。
實驗6──鯤鵬云大數據實時分析。實時分析是大數據五大應用場景中比較重要的場景。處理數據量巨大,一般每秒產生數據在百兆以上。像購物、新聞、視頻等信息流推薦,電商銷售數據實時統計都是實時分析的典型應用。該案例通過編寫的Python腳本模擬產生商品的實時銷售數據,然后由Flume+Kafka完成數據采集,通過鯤鵬云數據湖探索服務(Data Lake Insight,DLI)中的Flink作業進行數據實時分析(商品銷售總額和銷售總額排名前五的店鋪),分析結果存入鯤鵬云關系型數據庫服務(Relational Database Service,RDS),最后通過數據可視化服務(Data Lake Visualization,DLV)讀取RDS中的數據,提供豐富多樣的2D、3D可視化。
下面以實驗1──華為FusionSphere虛擬化套件實驗為例,介紹教學過程設計。實驗1的教學目標是使學生積掌握計算虛擬化理論,理解KVM、Xen以及華為的Fusion-Sphere的運行機制。本文基于CDIO教學理念,按照構思→設計→實施→改進和展示的整體思路,設計以下教學過程。
首先,借鑒基于問題的學習策略(PBL)[5],引導學生討論什么是虛擬化。接著,進一步引導學生討論虛擬化帶來的特性,比如每臺物理機上同時運行多個虛擬機可以提高硬件資源利用率,降低運行成本;軟硬件的解耦使虛擬機可以不受當前物理服務器的限制,在集群范圍內實現虛擬機的在線動態遷移,進而實現高可用性、動態資源調度、容錯容災等。然后,學生在學習平臺完成學習任務,瀏覽相關實驗指導書,對所進行實驗進行總體構思,明確詳細的項目內容和具體任務,并在線完成課前測試。
采用互動教學法,使用“學習通”平臺的投票和抽簽工具增加學生的參與度,活躍課堂氣氛。采用PBL教學法,使用“學習通”平臺的教學工具,設置提交的作業,并投到大屏幕供全班同學分析和糾錯,學生要在講臺講解思路,接受其他同學的質疑答辯。
教師回顧本次實驗的知識點和技能點,通過啟發討論和教學互動的方式,引導學生總結歸納。
3.3.1 啟發式討論
討論1:結合1型和2型虛擬化的特點──分區、隔離、封裝和獨立,請2~3位同學分別結合自己所學、所見舉一些實際的例子來討論。
討論2:從介紹開源的虛擬化技術基于內核的虛擬機(Kernel-based Virtual Machine,KVM)和Xen入手,討論KVM如何實現的CPU全虛擬化?為什么Xen可以同時支持全虛擬化和半虛擬化?引導學生從實際案例入手,逐步探討具體虛擬化解決方案背后所蘊含的虛擬化思想。
3.3.2 適時提問、溫故知新
提問1:結合前述云計算的內容,提問1~2位同學有關什么是云計算的特點,以及虛擬化和云計算的區別與聯系。
提問2:FusionCompute是不是基于KVM開發的?如果是,那有沒有用到QEMU和Libvirt?
為了解決教學內容與行業需求以及前沿技術脫節的問題。我院與華為技術有限公司合作,聯合建設“智能基座”產教融合協同育人基地。將華為云計算技術引入到課程教學中,基于華為鯤鵬云計算基礎設施開展教學。通過校企合作,加快新工科建設,以產業和技術發展的最新需求推動高校人才培養改革、教學資源建設。
為了提高師資水平,我院安排課程負責人和骨干教師參加”全國高校計算機系統能力提升高級研修班”,學習華為云計算課程,并獲得全國高等學校計算機教育研究會聯合華為公司共同頒發的結業證書。

圖1 結業證書
實驗的展開需要強大的云計算基礎設施做支撐,表2為實驗1所需的設備清單。建立云計算實驗室的成本高,不但需要投入大量的資金購買計算、存儲和網絡設備,還需要專人對設備進行運維。通過與華為合作,每次實驗所需的云計算資源和服務都以華為云代金的方式提供給學生,大大降低了開設云計算相關實驗的投入。

表2 實驗1所需設備清單
在“學習通”平臺建課。根據課程的培養目標,實現課程教學資源的上傳下載、教學任務的布置、師生在線討論答疑、學生作業提交、老師在線考核、開源項目的共享等功能。
為了提高云計算綜合實訓的教學效果,促進學生實踐能力的培養。我院與華為技術有限公司合作,通過聯合建設“智能基座”產教融合協同育人基地,將華為云計算技術引入到課程教學中,基于華為鯤鵬云計算基礎設施開展實踐教學。本文基于CDIO教學理念設計教學過程,通過情境教學法優化教學內容,創建適當規模的案例,引導學生主動思考。本次教學改革歷時一年多,通過對2018級同學展開調查,結果顯示學生對該課程的獲得感明顯提升,學生的動手能力和學習主動性有顯著提高。