鄧一星 王芳
摘? 要: 分析云計算相關課程教學中存在的問題,與亞馬遜AWS合作,以實際應用為出發(fā)點,對云計算課程進行合理的劃分,并利用沙箱實驗環(huán)境開展實驗教學。
關鍵詞: 云計算教學;商業(yè)云平臺;AWS Academy
中圖分類號: TP311? ? 文獻標識碼: A? ? DOI:10.3969/j.issn.1003-6970.2019.07.041
【Abstract】: This paper analyses the problems existing in the teaching of cloud computing related courses, cooperates with Amazon AWS, takes practical application as the starting point, divides cloud computing courses reasonably, and carries out experimental teaching in sandbox experimental environment.
【Key words】: Cloud computing teaching; Commercial cloud platform; AWS academy
0? 引言
云計算、大數(shù)據(jù)、移動互聯(lián)網(wǎng),是軟件領域目前最熱門的幾個術語,如果說大數(shù)據(jù)、移動互聯(lián)網(wǎng)更代表應用場景,云計算則是它們共同的基礎,提供強大且靈活的計算能力。隨著越來越多的企業(yè)把業(yè)務系統(tǒng)遷移到云端,云架構、云上開發(fā)及運維的人才需求量也隨之激增。但相對大數(shù)據(jù)等熱點技術有其較為規(guī)范的課程設置及內容安排而言,云計算相關課程的設置及內容安排,目前來看,基本上還是屬于較為混亂的狀態(tài),缺乏合理的方案。
1? 國內高校云計算相關課程現(xiàn)狀及存在問題
應該說,在大部分開設了計算機科學與技術或軟件工程專業(yè)的高校中,都能看到云計算課程的身影,但經(jīng)過筆者的調研及與同行的交流,云計算課程的教學過程,存在非常多的問題,教學效果非常不理想,以至于甚至在部分高校中,盡管培養(yǎng)方案中設置了云計算相關課程,卻沒有老師愿意開課。
(1)課程內容無序混亂。云計算并非一種單獨的技術,而是以面向服務架構(SOA)為基礎,并行計算、網(wǎng)格計算和分布式計算等技術共同發(fā)展的產(chǎn)物。所以如果要深入去講,馬上就會面臨兩個問題,一是課程內容太雜,二是課程難度太大,二本及以下層次的本科高校里,面向服務的軟件架構課程其實是較少涉及的,并行技術或網(wǎng)格計算更多是研究生才會涉及的課程。云計算的課程若從底層開始講起,把以上方方面面都塞進去,對老師知識儲備和學生接受能力來說,都是很大的挑戰(zhàn)。因此,在很多學校,云計算往往就設一門類似導論的課程,把云計算的原理及應用場景泛泛講一遍就算了,學生實際上還是不了解云計算究竟是什么回事,以后可以怎么用。
(2)實驗內容脫離實際。眾所周知,云計算分公有云和私有云,公有云主要基于商業(yè)云平臺(如AWS,Azure和阿里云等),私有云則可用一些開源云平臺(如OpenStack等)來自己搭建?;诠?jié)約成本的角度,大部分高校都習慣于采用免費的開源方案,因此,設計云計算實驗課程的時候,也是盡可能去用開源云平臺。這樣做忽視了非常重要的一點,云計算之所以得到迅速發(fā)展,首先在于其是一個成功的商業(yè)應用模式。云計算在應用層面上,基本上都是結合具體的商業(yè)云計算產(chǎn)品,云市場主要還是公有云的天下(公有云平臺上也可以構建私有云系統(tǒng),企業(yè)會逐步放棄自己搭建私有云的方案)。社會對云計算從業(yè)人員能力上的要求,也主要體現(xiàn)在其是否能在主流商業(yè)云平臺進行相關工作上。這非常類似于在網(wǎng)絡工程專業(yè)中,做路由和交換實驗的時候,經(jīng)常會放在思科或華為這些具體廠商的設備上去做,因為這樣更接近實際應用場景。
此外,相比于在商業(yè)云平臺上進行實操,開源云平臺的配置過程更繁瑣更易出錯,故障的排查也更困難,在有限的學時下,極易出現(xiàn)實驗課結束時學生還僅完成了部分實驗的局面,更別說看到實驗結果了。
2? 面向實際應用的云計算課程方案
要想有效地開展云計算教學,就不能想當然,得以云計算的實際應用為切入點,對云計算課程的設置、內容安排及實驗教學進行系統(tǒng)的梳理和優(yōu)化。筆者所在的華南理工大學廣州學院軟件工程專業(yè),從2017年開始與亞馬遜AWS合作,對云計算的理論和實驗教學進行了重新規(guī)劃設置。
(1)面向工作內容設置課程
云計算課程的設置,沒有必要圍繞云計算涉及的各項底層技術來展開,而是應該以“基礎+工作路徑”作為課程設置的原則。
所謂“基礎”即開設一門《云計算基礎》課程,這門課的內容包括向學生介紹云計算的基本概念、特征、優(yōu)勢,側重點放在云計算主要向用戶提供哪些方面的服務,以及這些服務對應商業(yè)云計算平臺的哪些產(chǎn)品來完成。通過該門課程的學習,學生可以從產(chǎn)品的角度對云計算的脈絡有個大體上的了解。顯然,對于初學者來說,這樣的教學內容更直觀更易于接受,有助于樹立學生對云計算的興趣。
所謂“工作路徑”,則從云計算從業(yè)人員的實際工作劃分角度,去設計具有不同側重點的課程。獲得這方面信息最便捷的途徑就是參考主流商業(yè)云平臺的IT認證體系,以AWS為例,其云計算認證體系如圖2所示。
從上圖可以看出,作為專業(yè)的云計算從業(yè)人員主體所對應的Associate級,設置了三種認證,也代表了三條工作路徑,分別是架構工程師、開發(fā)工程師及運維工程師。也就是說,可以對照這三條工作路徑來設計相應地課程,即《云計算架構》、《云計算開發(fā)》及《云上運維》,學??筛鶕?jù)自身師資情況來開設全部或部分課程。AWS已與部分中國高校展開了AWS Academy的合作,加入AWS Academy計劃的高校,可獲得其在相關課程建設上的支持(師資培訓、課件、實驗平臺等),合作高校目前可獲得《云計算基礎》和《云計算架構》兩門課程的支持,AWS也在積極準備《云計算開發(fā)》和《云上運維》兩門課程,未來會繼續(xù)向合作高校提供相關支持。
下面以《云計算架構》為例,介紹一下如何安排課程內容。設計課程內容的時候,一般要遵循三個原則:
① 面向實際需求的原則。主流商業(yè)云平臺產(chǎn)品庫能提供大量產(chǎn)品和服務,對于一個只有幾十學時的課程來說,什么都學是不現(xiàn)實的,按需學習顯得很有必要。一個云架構師,在進行云上架構的時候,需要具備哪些知識,對應地在商業(yè)云平臺下,需要掌握哪些產(chǎn)品和服務。那么,這些東西便放入課程的知識單元中。
② 循序漸進的原則。云計算的應用,很少是為客戶直接在云上設計和實施一套系統(tǒng),換句話說,云上架構基本上不是一氣呵成的,總是先將客戶現(xiàn)有的系統(tǒng)遷移上云,發(fā)揮云快速、靈活、低成本的優(yōu)勢。因此,在課程內容安排上,首先要讓學生掌握云遷移的方法,在保證本地系統(tǒng)原有功能和性能的基礎上,在云上設計一套新的系統(tǒng)架構,用相應地云服務去取代本地系統(tǒng)原有的處理機、存儲、網(wǎng)絡等軟硬件資源;接下來,才去考慮發(fā)揮云計算具有耦合性低、易于擴展、支持自動部署的優(yōu)勢,對原有架構進行優(yōu)化。
③ 最佳實踐的原則。云平臺提供適合各種用戶的云服務,針對某一個應用點,也可能根據(jù)不同的需求設計出不同的服務。例如數(shù)據(jù)庫,在AWS的體系里,就有S3(對象存儲)、RDS(關系型數(shù)據(jù)庫)、DynamoDB(NoSQL數(shù)據(jù)庫)、RedShift(數(shù)據(jù)倉庫)等多種產(chǎn)品。架構師必須要根據(jù)客戶的實際情況,對產(chǎn)品進行選擇或組合,這部分知識的積累往往需要經(jīng)驗,而學生在大學里,不太可能積累這方面的經(jīng)驗,因此,結合具體場景和案例,給出一些最佳實踐的介紹,就很有必要了,未來學生在實際工作中,可以參考最佳實踐來舉一反三。
基于以上三個原則,便可設置出《云計算架構》的課程內容,如圖3所示。
(2)在商業(yè)云平臺上完成實驗教學
正如前文所述,云計算實驗教學最大的痛點在于,沒有合適的實驗環(huán)境。采用開源平臺,實驗內容繁瑣,故障難以排查,也和實際應用脫節(jié)。在商業(yè)云平臺上進行實驗,一般來說,效果肯定是會好許多的。
費用問題是不可回避的,盡管國內外的主流商業(yè)云平臺都提供了一些針對大學生的優(yōu)惠套餐,如提供若干小時免費的基礎套餐等,但根據(jù)以往的實踐,學生往往對云平臺的計費方式不敏感,在云平臺中,絕大多數(shù)的服務都是要計費的,而且,某個功能由幾項服務組成,較容易出現(xiàn)學生結束實驗的時候忘了關閉其中的若干服務而造成繼續(xù)計費。因此,直接讓學生在商業(yè)云平臺上開賬號做實驗,并不是一個很可行的做法。為此,一些商業(yè)云平臺公司,也在逐步與高校合作,采用沙箱(Sandbox)的方式來進行實驗,所謂沙箱,即在商業(yè)云平臺中劃分出一部分云資源,形成一個獨立的作業(yè)環(huán)境,在這個環(huán)境中,學生可以以免費的方式使用實驗所需的必要資源。沙箱環(huán)境下,每個實驗學生可以使用的資源有限,也有利于故障的排查,不會給教師帶來太大負擔。
在實驗內容的設置上,可根據(jù)安排的實驗學時做具體的安排,一般來說,實驗時長為1-2節(jié)課為宜。《云計算基礎》課程可設置4個實驗,《云計算架構》課程可設置10個實驗,具體如圖4和圖5所示。
3? 方案實施效果
方案已從2018年起在華南理工大學廣州學院軟件工程專業(yè)試點,共200名2016級學生選修,學生展現(xiàn)出非常大的學習熱情,到課率保持在98%左右,且絕大多數(shù)學生能按時按質完成實驗,這在選修課中是比較少見的。更可喜的是,相當一部分學生日常的學習和開發(fā)實踐,也逐步在向云計算靠攏,非常有利于擴展學生就業(yè)面和提高學生就業(yè)質量。截至2019年4月,已有兩位同學通過了在國際上具有重要含金量的AWS Certified Solutions Architect- Associate考試。同時,參與授課的兩位老師,也順利通過了對應的AWS認證考試,提高了自己的職業(yè)技能。2019年初,在對之前合作充分認可的基礎上,亞馬遜公司與華南理工大學廣州學院又達成了《云計算開發(fā)》和《云上運維》課程共建的協(xié)議,并且將授課進一步擴大到網(wǎng)絡工程專業(yè)。
4? 結語
云計算教學的痛點始終在于找不到合理的教學
內容及實驗手段,本文以面向實際應用的角度,采用校企合作課程建設的方式,對云計算課程的內容進行了梳理和優(yōu)化,并利用沙箱實驗環(huán)境進行有效的實驗教學,取得了比較好的效果。
參考文獻
[1] 亞馬遜AWS認證網(wǎng)站[OL]. https://aws.amazon.com/cn/ certification/.
[2] 鄧一星, 王芳, 楊榮領.大數(shù)據(jù)工程師培養(yǎng)方案的研究與設計[J]. 計算機教育. 2018(10): 121-124.
[3] 鄧一星. 軟件工程專業(yè)校企合作形式的探索與實踐[J]. 軟件. 2016(8): 54-56.
[4] 閆實, 劉占波, 王曉麗. 云計算技術在高校計算機基礎教學中的應用[J]. 軟件, 2018, 39(6): 167-169.
[5] 黃超, 唐子蛟. 基于云計算技術的智慧校園平臺建設研究[J]. 軟件, 2018, 39(5): 27-30.
[6] 韓萬江, 張笑燕, 陸天波, 等. 軟件工程專業(yè)認證的新思路研究[J]. 軟件, 2015, 36(3): 37-40.
[7] 榮艷冬. 基于云計算的高校就業(yè)信息服務平臺的應用研究[J]. 軟件, 2015, 36(5): 45-48.