劉炎火




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