趙 丹
(中興通訊股份有限公司天津分公司,天津 300308)
隨著我國國民經濟的發展,國內數字化和信息化系統的發展,得到了社會各界的高度重視。DevOps是過程、方法與系統的總稱,DevOps能力模型在實際的應用中,能夠有效地提升系統的穩定性,為各個環節之間的聯系提供安全可靠的保障。如何在現代化科學技術持續發展的背景下,采取更為積極有效的管理措施,對DevOps能力模型進行優化設計,成為該領域工作的重中之重。
DevOps(Development&Operation)能力模型是IT領域當中,用于消除系統開發與運維技術人員之間阻礙的重要能力模型。該項能力模型在實際的應用中,可以在完成基本的高頻率部署之后,進一步提高生產與開發環境的穩定性、可靠性、靈活性與安全性[1]。在對DevOps能力模型進行設計時,專家團隊的技術人員,需要熟練掌握Linux的操作系統,并且借助Docker模型,完成復雜的設計操作。
在對DevOps能力模型進行設計的過程中,主要是由數據庫集群、容器倉庫、網絡和域名系統、Kubernetes集群、Ngnix負載均衡等和Web頁面管理等幾個部分所組成。其中,Flannel插件由容器的虛擬網絡所組成。
數據庫集群設計中,主要是將etcd數據庫當中的key-value,應用統一的分布式存儲模板進行存儲,在這一過程中,需要借助Flannel網絡插件以及Kubernetes的配置信息進行操作。此外,在網絡管理階段,技術團隊還要將網絡管理內容,劃分為容器服務DNS解析與容器網絡兩個部分。在容器網絡管理的環節,為了更進一步地解決跨主機容器間存在的網絡通信問題,需要對網絡配置與管理模式等方面進行簡化操作。比如,應用Flannel提供的網絡管理,為每一臺宿主機創建單獨的虛擬網卡,同時,結合Flannel服務,實現數據包的封裝、轉發與解封。
DevOps能力模型在實際的應用中所采取的集成方法,具體可以從以下三個方面進行分析:
DevOps能力模型的第一個重要的維度為自動化,自動化維度的開發與使用,能夠幫助構建環節提高自動化水平。同時,還可以有效地減少程序編譯環節所消耗的時間和資源。在實際的使用環節中,DevOps能力模型可以在固定的時間段內,完成系統布置好的集成與編譯數量,進而提高應用程序代碼庫管理工作的靈活性,打破時空的界限,隨時隨地發布穩定的數據信息[2]。
DevOps能力模型能夠在處理器當中,存儲一個或者多個代理服務,常見的有代碼編譯服務以及運行測試等。DevOps能力模型在處理密集型的工作任務時,會將各類不同的工作項目,分發到池中進行代理測試,之后,再通過控制器對工作流進行相應的處理。比如,通過構建項目名稱,可以在各個版本當中,完成標簽的創建,以此實現構建狀態報告的系統化處理。
可視化的集成方案,是DevOps能力模型應用中,最為重要的模式之一。在現代化管理工作中,持續集成和根據數據對DevOps能力模型的狀態進行調整,可以在原有的基礎上,增加可視化的能力。基于DevOps能力模型的可視化軟件,在實際的應用中,能夠充分地吸收來自不同領域的先進開源技術,利用Python編寫出輕量級的后段應用框架模式、基礎分布式的文件存儲數據庫以及語義化的圖片生成工具等,都可以為DevOps能力模型的持續集成,提供可視化的信息和數據。在可視化的頁面當中,可以充分地保障最終測試得到的結果。從過去、現在和未來的各個時間點上,可以分析或預測系統內部存在的缺陷數量。在經過了一段時間的運行之后,如果系統中的缺陷數量逐漸趨于穩定,便可以得出測試比較充分且發現了系統內部絕大部分缺陷的結論。反之,如果在長時間的測試中,系統中的缺陷數量仍保持一定的增長速度,則說明需要進一步測試,發現系統中存在的缺陷隱患。
最后,在利用DevOps能力模型進行質量測試的過程中,工作人員要提高對質量保障測試的關注度。在實際的工作中,工作人員要在各個環節的時間點上,向客戶交付可運行的高品質軟件產品。為此,工作人員要建立持續集成的自動化測試配合系統,將集成和測試的內容,實現高效率的整合。
比如,在主干前實現傳統代碼的合成,確保系統可以完成新代碼的捕獲工作,對新代碼當中存在的功能性錯誤或者編譯類錯誤等,進行重新規劃設計,觸發新的代碼,完成自動回滾,以此實現動態化的高效管理機制。以團隊基礎服務器為核心搭建的RM自動化測試平臺。該平臺的合理化應用,能夠實現分組測試,并且還能降測試的周期,減少環境管理和集合管理等方面的難題。進入到自動化測試階段,還能將封閉標簽納入其中,以獨創性的測試方法,提高系統化管理的工作模式。
綜上所述,在現代化的DevOps能力模型構建和應用中,相關領域的工作人員,要采取合理有效的管理措施,對DevOps能力模型的構建需求和使用標準等進行系統化分析,提高流程的執行效率和發展水平。且經過了優化設計之后的DevOps能力模型,還能夠通過自動采集的方式,將度量數據進行系統分析,以此提高軟件開發的智能化和自動化水平。