劉炎火
摘 要:云計算技術(shù)推動了信息技術(shù)架構(gòu)深層次變革,虛擬化、IaaS、PaaS、SaaS、容器、微服務(wù)等模式與技術(shù)推陳出新,云原生技術(shù)不斷向前發(fā)展,形成軟件工程新業(yè)態(tài)。文章論述了云原生的概念和內(nèi)涵、云計算發(fā)展現(xiàn)狀,總結(jié)了云原生推動軟件工程的一些變革,最后,提出云原生有益于構(gòu)建終身學(xué)習(xí)的發(fā)展模式。
關(guān)鍵詞:云計算;云原生;微服務(wù);容器
中圖分類號:TP393.0 ? ? 文獻(xiàn)標(biāo)識碼:A ? ? 文章編號:1003-5168(2021)36-0006-04
Application and Research the Technology of Cloudnative
LIU Yanhuo
( Jimei Industrial college , Xiamen ?Fujian 361022)
Abstract: Cloud computing technology has promoted the deep-seated reform of information technology architecture. Virtualization, IAAs, PAAS, SaaS, container, microservice and other models and technologies have pushed through the old and brought forth the new. Cloudnative technology continues to develop and form a new business form of software engineering. This paper discusses the concept and connotation of Cloudnative and the development status of cloud computing, summarizes some changes that Cloudnative promote software engineering, and finally puts forward a development model that Cloudnative are beneficial to building lifelong learning.
Keywords: cloud computing; cloudnative; microservice; container
過去40多年里,軟件產(chǎn)業(yè)經(jīng)歷了多次重大變革,從大型機(jī)向小型機(jī)遷移、從C/S架構(gòu)到SOA、從互聯(lián)網(wǎng)興起到移動互聯(lián)網(wǎng)的廣泛應(yīng)用、從軟件的本地化部署到云上開發(fā)時代,每一次的信息技術(shù)產(chǎn)業(yè)架構(gòu)的變革,都帶來了巨大的商業(yè)機(jī)遇和行業(yè)的洗牌。以容器、微服務(wù)、開發(fā)運(yùn)維一體化為代表的云原生技術(shù),重構(gòu)了軟件開發(fā)和運(yùn)維模式,用戶可以構(gòu)建容錯性好、易于管理和具有可觀測性的應(yīng)用[1]。
1 什么是云原生
云原生是一套技術(shù)體系和方法論,是一種構(gòu)建和運(yùn)行應(yīng)用程序的方法。云原生(Cloudnative)是一個組合詞,Cloud表示應(yīng)用程序位于云中,Native表示應(yīng)用程序運(yùn)行在云上,突破了數(shù)據(jù)中心的束縛,充分發(fā)揮和利用云平臺的彈性與分布式優(yōu)勢,以最佳姿勢運(yùn)行。云原生包含微服務(wù)、容器化、DevOps和持續(xù)交互四要素。
1.1 微服務(wù)
微服務(wù)(Microservice)是一種架構(gòu)方案,用于構(gòu)建應(yīng)用服務(wù)[2]。微服務(wù)可以將應(yīng)用服務(wù)拆分為多個核心功能,每項(xiàng)服務(wù)對應(yīng)一個功能,改變了單體式方案,單體式方案與微服務(wù)架構(gòu)體系結(jié)構(gòu)模型如圖1所示。每項(xiàng)服務(wù)對應(yīng)一個功能,可以單獨(dú)部署和構(gòu)建,在工作或故障時不同服務(wù)不會相互影響。面向服務(wù)的架構(gòu),對于微服務(wù)的部署,只需稍加調(diào)整即可。微服務(wù)架構(gòu)的好處是服務(wù)解耦、內(nèi)聚更強(qiáng)、變更更易,劃分服務(wù)依據(jù)領(lǐng)域驅(qū)動設(shè)計來完成。
1.2 容器化
虛擬化技術(shù)為系統(tǒng)管理員提供了極大的靈活性,但存在性能不佳、資源利用率不高等問題。容器(Container)是一種新型虛擬化技術(shù),突破了傳統(tǒng)虛擬化技術(shù)的瓶頸。Docker是應(yīng)用最為廣泛的容器引擎,在思科、谷歌等公司的基礎(chǔ)設(shè)施中大量使用,基于LXC技術(shù),容器化為微服務(wù)提供實(shí)施保障,起到應(yīng)用隔離作用。Kubernetes(K8S)是容器編排系統(tǒng),用于容器管理、容器間的負(fù)載均衡。
1.3 DevOps
DevOps是開發(fā)運(yùn)維一體化的方法論。在系統(tǒng)應(yīng)用和服務(wù)的生命周期中,系統(tǒng)開發(fā)者開發(fā)運(yùn)維工具,如Google SRE很大一部分開發(fā)工具就是為運(yùn)維服務(wù),使得運(yùn)維流程高度自動化和智能化,提高了運(yùn)維效率[3]。DevOps促進(jìn)工作思維方式的改變,DevOps重視業(yè)務(wù)和人員的多樣性,為業(yè)務(wù)價值快速提升提供支持。DevOps強(qiáng)調(diào)共同目標(biāo),以用戶價值為唯一評價標(biāo)準(zhǔn),有利于技術(shù)開發(fā)、技術(shù)運(yùn)維、質(zhì)量保障等部門之間的溝通協(xié)作整合,保證產(chǎn)品功能及時實(shí)現(xiàn),確保成功部署和穩(wěn)定使用。
1.4 持續(xù)交付
持續(xù)交付(Continuous Delivery,CD)是指軟件開發(fā)過程,從原始需求到最終產(chǎn)品開發(fā)過程中,在較短周期內(nèi)以需求的小顆粒度頻繁提交的過程,實(shí)際指的是集成后在類生產(chǎn)環(huán)境中測試并及時反饋的過程[4]。持續(xù)交付可以保證軟件穩(wěn)定、持續(xù)保持在隨時發(fā)布的狀況,可以讓軟件的構(gòu)建、測試與發(fā)布變得更快更頻繁,可以縮短開發(fā)時間、降低開發(fā)成本、減少風(fēng)險。
為了適應(yīng)快速變化的信息技術(shù)(Information Technology,IT)業(yè)務(wù)需求,IT界正在進(jìn)行一場變革。用戶通過云原生技術(shù)體系和方法論,在應(yīng)用程序開發(fā)、測試、部署各個環(huán)節(jié)進(jìn)行改進(jìn)和提升,企業(yè)應(yīng)用能更快地上線,想法能更快地實(shí)現(xiàn),更容易提升企業(yè)效益?;谖⒎?wù)架構(gòu),采用開源堆棧進(jìn)行容器化設(shè)計的云原生架構(gòu),借助敏捷開發(fā)管理模式,DevOps支持持續(xù)迭代和智能化運(yùn)維,利用云平臺彈性伸縮和動態(tài)調(diào)度功能,優(yōu)化資源利用率,如圖2所示[5]。
2 云計算發(fā)展現(xiàn)狀
2020年是數(shù)字化爆發(fā)元年,企業(yè)數(shù)字化轉(zhuǎn)型勢不可擋。從2000年非虛擬化硬件技術(shù)的提出,到2015年云原生技術(shù)的提出,云計算已經(jīng)融入我們生活的各個方面。
2.1 市場方面
Gartner統(tǒng)計數(shù)據(jù)顯示,以IaaS、PaaS和SaaS為代表的云計算的市場規(guī)模,2020年達(dá)到2 083億美元,并且保持穩(wěn)定增長態(tài)勢,特別是我國市場,無論是公有云,還是私有云,都呈現(xiàn)出高速增長狀態(tài)。
2.2 技術(shù)方面
云原生持續(xù)落地,互聯(lián)網(wǎng)和信息服務(wù)業(yè)應(yīng)用的占比不斷下降,垂直行業(yè)快速崛起,金融、制造、服務(wù)、政務(wù)、電信等行業(yè)的應(yīng)用在不斷攀升,資源利用率、彈性效率、交付效率、智能運(yùn)維、功能擴(kuò)充都有所提升,云原生技術(shù)價值進(jìn)一步得到用戶認(rèn)可,云原生架構(gòu)的生產(chǎn)集群規(guī)模顯著提升,加速行業(yè)應(yīng)用[6]。
2.3 架構(gòu)方面
云網(wǎng)融合的需求不斷增大,邊緣側(cè)的計算需求潛力巨大,隨著5G、工業(yè)互聯(lián)網(wǎng)等領(lǐng)域快速崛起,邊緣計算市場需求將快速增長。
2.4 安全方面
隨著云進(jìn)程不斷深化,安全態(tài)勢日益嚴(yán)峻,傳統(tǒng)安全架構(gòu)無法滿足企業(yè)需求?!禝nternet Defense for Cloud Environments in 2020》統(tǒng)計顯示,超過65%的企業(yè)將重新部署專門面向云計算環(huán)境的抗DDoS攻擊解決方案和應(yīng)用防火墻,以信任機(jī)制為突破口的安全體系開始興起[7]。
2.5 管理方面
由于企業(yè)用云加深導(dǎo)致云上支出浪費(fèi)、業(yè)務(wù)性能下降、安全問題凸顯等問題的產(chǎn)生,因此,云優(yōu)化能力成為選擇云服務(wù)管理商的重要因素。
2.6 軟件方面
云計算的發(fā)展促進(jìn)了軟件開發(fā)流程的改革,微服務(wù)、DevOps理念促使軟件新格局逐步形成。
2.7 賦能方面
云計算已經(jīng)成為企業(yè)數(shù)字化轉(zhuǎn)型的充分必要條件?!吨袊髽I(yè)數(shù)字化轉(zhuǎn)型研究報告》顯示,中國有近40%的企業(yè)還未提出明確的數(shù)字化轉(zhuǎn)型戰(zhàn)略,僅20%的企業(yè)制定了數(shù)字化文化建設(shè)方案并落地推進(jìn),成熟度有待提高。
隨著企業(yè)數(shù)字化轉(zhuǎn)型的不斷深入,IT架構(gòu)向以云計算為承載,融合大數(shù)據(jù)、人工智能、區(qū)塊鏈等新一代技術(shù)的數(shù)字基礎(chǔ)設(shè)施轉(zhuǎn)變。多云、混合云成為主要形態(tài),以數(shù)據(jù)中心內(nèi)部和外部進(jìn)行劃分的安全邊界被打破,IT架構(gòu)面臨更多的安全信任危機(jī)。
3 云原生推動軟件工程革新
云原生底層核心技術(shù)趨于成熟,根據(jù)國際主要基金會的公開數(shù)據(jù)統(tǒng)計,云原生技術(shù)的熱點(diǎn)開源項(xiàng)目已經(jīng)超過300個,包括云原生底層技術(shù)、云原生編排及管理、云原生應(yīng)用、云原生安全技術(shù)以及云原生監(jiān)測分析五大模塊,涵蓋技術(shù)能力的各個方面,用戶從單點(diǎn)服務(wù)嘗試向體系化服務(wù)演變,云原生技術(shù)進(jìn)入了黃金發(fā)展期[8]。
3.1 云原生推動融合應(yīng)用時代的到來
云原生理念貫穿系統(tǒng)的開發(fā)、測試、發(fā)布、運(yùn)維等全鏈路,引導(dǎo)傳統(tǒng)業(yè)務(wù)逐步過渡到全新的模式,搭建基于云技術(shù)架構(gòu)、云業(yè)務(wù)應(yīng)用和云架構(gòu)安全三個維度的云原生體系化架構(gòu),實(shí)現(xiàn)了云原生技術(shù)的疊加效應(yīng)[9]。
云原生降低了技術(shù)門檻,成為云上數(shù)據(jù)產(chǎn)品的技術(shù)底座,推動云數(shù)智深層次融合。云智技術(shù)交叉集成,解決了智能化落地困難,促使人工智能發(fā)揮更大的社會經(jīng)濟(jì)價值,呈現(xiàn)了云原生虹吸效應(yīng)。
3.2 云網(wǎng)邊一體化不斷加深
隨著物聯(lián)網(wǎng)、工業(yè)互聯(lián)網(wǎng)、5G等行業(yè)應(yīng)用的核心模塊完成云計算平臺的部署,實(shí)現(xiàn)云網(wǎng)融合、云邊協(xié)同,完成算力服務(wù)的優(yōu)化。分布式部署是云計算從單一數(shù)據(jù)中心向多數(shù)據(jù)中心部署[10]。為了實(shí)現(xiàn)算力服務(wù)最優(yōu)化,一方面利用多種計算架構(gòu)解決了多樣性數(shù)據(jù)處理的問題,另一方面邊緣計算處理模式逐步取代集中式算力處理模式。前者如計算密集型應(yīng)用,需要中心計算平臺執(zhí)行復(fù)雜的邏輯調(diào)度,完成多樣性數(shù)據(jù)接入及海量數(shù)據(jù)處理;后者如CPU、DSP、GPU、FPGA等算力服務(wù),開始從云端向邊緣側(cè)擴(kuò)展,通過提高邊緣側(cè)算力處理能力和云邊協(xié)同能力,達(dá)到分布式發(fā)展的目標(biāo)。云網(wǎng)邊算力服務(wù)的協(xié)同管理如圖3所示。
3.3 建立零信任體系,構(gòu)建新安全體系
融合大數(shù)據(jù)、人工智能、區(qū)塊鏈等新一代信息技術(shù)逐步取代以傳統(tǒng)數(shù)據(jù)中心為核心的IT架構(gòu)是發(fā)展趨勢,新的IT架構(gòu)以多云、混合云為主要形態(tài)。新的IT架構(gòu)導(dǎo)致資源暴露面增大,工作負(fù)載可信程度難以保障。分布式應(yīng)用架構(gòu)導(dǎo)致東西流量激增,對安全防護(hù)能力提出了更高要求。工作負(fù)載分散、難以確保所有資源處于可信任狀態(tài)、數(shù)字化工作空間擴(kuò)展、網(wǎng)絡(luò)接入位置和時間多變、用戶可控性降低、設(shè)備差異等都將導(dǎo)致風(fēng)險要素增多[11-12]。
為了應(yīng)對傳統(tǒng)數(shù)據(jù)中心安全體系存在的過度信任,以及與IT架構(gòu)相對割裂等問題,基于云計算的安全理念逐漸興起,這個安全理念就是零信任理念。零信任理念默認(rèn)一切不可信任,網(wǎng)絡(luò)邊界不再是安全邊界。零信任安全理念從三個維度構(gòu)建新的安全體系,首先默認(rèn)不可信阻斷東西向風(fēng)險的快速傳播,任何訪問主體對資源的訪問都需要進(jìn)行認(rèn)證和授權(quán),將有效阻斷異常的東西向流量;其次身份認(rèn)證與授權(quán)機(jī)制可以屏蔽終端和身份的潛在威脅,通過多源數(shù)據(jù)對訪問主體進(jìn)行信任評估,覆蓋用戶身份、終端信息、行為信息等方面,防止未知信息和不可信信息獲得訪問權(quán)限;再次是持續(xù)的安全防護(hù)盡可能確保所有資源處于安全狀態(tài),通過漏洞掃描、病毒管理、態(tài)勢感知、數(shù)據(jù)防泄露等手段,保證企業(yè)內(nèi)基礎(chǔ)設(shè)施、應(yīng)用、數(shù)據(jù)、終端等資源的安全性。云原生零信任技術(shù)已經(jīng)從概念走向?qū)嵤?yīng)用階段,騰訊云、阿里云、華為云都有各自的零信任產(chǎn)品。零信任安全架構(gòu)如圖4所示。
3.4 云原生打造新格局,形成軟件工程新業(yè)態(tài)
云技術(shù)應(yīng)用持續(xù)加深,云管理服務(wù)商的服務(wù)范圍延伸到云優(yōu)化,利益驅(qū)動使得非云管理服務(wù)商也進(jìn)入云優(yōu)化領(lǐng)域,促進(jìn)云優(yōu)化工具的能力提升。云原生技術(shù)和云優(yōu)化管理推動了云軟件架構(gòu)的全新升級,云軟件的重構(gòu)開發(fā)和運(yùn)維模式變革,助力軟件工程高質(zhì)量發(fā)展,形成新的軟件工程業(yè)態(tài)。
云上分布式系統(tǒng)架構(gòu)、多元的業(yè)務(wù)場景,系統(tǒng)調(diào)用鏈復(fù)雜,故障后果更加難以預(yù)見,尤其是微服務(wù)架構(gòu)下,級聯(lián)依賴和持續(xù)的增量變更,使得任務(wù)的調(diào)用、數(shù)據(jù)流轉(zhuǎn)更加復(fù)雜,超出設(shè)計初衷的故障場景不可預(yù)見。為了解決故障的不可預(yù)見性,云原生引入了混沌工程,混沌工程本質(zhì)是一種適應(yīng)大規(guī)模分布式系統(tǒng)的測試手段,其通過主動制造故障,驗(yàn)證系統(tǒng)面對不同壓力的反應(yīng),識別并修復(fù)故障,建立對系統(tǒng)承受生產(chǎn)環(huán)境中湍流條件能力的信心,以更復(fù)雜、更有預(yù)見性的手段提高技術(shù)架構(gòu)彈性能力?;煦绻こ唐脚_技術(shù)架構(gòu)如圖5所示。
4 云原生對職業(yè)教育的影響
“1+X”書證融通是《國家職業(yè)教育改革實(shí)施方案》啟動職業(yè)技能證書試點(diǎn)制度之一,云計算平臺運(yùn)維與開發(fā)職業(yè)技能等級證書是深入貫徹落實(shí)職教二十條,加快推進(jìn)“學(xué)歷證書+若干職業(yè)技能等級證書”制度試點(diǎn)工作和人才培養(yǎng)方案制訂與實(shí)施工作的重要嘗試。
云計算是信息網(wǎng)絡(luò)體系架構(gòu)的一次革新,云原生技術(shù)的廣泛應(yīng)用,“1+X”云計算平臺運(yùn)維與開發(fā)的知識結(jié)構(gòu)將不斷更新,需要學(xué)習(xí)者不斷學(xué)習(xí)新的邊界知識。傳統(tǒng)的學(xué)習(xí)理論很難指導(dǎo)學(xué)習(xí)者順利開展跨界學(xué)習(xí)與研修,利用關(guān)聯(lián)主義學(xué)習(xí)理論可以非正規(guī)、跨領(lǐng)域、持續(xù)終身的學(xué)習(xí)。關(guān)聯(lián)主義克服了行為主義、認(rèn)知主義及建構(gòu)主義的局限性,提供了一種新的理論視角與方法管理個人知識,通過“節(jié)點(diǎn)、連接、網(wǎng)絡(luò)、知識流及工具”,重構(gòu)個人知識管理要素,建構(gòu)新的有效個人知識管理的方法和步驟。以關(guān)聯(lián)主義理論統(tǒng)領(lǐng)課程資源建設(shè),改變學(xué)習(xí)方法,建構(gòu)終身學(xué)習(xí)的發(fā)展模式。
參考文獻(xiàn):
[1] CAICT中國信息通信研究院.云計算機(jī)白皮書[EB/OL].(2021-07-29)[2021-09-23].https://mp.weixin.qq.com/s/qf9QmqxZUZCPALWLZiSQPA.
[2] 刁興玲.2017年ICT產(chǎn)業(yè)十大創(chuàng)新技術(shù)[J].通信世界,2017(34):22-24.
[3] 科普知識[J].山東交通科技,2016(6):118.
[4] 夏蕓.ATS軟件持續(xù)交付系統(tǒng)的設(shè)計與實(shí)現(xiàn)[J].電子技術(shù)與軟件工程,2020(11):67-69.
[5] 蔡高揚(yáng),馬化軍,李揮.ASIT:面向接口的分布式自動化測試系統(tǒng)[J].廣東通信技術(shù),2020(4):38-43.
[6] 杜洋.智慧城市信息基礎(chǔ)設(shè)施平臺應(yīng)用研究[J].甘肅科技,2021(3):16-18.
[7] 楊思譽(yù),劉海霞,童基均,等.Spring Cloud云原生應(yīng)用開發(fā)與實(shí)現(xiàn)[J].軟件導(dǎo)刊,2021(6):183-187.
[8] 吳爭榮,包新曄,尹立彬,等.基于敏捷開發(fā)理念的軟件系統(tǒng)持續(xù)交付研究[J].電子世界,2020(7):80-81.
[9] 葛嬌嬌.什么是云計算?[J].英語世界,2020(8):4-10.
[10] 馬曉春,馬玉慧.測試分公司信息系統(tǒng)整合研究[J].電腦知識與技術(shù)(學(xué)術(shù)版),2020(7):241-243.
[11] 袁逸濤,李小軍.跨平臺高速公路入口治超系統(tǒng)的設(shè)計與應(yīng)用[J].上海船舶運(yùn)輸科學(xué)研究所學(xué)報,2020(4):54-59,87.
[12] 王軍,宋堯,于全喜,等.基于監(jiān)控PaaS的大數(shù)據(jù)治理研究[J].電力大數(shù)據(jù),2020(9):50-57.