近日,“OSCAR云計算開源產業大會”于北京國家會議中心舉行,“保險業云計算開源應用與標準化論壇”作為"OSCAR云計算開源產業大會"的分論壇之一,于3月22日下午召開。云棧科技技術總監張春源參加會議,并帶來《保險公司提升應用標準化部署的秘籍》的主題演講。
隨著企業互聯網業務快速的發展,產品經理對于新應用和新功能的需求日益迫切,開發人員希望關注更高效易于使用的工具來構建和發布軟件。管理人員希望能更有效的利用資源,保持安全性和合規性,包括所有的團隊都希望能夠控制成本。
同時,隨著開發方法和協作工具包括技術的不斷完善,軟件的生命周期在迅速的縮短,部署會更加頻繁,在部署過程中如何基于標準化提升部署效率提升準確率呢?張春源指出,需要為企業制定一套基于業務實踐,有效采用計劃,可以引導企業成功的構建標準化部署的基礎架構。此架構需要幫助企業在應用交互方面做到全面測試、快速發布、頻繁更新、批量復制、高效維護和全面監控。
脫離標準化,自動化是可以實現的,但這樣去實現自動化的成本和代價高。如果沒有標準化,則意味著每一次應用的接入都需要去查找之前自動化的腳本。可以得出以下結論,即如果實現標準化+自動化等于一套平臺,如果沒有標準化+自動化等于的只是一個工具而已。
為何快速部署需要標準化?現在企業內部軟件開發已經成為企業戰略的核心部分,市場需求激烈的同時,也對內部的研發提出了更高的要求。因此,除了質量和成本可預測之外,快速發布也成為一個關鍵目標,現在的開發團隊不僅要保證成功發布新應用,還要對新應用做出很多更新來適應不斷變化的市場需求。
敏捷開發和其他敏捷迭代的方式,可以幫助開發人員快速創建和調整軟件,但是在IT運營團隊將IT發布到生產環境的時候這個過程會變慢,常見的有開發團隊和運營團隊,他們各自的工作都能梳理得清,但是這兩個部門經常各自為戰,缺乏信任和溝通,缺乏便于協作的標準、工具以及最佳的實踐方法。
現實中IT運營團隊通常會是阻礙軟件快速發布的罪魁禍首,運營團隊的顧慮關注安全性、穩定性以及合規性。
據介紹,為了幫助IT運營團隊與開發團隊保持同步,許多企業已經開始用DevOps來實現軟件的快速發布。開發人員使用容器把特定的應用及運行時環境依賴項標準化打包,容器不僅能使得快速交付成為可能,而且還靈活定義底層平臺各種信息比如操作系統、開發語言等。此外,隨著不同團隊在目標和流程上趨于一致,容器提供了一種通用的架構,可以將開發、運營、安全、質量管控及其他團隊聯系在一起。
使用容器使得IT步調一致,各自開發和進行部署,云棧科技在這個基礎上再進一步,復雜的應用通常是部署到不同主機,通過不同主機運營服務組成的系統,這些主機或許在不同的基礎設施,可能是物理機、可能是虛擬機還可能是私有云、公有云,環境的一致性尤為重要,容器正好是不可變的基礎設施,其實核心是基于容器的鏡像來保證多環境的一致性。
圖片所示標準是基于壽險公司做的,具體到不同的企業可能會有些變化。
基于上面列的標準屬性劃分和識別,同時還需要建議標準執行的規則,分別是:
一、鏡像唯一,不同環境間使用同一鏡像,傳入不同參數匹配不同業務系統;
二、服務名通信,程序不能把IP寫死,要通過服務名進行通信,這樣有助于系統在不同環境中的部署;
三、數據外掛,因為容器本質上是一個進程,當容器刪除后存放到容器里面的數據會被一起刪除掉,因此可以將數據外掛,映射出來,應用層盡量不把數據寫到本地,應該把數據寫到數據庫里;
四、配置分離,應用里面有很多配置文件,配置文件不同環境間的配置參數是不一樣的,所以配置文件不打包在鏡像當中可以獨立管理;
五、日志回傳,日志統一存放在目錄下,再統一回傳到日志中心。