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