?

一體化容器云平臺的研究與實踐應用

2024-02-17 05:14楊哲明瞿良勇倪智鵬鄭小苗鄭俊強
中阿科技論壇(中英文) 2024年2期
關鍵詞:容器部署服務

楊哲明 瞿良勇 倪智鵬 鄭小苗 徐 軍 鄭俊強

(國家管網集團浙江省天然氣管網有限公司,浙江 杭州 310051)

當前,在企業數字化領域,如何滿足業務部門龐大且零散的IT需求,成為眾多企業信息化管理的巨大挑戰。隨著云原生應用概念及技術的發展,傳統IT模式向云架構、云開發模式轉型,并衍生出了“敏捷開發”“快速迭代”的迫切需求[1]。在復雜的供需環境中,物聯網應用快捷開發平臺正在快速地普及[2],敏捷開發模式實現軟件快速生成和快速迭代,為工業軟件開發提供了有益借鑒,云平臺和云中臺的模式提供了數據集中和軟件模塊功能復用的基礎能力。

在智能化應用不斷深化的情況下,天然氣運營管理企業的傳統的軟件開發和管理模式已無法滿足日益增長的業務需求和技術挑戰,構建天然氣“平臺服務、資源集中、數據共享、開放兼容、安全可信”兼具的一體化、數字化智能平臺已迫在眉睫。隨著云計算、微服務和容器技術的快速發展,一體化容器云平臺已成為企業現代化軟件交付的重要基礎設施。本文旨在采用一體化容器云平臺來優化軟件開發和管理流程,提高運營效率、降低成本并增強安全性。

1 一體化容器云平臺研究背景

隨著云計算和DevOps的發展,容器技術越來越成為企業應用程序開發和部署的標準[2]。相比于傳統的虛擬化技術,容器化一體平臺可以提供更高效、更靈活、更可靠的應用程序部署和管理方式,在企業業務快速部署中至關重要。首先,一體化容器云平臺提供了一種標準化的部署和管理方法,使企業能夠更高效地開發、測試和部署應用程序,這種標準化有助于降低錯誤率,提高可維護性,并減少部署時間[3]。其次,一體化容器云平臺在企業級環境中支持大規模和復雜的應用程序架構,通過容器編排工具,企業可以輕松地管理多個容器實例,實現自動化的擴展和負載平衡,從而更好地適應變化的工作負載[4]。最后,一體化容器云平臺有助于提高敏捷性和創新力,使企業能夠更快速地響應市場變化。建設一體化容器云平臺是多方面的綜合性需求,其必要性主要包括以下幾個方面。

高效性和靈活性。容器化允許將應用程序及其所有依賴項封裝在一個一致的環境中,從而提高了部署的一致性和可靠性,幫助企業更加高效、更靈活地應對變化。

持續交付和部署。企業需要提升敏捷開發能力,通過持續集成和部署實現更迅速、可靠地交付和部署新功能,從而幫助企業更快適應市場發展變化,使企業更具綜合競爭力。

資源優化。企業需要更有效地使用基礎設施資源,通過輕量級的容器實例提高資源利用率,實現優化成本,并提供更好的資源管理。

安全性和可維護性。企業需要增強安全性功能,如鏡像簽名、訪問控制等,幫助保護企業級應用程序。通過容器的輕量級和可插拔性來提升系統的可維護性。

團隊協作和集成?;诮y一的一體化容器云平臺環境,統一的界面和工具鏈實現更加無縫的集成,更方便共享和重用組件,促進開發、測試和運維團隊之間的協作,并有助于提高企業技術團隊效率和協同工作。

一體化容器云平臺在企業級部署中的效率、靈活性、成本、安全性和團隊協作等方面具有綜合價值,可以幫助企業能夠更好地適應快速變化的業務環境。

2 信息化現狀

在實施一體化容器云平臺之前,企業各系統大部分為不同的開發團隊獨立實施,各系統是典型“煙囪式”系統,不可避免地存在一些弊端。(1)各系統雖共用同一個PG數據庫,但數據互相獨立,不同系統之間的相同數據各自存儲,形成了數據“孤島”和重復建設,在后續的運營維護過程中,用戶需對同一份數據在不同存儲位置進行重復修訂以滿足不同應用系統的需求。(2)系統間應用的功能復用性較差,常見業務系統的一些通用業務功能重復建設,如權限管理、流程審批、組織架構管理等。隨著業務需求的不斷增加,業務應用不斷擴展,傳統自下而上、螺旋上升的方式開發軟件系統,既造成了資源成本浪費,也大大影響業務應用的快速迭代。(3)企業在軟件開發過程中雖然制定了相應的數據格式標準,但在軟件開發過程中對代碼規范、發布、測試、質量、中間件服務版本約束等尚未形成統一標準,因此導致已開發的系統存在各式各樣的中間件服務情況,給后續項目生產運行過程中的運維工作帶來極大的挑戰。

3 一體化容器云平臺建設研究及實踐

3.1 平臺建設思路

建設一體化容器云平臺,天然氣運營管理企業需要明確自身的需求和目標,選擇適合的一體化容器云平臺。結合企業現狀及需求分析,一體化容器云平臺實施核心目的是打造企業級工業生產應用平臺,支撐面向不同業務場景的上層應用開發管理、運行監控及持續迭代,有效支撐驅動天然氣運營管理智能化發展。

企業選擇一體化容器云平臺需要考慮平臺的成熟度、可擴展性、安全性、易用性以及與其他系統的集成能力等關鍵因素,并在部署實施中需要重點關注三個問題。一是內部工業數據的統一存儲及數據服務,應采用何種類型的基礎設施支持提供低耦合數據服務以便于更好地支撐上層業務需求;二是提供穩定及標準化的容器運行及管理平臺,保障應用的生產運行工作,實現對容器平臺的監控管理,并提供對應用從編碼、測試到發布運行的持續集成工作;三是為了實現業務應用最小化開發,將通用業務功能抽離為獨立服務[5]。

3.2 平臺建設目標

一體化容器云平臺的實施內容主要包括統一數據中心、統一公用基礎服務、統一業務PasS服務及管理控制臺等四個部分。平臺面向天然氣運營管理企業工業生產應用數據統一的需求進行完善和定制,聚焦企業已有的系統和應用模塊,在Kubernetes、Docker虛擬化集群技術、微服務中心、分布式存儲等基礎上開展容器化平臺和統一數據中心的建設,使其擁有資源調度的能力。另外結合不同場景及業務流程,基于微服務、分布式存儲、業務流程等為業務應用提供數據服務、通用中間件服務、應用總線服務,實現工業應用的質量體系標準及快速構建迭代。通過容器一體化平臺、公用服務建設以及Devops管理中心建設,實現一體化容器云平臺的建設目標。

容器一體化平臺。提供自建系統部分的技術支撐能力,解決基礎設施、分布式數據庫等底層技術問題,為前臺提供有效支撐。

公用服務建設。分為公用基礎服務與業務服務兩部分,對通用的技術服務及業務服務能力進行標準化定義,并提供給上層應用調用,包含權限認證、流程管理、統一消息推送等。

Devops管理中心。結合Jenkins的自動化構建功能的發布平臺形成Devops一體化平臺,應用開發、編碼、交換、測試、發布、更新等進行流程化標準化制定,結合微服務框架等功能組件,提供整套基礎架構、能力,提升上層應用的管理度量效率。

3.3 平臺關鍵技術

持續集成。持續集成采用GitLab代碼管理技術,它是一種集成了版本控制和自動化構建、測試和部署的軟件開發實踐。通過使用GitLab,開發團隊可以方便地管理代碼倉庫,并利用GitLab將代碼頻繁地集成到主干。GitLab提供了強大的版本控制功能,支持分支管理和合并請求等操作,還集成了問題跟蹤、代碼審查和團隊協作等功能,幫助團隊高效地協作和管理代碼。

基于輕量化云的持續交付。環境配置采用代碼形式寫入YAML文件,確保了環境的統一和可控。借助Kubernetes的資源調度和分配功能,有效提升資源的利用率。對于中小型系統,初始化一套完整的環境變得輕而易舉,通過不同的腳本滿足不同測試的環境資源需求。這種配置方式簡化了環境搭建過程,提高了開發效率[6]。

平臺流程定制化。平臺使用技術中臺PaaS組件存儲海量分析數據,建立分析管道。度量管理可以滿足不同維度視角的需求,通過Grafana配置多個模板,實現度量視圖的自定義,支持圖標位置拖拽和編輯,自動增加新的組件,并支持按照自定義視圖發送通知等。此外,對每項指標的走勢進行跟蹤和定位,找到能夠反映出問題的度量數據,并驅動團隊改進。

3.4 平臺功能架構

平臺功能架構上分為應用層、網關層、服務層、存儲層和容器層等五個部分,在架構上提供了清晰的層次劃分,使得各層之間的功能明確,便于維護和擴展。應用層負責處理與用戶交互的邏輯,網關層作為接入點,服務層提供業務功能,存儲層負責數據存儲,容器層則提供運行環境。這樣的架構有助于提高系統的可擴展性和可維護性。具體架構如圖1所示。

圖1 平臺功能架構

3.5 平臺建設內容

3.5.1 基于Kubernetes+Docker的一體化平臺建設

基于Kubernetes+docker原生云建設,采用Kubernetes實現輕量化云平臺解決方案。調度和編排是集群管理的重要組成部分,容器管理包括從一個集群中添加或移除主機、獲取宿主機或容器當前的狀態信息、啟動或管理進程,通過搭建容器化的集群,實現自動化部署、持續集成和服務管理[7]。它強調自動擴展、安全配置、監控和版本控制,以提供高效、穩定和易維護的應用環境。

3.5.2 PaaS層公用基礎服務組件建設

對行業應用軟件通用組件庫和通用工具實施部署。項目的實施將為應用軟件開發提供完善的集成一體化開發環境,構筑在標準化零部件基礎上的高效率、高質量的新型生產方式。為支撐頂層應用開發及中臺實施,基礎服務主要包括消息隊列、緩存、ELK組件、配置中心、網關、任務調度、文件服務以及ETL組件。

3.5.3 PaaS層公用業務平臺建設

統一認證?;陂_源成熟的認證產品Apereo CAS,構建本地化的高可用認證平臺??晒┍镜叵到y以各類標準協議(如CAS、SAML、OAuth等)接入,并實現本地系統間的單點登錄。后端以標準LDAP協議對接身份數據源,可對接現有AD服務器,未來也可根據需要進行切換。

統一身份?;诂F有AD服務器,支持輔以自定義用戶身份數據源用以解決外部用戶,對各個應用系統提供統一身份信息獲取服務。

統一權限。用戶訪問權限管理,通過本地構建用戶權限管理平臺,實現用戶在各應用角色、菜單及操作權限的統一查看、維護。權限管理平臺提供標準的對外接口,各應用系統可訂閱權限管理平臺的數據,接收權限調整數據,實現“權限一處調整,多系統生效”。

統一流程。通過對流程平臺的服務化封裝,形成流程接入的標準和規范,使流程平臺具備為其他各類應用系統提供流程接入服務的能力,打造企業級的統一流程平臺,實現流程統一開發、待辦統一處理、系統統一運維。

統一消息告警。各系統模塊可以通過消息隊列向消息告警中心推送標準化的告警消息。用戶可以在告警中心直接查看消息,也可以通過對接企業自有的短信等消息渠道,實現告警消息到用戶端的精準送達。

3.5.4 應用場景驗證遷移

應用場景驗證遷移工作針對當前的部分應用場景的各所屬業務系統進行測試。主要工作為配合第三方應用開發商,實現對第三方應用業務系統的容器化遷移工作,在業務功能上覆蓋了對實時數據采集、微服務應用、前端展示等一系列研究及實施動作。

(1)數據遷移。根據應用所需要的歷史、實時數據需要同步遷移至一體化容器云平臺的數據平臺進行存儲。

(2)微服務應用遷移。按照一體化容器云平臺的開發流程及規范遷移微服務應用,并加入自動化測試,對應用進行通用的測試能力,最后實現鏡像打包一鍵部署。

(3)前端遷移。前端應用也按照容器化規范進行容器化。

(4)驗證測試。在完成遷移后,針對兩個應用場景在容器化環境內進行壓力測試和性能測試,以及針對兩個應用場景進行功能性驗證測試。

4 一體化容器云平臺實施總結

4.1 總體效果分析

一體化容器云平臺在天然氣運營管理企業實施,幫助打造企業級的“基于物聯網、云技術的省級天然氣智能平臺”,能快速面向天然氣運營管理企業工業生產應用通用服務的需求進行完善和定制,聚焦天然氣運營管理企業已有的系統及應用模塊,支撐面向不同業務場景的上層應用開發管理、運行監控、持續迭代,驅動天然氣智能化發展。

一體化容器云平臺擁有資源調度的能力,結合不同場景及業務流程,基于微服務、分布式存儲、業務流程等為業務應用提供通用中間件服務、業務公用服務,實現天然氣應用的質量門禁標準及快速構建迭代。平臺重點解決了三個問題:(1)內部來自“天然氣產業完整性”的業務數據和技術數據統一存儲及數據服務,應用基礎設施支持提供低耦合數據服務,以便于更好地支撐上層業務需求。(2)提供標準化的容器運行及管理平臺,保障應用的生產運行,實現對容器平臺的監控管理功能,并提供對應用從編碼、測試到發布運行的持續集成工作。(3)為了實現業務應用迭代更新,打造標準化、模塊化的SaaS服務模塊,為今后數字化推廣提供賦能平臺市場化應用。

4.2 功能價值分析

通過實踐驗證,一體化容器云平臺在天然氣運營管理企業的應用中具有以下價值點。

(1)跨平臺和可移植性。一體化容器云平臺允許將應用程序及其所有依賴項封裝在一個一致的環境中,提高了可移植性,使應用程序能夠在不同環境和云平臺上運行,增強了靈活性。

(2)效率和資源利用。容器是輕量級的,啟動迅速,減少了虛擬機的開銷。這導致更高的資源利用率、更少的部署時間以及更高的整體系統效率。

(3)持續交付和部署。一體化容器云平臺與持續集成和持續部署(CI/CD)流程集成,使得開發團隊能夠更快速、可靠地交付新功能,從而縮短了開發周期。

(4)提高軟件開發效率。通過自動化的構建和測試流程,開發人員能夠更快地交付高質量的代碼,同時統一的開發、測試和生產環境也減少了出錯的可能性。

(5)增強可伸縮性和彈性。一體化容器云平臺允許公司根據業務需求靈活調整資源,確保應用的穩定性和可用性。此外,通過容器編排與管理系統,公司可以輕松實現應用的自動擴展和負載均衡。

(6)提升安全性。通過隔離的運行環境和細粒度的權限控制,減少了安全風險,并增強了數據保護能力,同時監控與日志系統可以實時監測和處理潛在的安全威脅。

(7)降低運營成本。通過部署一體化容器云平臺,公司可以更有效地利用資源并提高應用性能,自動化的運維流程也減少了人工干預和錯誤發生的可能性。

一體化容器云平臺為企業提供了更靈活、高效、安全的應用程序部署和管理方式,有助于推動數字化轉型和業務創新。

4.3 實施難點分析

盡管一體化容器云平臺在天然氣運營管理公司中具有多方面的顯著優勢,但在平臺實施過程中也面臨一些困難挑戰。

(1)技術復雜性。容器技術相對較新,需要員工具備相應的技能和知識。為了應對這一挑戰,公司需要加強員工培訓和技能提升工作。

(2)集成與兼容性。與公司現有的系統和工具集成可能會面臨一些挑戰。為了確保平臺的順利集成,公司需要與供應商緊密合作并進行定制開發。此外,在選擇新組件和技術時需要考慮與現有系統的兼容性問題。

(3)安全管理。隨著容器數量的增加,安全管理變得更加復雜。為了應對這一挑戰,公司需要加強安全策略和監控措施,并定期進行安全審計和風險評估工作。此外,還需要關注容器的安全配置和補丁更新問題。

(4)成本控制。引入一體化容器云平臺可能會增加一定的成本投入。為了合理控制成本并確保投資回報率,需要進行充分的成本效益分析。

5 未來應用展望

隨著技術的不斷進步和需求的增長,一體化容器云平臺在天然氣運營管理公司的應用中將呈現以下發展趨勢。

(1)實時監測與響應。平臺可加強對天然氣運行的實時監測,以便快速識別潛在問題并實施及時響應,提高運行效率和安全性。

(2)大數據分析。利用容器云平臺的彈性和擴展性,進行大規模數據分析,以優化天然氣生產、儲存和運輸過程,提高系統智能化水平。

(3)物聯網整合。整合物聯網設備與傳感器,實現設備之間的無縫通信,以提高設備監測和遠程操作的精度,降低潛在風險。

(4)安全性和合規性。強化在容器云環境中的數據安全性,并確保符合行業和法規的合規性要求,以降低潛在的安全風險。

(5)可持續性和環保。將可持續性原則融入容器云平臺,以支持天然氣運營管理公司實現更環保、可持續的運營方式。

猜你喜歡
容器部署服務
Different Containers不同的容器
一種基于Kubernetes的Web應用部署與配置系統
晉城:安排部署 統防統治
部署
難以置信的事情
服務在身邊 健康每一天
服務在身邊 健康每一天
服務在身邊 健康每一天
招行30年:從“滿意服務”到“感動服務”
部署“薩德”意欲何為?
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合