王家 龍冬梅



摘 ?要:隨著云計(jì)算技術(shù)的不斷發(fā)展,云原生應(yīng)用已經(jīng)逐漸成為軟件開(kāi)發(fā)領(lǐng)域一種主流的應(yīng)用形式。高等院校在數(shù)字化建設(shè)過(guò)程中需要將分散的軟件和硬件資源進(jìn)行整合,文章提出了一種針對(duì)高等院校教學(xué)事務(wù)的云原生平臺(tái)設(shè)計(jì)方案,命名為CNP-Edu,平臺(tái)能夠高效地部署開(kāi)源云原生應(yīng)用,為開(kāi)發(fā)新的云原生應(yīng)用提供軟件支持。CNP-Edu平臺(tái)結(jié)構(gòu)簡(jiǎn)單,易于維護(hù),安全性高,便于擴(kuò)展,為高校的云原生應(yīng)用部署和管理提供了架構(gòu)支撐。
關(guān)鍵詞:云原生;云原生架構(gòu);教學(xué)事務(wù)平臺(tái)
中圖分類號(hào):TP311 ? ? 文獻(xiàn)標(biāo)識(shí)碼:A ? 文章編號(hào):2096-4706(2023)14-0012-04
Design and Research of University Digital Teaching Service Platform Based on Cloud Native Architecture
WANG Jia1, LONG Dongmei2
(1.Chengdu College University of Electronic Science and Technology of China, Chengdu ?611731, China;
2.Chengdu Jinhua Middle School, Chengdu ?610046, China)
Abstract: With the development of cloud computing technology, cloud native application has gradually become a mainstream application form in the field of software development. Colleges and universities need to integrate scattered software and hardware resources in the process of digital construction. This paper proposes a cloud native platform design scheme for teaching service of colleges and universities, named CNP-Edu (Cloud-Native Platform for Education). The platform can efficiently deploy open source cloud native applications and provide software support for the development of new cloud native applications. CNP-Edu platform has the advantages of simple structure, easy maintenance, high security and easy expansion, which provides the framework support for the deployment and management of cloud native applications in colleges and universities.
Keywords: cloud native; cloud native architecture; teaching service platform
0 ?引 ?言
近年來(lái)信息技術(shù)不斷發(fā)展,高等院校需要利用大數(shù)據(jù)、云計(jì)算、人工智能等技術(shù)建設(shè)智慧型的校園。同時(shí)教育部提出《教育信息化2.0行動(dòng)計(jì)劃》,要求高校教學(xué)信息化覆蓋全體師生,其次高校的師生對(duì)于學(xué)校的辦公、教學(xué)、科研、生活等方面的高效和便捷性有了更高的要求[1]。而現(xiàn)狀是高校缺少能夠整合教學(xué)資源和信息技術(shù)資源的解決方案,本文提出了一套針對(duì)高等院校教學(xué)事務(wù)的云原生平臺(tái)設(shè)計(jì)方案,平臺(tái)命名為CNP-Edu(Cloud-Native Platform for Education),平臺(tái)能夠?yàn)閹熒峁?shù)字化、網(wǎng)絡(luò)化、智能化的教學(xué)環(huán)境,不僅如此CNP-Edu還構(gòu)建了一站式的教學(xué)資源、教學(xué)應(yīng)用、科研開(kāi)發(fā)的管理與服務(wù)平臺(tái),為高校師生提供更加高效和便捷的信息服務(wù),為高校提高教學(xué)質(zhì)量、提高教學(xué)資源利用率和教學(xué)服務(wù)能力提供基礎(chǔ)平臺(tái)的支持[2]。
CNP-Edu基于云原生設(shè)計(jì)理念,首先將高校的硬件資源通過(guò)該平臺(tái)進(jìn)行整合,接著平臺(tái)為高效部署和安全運(yùn)維提供基礎(chǔ)設(shè)施的支持,其次平臺(tái)可以滿足高校不同崗位人員對(duì)于信息化平臺(tái)的不同需求,科研人員可以使用平臺(tái)所提供的資源快速地部署開(kāi)源項(xiàng)目的代碼,開(kāi)發(fā)人員和學(xué)生可以使用代碼管理和DevOps服務(wù)開(kāi)發(fā)新的云原生應(yīng)用,教務(wù)管理人員可以使用平臺(tái)的管理功能對(duì)學(xué)校的日常事務(wù)進(jìn)行管理,教務(wù)管理人員可以利用平臺(tái)的擴(kuò)展功能與開(kāi)發(fā)人員一起對(duì)現(xiàn)有功能進(jìn)行二次開(kāi)發(fā)。教師可以通過(guò)平臺(tái)上傳教學(xué)資源、批改學(xué)生的作業(yè)、錄入日常的學(xué)生的信息與學(xué)生進(jìn)行交流,學(xué)生也可以通過(guò)平臺(tái)方便地獲取教學(xué)資源和信息服務(wù)[3]。
1 ?相關(guān)技術(shù)介紹
云原生是一種能充分利用云計(jì)算平臺(tái)的優(yōu)勢(shì)對(duì)應(yīng)用服務(wù)進(jìn)行設(shè)計(jì)、實(shí)現(xiàn)、部署、交付和運(yùn)維的系統(tǒng)架構(gòu)方法,它并不是簡(jiǎn)單地使用云平臺(tái)運(yùn)行現(xiàn)有的應(yīng)用程序。云原生包含兩個(gè)層面的含義:應(yīng)用程序在分布式云計(jì)算環(huán)境中運(yùn)行,應(yīng)用程序按照云平臺(tái)的彈性和分布式特性進(jìn)行設(shè)計(jì)和運(yùn)維[4]。
云原生平臺(tái)是為能夠開(kāi)發(fā)、部署、運(yùn)行云原生應(yīng)用而設(shè)計(jì)和構(gòu)建的針對(duì)云原生應(yīng)用的服務(wù)平臺(tái)。云原生平臺(tái)由微服務(wù)技術(shù)、容器技術(shù)、聲明式API、DevOps技術(shù)、服務(wù)網(wǎng)格組成[5]。下面分別介紹五個(gè)技術(shù)的特點(diǎn)和作用。
微服務(wù)技術(shù)將一個(gè)應(yīng)用程序拆分成許多小的服務(wù),每個(gè)服務(wù)負(fù)責(zé)完成特定的功能。這些服務(wù)可以獨(dú)立部署,并且可以通過(guò)網(wǎng)絡(luò)調(diào)用來(lái)交互。微服務(wù)優(yōu)勢(shì)在于,它使得應(yīng)用程序更容易擴(kuò)展和維護(hù)。由于每個(gè)服務(wù)都是獨(dú)立的,因此可以更輕松地開(kāi)發(fā)和部署新功能。此外,如果某個(gè)服務(wù)出現(xiàn)問(wèn)題,只需要修復(fù)或重新部署該服務(wù),而不需要重新部署整個(gè)應(yīng)用程序。微服務(wù)還使得應(yīng)用程序更靈活,因?yàn)樗试S開(kāi)發(fā)人員使用不同的技術(shù)棧來(lái)開(kāi)發(fā)不同的服務(wù)。微服務(wù)在云原生平臺(tái)中起著重要的作用,使得應(yīng)用程序更容易擴(kuò)展和維護(hù)。
容器技術(shù)是云原生應(yīng)用中的另一個(gè)重要概念。容器是一種輕量級(jí)的虛擬化技術(shù),可以在單個(gè)操作系統(tǒng)內(nèi)運(yùn)行多個(gè)應(yīng)用程序。每個(gè)應(yīng)用程序在容器內(nèi)運(yùn)行并且可以使用容器內(nèi)的資源,不同應(yīng)用程序之間是相互隔離的。容器技術(shù)的優(yōu)勢(shì)在于,它使得應(yīng)用程序可以在不同的環(huán)境中輕松地運(yùn)行。
聲明式API旨在使開(kāi)發(fā)人員能夠使用簡(jiǎn)單的聲明來(lái)描述所需的功能,而無(wú)須關(guān)注底層實(shí)現(xiàn)細(xì)節(jié)。聲明式API的主要作用是簡(jiǎn)化開(kāi)發(fā)人員的工作,使應(yīng)用程序構(gòu)建更加快速、高效和可維護(hù)性。
DevOps技術(shù)能夠提高軟件開(kāi)發(fā)、測(cè)試和部署的效率。DevOps技術(shù)在云原生架構(gòu)中起著重要的作用,可以幫助企業(yè)更快地構(gòu)建和部署應(yīng)用程序。DevOps技術(shù)主要通過(guò)自動(dòng)化流程、持續(xù)集成和持續(xù)交付來(lái)實(shí)現(xiàn)效率提升的目標(biāo)。
服務(wù)網(wǎng)格通常用于描述微服務(wù)網(wǎng)絡(luò)以及網(wǎng)絡(luò)之間的交互。服務(wù)網(wǎng)格好比一個(gè)小型的計(jì)算中心,它為計(jì)算設(shè)備提供一個(gè)集中部署的虛擬環(huán)境,為計(jì)算應(yīng)用程序提供豐富的服務(wù)。服務(wù)網(wǎng)格借助于計(jì)算節(jié)點(diǎn)之間的數(shù)據(jù)包傳輸,為應(yīng)用程序創(chuàng)建豐富的應(yīng)用程序棧,并提供可靠的計(jì)算性能。服務(wù)網(wǎng)格被定義為一個(gè)專門的基礎(chǔ)設(shè)施層,用于管理服務(wù)與服務(wù)之間的通信,使其可管理、可見(jiàn)、可控制。
2 ?系統(tǒng)架構(gòu)
如圖1所示,CNP-Edu平臺(tái)包括4個(gè)主要層次組成:基礎(chǔ)底座層,服務(wù)中心,應(yīng)用中心,系統(tǒng)監(jiān)控層。每個(gè)層次又由若干模塊構(gòu)成,下面分別介紹各個(gè)層次和模塊的作用和特點(diǎn)。
圖1 ?CNP-Edu平臺(tái)架構(gòu)
基礎(chǔ)底座的作用主要是為了更好地整合高校的硬件資源,將分散在各個(gè)學(xué)院的硬件資源整合在基礎(chǔ)底座所在的虛擬數(shù)據(jù)中心。基礎(chǔ)底座采用分布式的設(shè)計(jì)理念,通過(guò)OpenStack虛擬操作系統(tǒng)將分散在各個(gè)機(jī)房的服務(wù)器整合到一起,組成一個(gè)虛擬數(shù)據(jù)中心。通過(guò)Docker容器技術(shù)模塊與K8S自動(dòng)編排模塊配合,為微服務(wù)提供相關(guān)的應(yīng)用程序運(yùn)行環(huán)境和管理接口。虛擬機(jī)為高校已有的應(yīng)用遷移到平臺(tái)中提供了基礎(chǔ)支持,可以在不修改已有程序的情況下,將已有的網(wǎng)站和系統(tǒng)部署到CNP-Edu平臺(tái)中,并且使用平臺(tái)所提供的各項(xiàng)系統(tǒng)監(jiān)控和安全功能。
基礎(chǔ)底座為上層的服務(wù)中心和應(yīng)用中心提供虛擬的運(yùn)行環(huán)境。比如科研開(kāi)發(fā)事務(wù)中心可以將Docker容器和虛擬機(jī)分配給學(xué)生和老師進(jìn)行使用,服務(wù)中心的微服務(wù)也會(huì)運(yùn)行在基礎(chǔ)底座所供的Docker環(huán)境中,系統(tǒng)監(jiān)控中心可以對(duì)當(dāng)前基礎(chǔ)底座運(yùn)行情況進(jìn)行監(jiān)控和管理。總之,基礎(chǔ)底座為CNP-Edu平臺(tái)整合了硬件資源提供了運(yùn)行虛擬的環(huán)境。
服務(wù)中心主要提供云原生應(yīng)用開(kāi)發(fā)服務(wù),包括源代碼管理,項(xiàng)目管理,持續(xù)集成等服務(wù),為高校的科研人員和學(xué)生的項(xiàng)目開(kāi)發(fā)提供公共的開(kāi)發(fā)服務(wù)。服務(wù)中心通過(guò)Gitlab模塊提供源代碼管理,便于團(tuán)隊(duì)開(kāi)發(fā)過(guò)程中代碼共享和管理,Jenkins模塊提供代碼持續(xù)集成的支持,Maven項(xiàng)目管理模塊對(duì)開(kāi)發(fā)任務(wù)的全周期進(jìn)行管理。
應(yīng)用中心包含6個(gè)模塊,教學(xué)資源中心包括常用軟件資源、期刊數(shù)據(jù)庫(kù)資源、圖書信息資源和校園網(wǎng)站資源。教學(xué)應(yīng)用資源模塊集成了科研管理與服務(wù),本科生培養(yǎng),學(xué)生管理與服務(wù),心理教育管理,知識(shí)產(chǎn)權(quán)管理,就業(yè)管理與服務(wù)等資源,并且提供統(tǒng)一的接口,方便開(kāi)發(fā)人員將相關(guān)應(yīng)用集成到微信、釘釘、飛書等第三方平臺(tái)。教學(xué)辦事中心為學(xué)生提供網(wǎng)上選課、成績(jī)查詢、網(wǎng)上評(píng)教、成績(jī)錄入等教學(xué)事務(wù)的服務(wù),為老師提供教務(wù)、科研、財(cái)務(wù)、國(guó)際交流等方面的服務(wù)[6]。
個(gè)人數(shù)據(jù)中心由個(gè)人數(shù)據(jù)服務(wù)、部門數(shù)據(jù)服務(wù)、綜合校情三個(gè)部分組成。個(gè)人數(shù)據(jù)服務(wù)可以查看教職工和學(xué)生的基本信息。部門數(shù)據(jù)服務(wù)包括學(xué)校各個(gè)院系和部門業(yè)務(wù)產(chǎn)生的數(shù)據(jù),形成數(shù)據(jù)資源目錄,可以系統(tǒng)地展示學(xué)校各部門的情況。綜合校情展示學(xué)校師資情況、科研情況、教學(xué)情況、招生情況、就業(yè)情況。
日程中心為用戶提供公開(kāi)日程查看和個(gè)人日程管理服務(wù),為學(xué)生推送課程表、院系活動(dòng)、校內(nèi)講座等信息,教師通過(guò)平臺(tái)下發(fā)日程任務(wù),平臺(tái)為學(xué)生推送日程信息并進(jìn)行提醒,節(jié)省了教師和管理人員的時(shí)間和精力。科研開(kāi)發(fā)事務(wù)中心主要針對(duì)云原生平臺(tái)進(jìn)行功能擴(kuò)展,以及使用基礎(chǔ)底座服務(wù)提供支持。科研人員可以通過(guò)平臺(tái)申請(qǐng)硬件資源和軟件開(kāi)發(fā)接口的資源,開(kāi)發(fā)人員可以提交部署新的應(yīng)用到云原生平臺(tái)中。
系統(tǒng)監(jiān)控包括三個(gè)主要的模塊,日志監(jiān)控提供故障恢復(fù)和運(yùn)行狀態(tài)監(jiān)控的能力,資源監(jiān)控提供對(duì)資源的度量和監(jiān)控,服務(wù)監(jiān)控提供服務(wù)發(fā)現(xiàn)、負(fù)載均衡的能力。監(jiān)控模塊能夠有效地利用云原生平臺(tái)的資源,對(duì)當(dāng)前資源要求較多的服務(wù)提供彈性的計(jì)算資源,對(duì)當(dāng)前出現(xiàn)故障的服務(wù)進(jìn)行恢復(fù)或者容錯(cuò)。能夠按照當(dāng)前系統(tǒng)的狀態(tài)自動(dòng)完成相關(guān)的服務(wù)和應(yīng)用的維護(hù)。
總之,CNP-Edu平臺(tái)能夠充分整合高校的IT資源,降低應(yīng)用的運(yùn)營(yíng)成本,提高應(yīng)用的安全性和擴(kuò)展性。
3 ?案例驗(yàn)證
為了驗(yàn)證CNP-Edu平臺(tái)是否能夠協(xié)調(diào)使用平臺(tái)的各種角色,同時(shí)驗(yàn)證平臺(tái)已有的功能是否能夠滿足系統(tǒng)擴(kuò)展的需要,設(shè)計(jì)了以下校園停車場(chǎng)景案例。
基于CNP-Edu平臺(tái)開(kāi)發(fā)校園停車的云原生應(yīng)用的流程如圖2展示,參與案例的角色包括開(kāi)發(fā)人員、科研人員、教務(wù)管理員、學(xué)生和老師。
首先教務(wù)管理人員提出基于CNP-Edu平臺(tái)的云原生校園停車應(yīng)用的需求,需求包括老師和學(xué)生在校園內(nèi)停車時(shí),自動(dòng)識(shí)別車輛信息、自動(dòng)管理當(dāng)前車位狀態(tài)、通過(guò)第三方平臺(tái)完成車輛收費(fèi)等功能。
校園停車需求通過(guò)科研開(kāi)發(fā)事務(wù)中心提交軟件開(kāi)發(fā)人員和科研人員,科研人員需要對(duì)車輛號(hào)牌的自動(dòng)識(shí)別,車位當(dāng)前使用情況的自動(dòng)識(shí)別進(jìn)行科研。科研人員首先需要利用基礎(chǔ)底座所提供的虛擬機(jī)和容器完成科研環(huán)境的搭建,接著完成自動(dòng)識(shí)別號(hào)牌和車位信息的算法和模型的科研任務(wù),最后將模型部署到服務(wù)中心,使得開(kāi)發(fā)人員可以直接使用車輛號(hào)牌和車位狀態(tài)信息的云原生服務(wù)。
開(kāi)發(fā)人員需要根據(jù)需求對(duì)系統(tǒng)進(jìn)行設(shè)計(jì),開(kāi)發(fā)人員首先需要向服務(wù)中心申請(qǐng)所需要的服務(wù),包括由科研人員開(kāi)發(fā)的車輛號(hào)牌和車位狀態(tài)信息的服務(wù)、教師數(shù)據(jù)和學(xué)生數(shù)據(jù)接口服務(wù)、源代碼管理服務(wù)、項(xiàng)目管理服務(wù),接著完成系統(tǒng)的后臺(tái)程序的開(kāi)發(fā),同時(shí)前臺(tái)應(yīng)用需要和第三方平臺(tái),如微信進(jìn)行綁定,從而完成自動(dòng)收費(fèi)功能,最后將后臺(tái)和前臺(tái)停車收費(fèi)服務(wù)部署到服務(wù)中心。
圖2 ?開(kāi)發(fā)案例流程圖
云原生校園停車應(yīng)用開(kāi)發(fā)和部署完成以后,教師和學(xué)生可以對(duì)相關(guān)的停車系統(tǒng)進(jìn)行使用并且提供反饋意見(jiàn),教務(wù)人員可以對(duì)停車收費(fèi)系統(tǒng)進(jìn)行管理,同時(shí)系統(tǒng)管理人員可以對(duì)提車服務(wù)的使用情況進(jìn)行監(jiān)控,包括資源、日志、安全性等方面。如圖3所示展示了校園停車收費(fèi)系統(tǒng)的后臺(tái)頁(yè)面,云原生應(yīng)用能夠和CNP-Edu平臺(tái)完美融合。
通過(guò)案例展示了CNP-Edu平臺(tái)擁有良好的系統(tǒng)結(jié)構(gòu),能夠協(xié)調(diào)各種角色完成平臺(tái)的擴(kuò)展,并且可以為開(kāi)發(fā)任務(wù)提供硬件和軟件服務(wù)的支持,平臺(tái)也為云應(yīng)用的高效監(jiān)控和運(yùn)維提供了堅(jiān)實(shí)的支持。
4 ?結(jié) ?論
本文提出了CNP-Edu平臺(tái),該平臺(tái)使用云原生架構(gòu)設(shè)計(jì)理念作為基礎(chǔ),能夠滿足老師、學(xué)生、教務(wù)管理人員、開(kāi)發(fā)人員、科研人員對(duì)于高校教學(xué)信息化的不同需求,能夠充分整合高校的軟件和硬件資源,提高教學(xué)資源使用率,提高云原生應(yīng)用開(kāi)發(fā)效率、降低運(yùn)營(yíng)成本、提高運(yùn)營(yíng)的安全性。
參考文獻(xiàn):
[1] 孫健,仇俊杰.云原生應(yīng)用程序保護(hù)平臺(tái)(CNAPP)技術(shù)淺析 [J].中國(guó)信息安全,2022(5):56-58.
[2] 李萍.基于云原生架構(gòu)的廣播電視智能融媒云平臺(tái)框架設(shè)計(jì)研究 [J].廣播與電視技術(shù),2022,49(9):41-45.
[3] 萬(wàn)曉蘭,李晶林,劉克彬.云原生網(wǎng)絡(luò)開(kāi)創(chuàng)智能應(yīng)用新時(shí)代 [J].電信科學(xué),2022,38(6):31-41.
[4] 王文哲,安崗,吳健,等.一種支持云原生的工業(yè)互聯(lián)網(wǎng)業(yè)務(wù)管理平臺(tái) [J].電信科學(xué),2022,38(S1):203-213.
[5] 樊良優(yōu),姚小強(qiáng),王剛,等.基于云原生的開(kāi)放式指揮控制平臺(tái)構(gòu)建技術(shù) [J].航空兵器,2022,29(4):26-32.
[6] 劉軍.云原生技術(shù)下軟件教學(xué)模式的探索和實(shí)踐 [J].江蘇通信,2022,38(5):86-89+107.
作者簡(jiǎn)介:王家(1982—),男,漢族,四川成都人,講師,碩士,研究方向:語(yǔ)音識(shí)別、深度學(xué)習(xí)、機(jī)器學(xué)習(xí);龍冬梅(1986—),女,漢族,四川綿陽(yáng)人,中學(xué)二級(jí)教師,本科,研究方向:人工智能、大數(shù)據(jù)分析。