李曉月
(河南機電高等專科學校計算機科學與技術系,河南 新鄉453003)
利用互聯網來進行計算機教育已經有一段時間,但是如何用新的技術來進行教學,由于技術發展的迅速性一直沒有得到很好的解決。作為教師,只有不斷的學習研究新的技術,才能進行更好的教學。近年來,云計算和云服務成為研究的熱點,本文是在分析現有的云計算特點的基礎上,利用云計算服務平臺,并在此平臺上部署教學資源,初步設計了一個適合計算機教學的云計算應用系統。學生可以用瘦終端連接到云上,大大節省了學校硬件的支出。通過該教學方式,學生既學到了課本上的知識,又增強了動手能力。
云計算(Cloud computing)是分布式計算(Dstributed Computing)、并行計算(Parallel Computing)、效用計算(Utility Computing)、網絡存儲(Network Storage Technologies)、虛擬化 (Virtualization)、負載 均衡(Load Balance)等傳統計算機和網絡技術發展融合的產物[1]。其通過使計算分布在大量的分散式的計算機上,而非本地計算機或單一的遠程服務器中。這使得用戶能夠將資源切換到需要的應用上,根據需求訪問指定的計算機和存儲系統等資源。
云計算大概可以分為以下三類服務模型[2-3]:基礎設施即服務(IaaS),平臺即服務(PaaS)和軟件即服務(SaaS)。IaaS(Infrastructureas-a-Service):基礎設施即服務。用戶通過互聯網可以從分布的計算機基礎設施獲得服務。PaaS(Platform-as-a-Service):平臺即服務。PaaS實際上是指將軟件研發的平臺作為一種服務,提供操作系統、開放編程環境、數據庫、Web服務等。SaaS(Software-as-a-Service):軟件即服務。它是一種通過Internet提供軟件的模式,用戶無需一次性購買軟件,通過按次計費等計費模式向供應商付費。
被普遍接受的云計算特點如下[4]:
(1)超大規模
云具有相當的規模,Google云計算已經擁有100多萬臺服務器,Amazon、IBM、微軟等的云均擁有幾十萬臺服務器。企業私有云一般擁有數百上千臺服務器。
(2)虛擬化
云計算通過虛擬化技術使云平臺下方的基礎設備和上方的應用軟件分離,支持用戶在不同地方、使用各種終端獲取應用服務。所請求的資源來自云,而不是固定的某個服務器上。應用在云中某處運行,不用擔心應用運行的具體位置,只需使用相應的服務。
(3)高可靠性
云使用了數據多副本容錯、計算節點同構可互換等措施來保障服務的高可靠性,使用云計算比使用本地計算機可靠。
(4)通用性
云計算不針對特定的應用,在云的支撐下可以構造出千變萬化的應用,同一個云可以同時支撐不同的應用運行。
(5)高可擴展性
云的規模可以動態伸縮,滿足應用和用戶定制的需要。
傳統的計算機教學,雖然體系清晰、結構合理,但是其過于注重理論環節的教學,而忽略了實踐教學的重要性。因此,本文引入云計算到教學中去,目的是增強實踐教學的部分,讓學生多動手、勤思考。云計算的出現給現在的計算機教學內容和教學方法上的創新帶了機遇和挑戰,合理的利用云計算技術優勢,以實現信息、教學資源的最大共享。因此,在當前的教學中適當的引入云計算是有必要的,下面就本文基于云計算的教學系統作簡單的介紹。
本文選擇了亞馬遜的云計算服務,亞馬遜的云名為亞馬遜網絡服務(Amazon Web Services,AWS)[5],目前主要由4塊核心服務組成:簡單存儲服務(Simple Storage Service,S3);彈性計算云(Elastic Compute Cloud,EC2);簡單排列服務(Simple Queuing Service)以及簡單數據庫服務(Simple DB)。由于其提供服務的完善性,是本文選擇該平臺的原因。

圖1 系統架構
圖1是系統的整體架構。通過SSH來訪問機器資源,利用EC2來運行所有的計算機教學關鍵組件(包括Apache、MySQL等),采用S3來存儲所有的數據,并在EC2中提供負載均衡服務,使用AWS自動部署學生開發的應用,用Auto Scaling Group來進行系統的彈性伸縮。彈性負載均衡模塊自動將應用入口流量分發到多個EC2實例上,使得應用具有更高的容錯性。用CloudWatch來監控ELB的運行情況,包括請求數、請求延遲等。
數據備份通過EC2生成卷的快照snapshot,并將其存儲到S3上,第一份snapshot是全量的,之后均為增量快照。在安全性方面,EC2提供了多種機制來保護用戶的計算資源,本文通過Web Service接口配置防火墻來控制實例之間的網絡訪問;同時,通過VPC(Virtual Private Cloud)來實現更為嚴格的安全配置。當在VPC內部啟動EC2資源時,通過指定希望使用的IP范圍來孤立自己的計算實例,并使用加密IPsec VPN來連接到已有的IT基礎架構。除此之外,本文還在VPC內部啟動專有實例(Dedicated Instance),專有實例是在VPC中運行的EC2實例,且提供了額外的獨立性以專供一個用戶使用,這樣就大大的增強了系統的安全性。
系統在運行中不可避免的要出現一些問題,這些問題有些來自于系統,有些來自于使用者,不管出自那里都應該盡量避免。總結起來共有下面兩個方面:
(1)系統問題
系統是否為分布式存儲,如果是的話穩定性才有保障,文件要多重備份,即使其中的一份出現了問題也不影響使用;是否支持校園網內網的支持,本文的教學大部分情況下是基于校園內網的,如果支持的話就可以進行大量的數據傳輸服務,而不用通過互聯網,這樣就可以提高系統的訪問速度。
(2)教師和學生問題
教師對云計算的掌握程度問題,只有老師完全熟悉系統后,才有可能利用好平臺來為學生上課;學生對系統學習的接受問題,教師通過生動的講述和熟練的應用,學生才能產生興趣并利用該平臺進行課程的學習。
本文通過對兩個教學班級實施不同的教學方法來進行實驗,一個班級引入云計算到課程的教學中,另一個沒有,只應用傳統的教學方法。最后的考核結果如表1所示,從表中可以看出,此教學方法在理論教方面提高的并不多,但在實踐教學中提高了10個百分點,綜合提高了7個百分點。因此,將云計算引入到教學中去,還是有必要的。

表1 教學效果對比表
計算機專業教學隨著時代的發展在不斷的發生變化,只有創新教學方法,將當前流行的、實用的計算機技術應用到計算機教學中去,發揮新技術在教學中的作用,才能增強學生的學習興趣和主動性。本文對云計算在計算機教學中的應用進行了初步研究,并根據實際教授課程情況應用到自己的教學中。初步教學效果表明,此方法對提高學生的學習興趣和動手能力有一定的作用,但是畢竟引入到教學的時間有限,還需進行長期的跟蹤調查,這也是以后要做的工作。
[1]陳全,鄧倩妮.云計算及其關鍵技術[J].計算機應用,2009(9):2563.
[2]Praveena K,Bestsy T.Application of Cloud Computing in Academia[J].IUP Journal of system Management,2009,7(3):50-54.
[3]Tuncay E.Effective Use of Cloud Computing in Educational Institutions[J].Procedia-Social and Behavioral Sciences.2010,2(2):938-942.
[4]百度百科.云計算[EB/OL].http://baike.baidu.com/view/1316082.htm.
[5]曹軍委.基于云計算的教學資源共享體系的研究與實現[D].安徽理工大學,2012.