国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于DevOps的安全關(guān)鍵軟件研發(fā)工具鏈集成

2018-02-26 03:24方義方偉朱燁中國航發(fā)動控所
航空動力 2018年2期
關(guān)鍵詞:生命周期部署工具

■ 方義 方偉 朱燁 /中國航發(fā)動控所

通過引入以開發(fā)和運(yùn)營維護(hù)一體化為核心的信息化管理理念——DevOps,建立標(biāo)準(zhǔn)化流程、建設(shè)統(tǒng)一工具鏈以提高自動化能力和增強(qiáng)智能反饋機(jī)制,實(shí)現(xiàn)了開發(fā)環(huán)境、測試環(huán)境和生產(chǎn)環(huán)境的高相似度及可編程、自動化的全生命周期配置維護(hù)管理,從而適應(yīng)快速變化、高可用性、高可靠性要求,幫助組織更快地獲取價(jià)值與反饋。

在完成原型機(jī)的設(shè)計(jì)后,功能的完善、問題的修復(fù)、硬件環(huán)境的變化以及用戶體驗(yàn)等需求,會導(dǎo)致軟件的頻繁變更,使得軟件維護(hù)的成本遠(yuǎn)超過軟件原型設(shè)計(jì)階段的成本,在這種交付壓力和人員投入的平衡性被逐漸打破的局面下,提高軟件持續(xù)交付能力成為了人們關(guān)注的焦點(diǎn)。

DevOps是Development和Operations的組合,是一組過程、方法與系統(tǒng)的統(tǒng)稱,用于促進(jìn)開發(fā)(應(yīng)用程序/軟件工程)、技術(shù)運(yùn)營和質(zhì)量保障(QA)部門之間的溝通、協(xié)作與整合。DevOps可以看作開發(fā)、技術(shù)運(yùn)營和質(zhì)量保障三者的交集。

中國航發(fā)動控所的創(chuàng)新團(tuán)隊(duì)以DevOps作為信息化管理理念,通過建立標(biāo)準(zhǔn)化流程、統(tǒng)一工具鏈建設(shè)、完善自動化能力、提高可視化反饋機(jī)制,來縮短軟件迭代的循環(huán)周期,完成了持續(xù)集成、持續(xù)部署、狀態(tài)看板和性能監(jiān)測的功能,從而提高了軟件研發(fā)效率。

項(xiàng)目總體思路與方案

建立標(biāo)準(zhǔn)化流程

圖1 自動化工具鏈路集群部署圖

以提高持續(xù)交付質(zhì)量為目標(biāo),建立高度自動化的研發(fā)流程,包括自動化測試執(zhí)行、自動化測試回歸、自動化發(fā)布和部署等,節(jié)約勞動力,提高生產(chǎn)效率。

統(tǒng)一工具鏈建設(shè)

重新定義項(xiàng)目關(guān)聯(lián)的唯一標(biāo)識,以配置管理作為流程驅(qū)動的基礎(chǔ),打通9個(gè)工具間的數(shù)據(jù),以數(shù)據(jù)中心為載體,將軟件研發(fā)過程的碎片數(shù)據(jù)規(guī)格化和可視化,積累組織資產(chǎn),提供性能監(jiān)測基礎(chǔ)。

完善自動化能力

搭建全生命周期的持續(xù)集成平臺,涵蓋編譯構(gòu)建、靜態(tài)分析、單元測試、數(shù)據(jù)追蹤、數(shù)據(jù)分析等分布式自動化節(jié)點(diǎn),實(shí)現(xiàn)軟件研發(fā)過程的自動化執(zhí)行,自動化發(fā)布和自動化部署。

目前已完成單點(diǎn)環(huán)境的資源部署,并形成與軟件研發(fā)流程相融合的自動化鏈路。服務(wù)器集群的部署如圖1所示。

提高可視化反饋機(jī)制

為了在提高軟件交付質(zhì)量的同時(shí)縮短軟件迭代周期,可視化的反饋機(jī)制作為工具鏈的后端顯得尤為重要,結(jié)合工作場景,反饋的形式包括郵箱、即時(shí)通信和監(jiān)控看板,工具間的數(shù)據(jù)打通是實(shí)時(shí)反饋的基礎(chǔ),關(guān)鍵技術(shù)在于突破各通信交互間的接口。

并行開展實(shí)施的方案

Hubot方案:基于異步處理與TCP通信,采用當(dāng)前最流行的nodejs框架,通過調(diào)用即時(shí)通信系統(tǒng)的接口單點(diǎn)接入,實(shí)現(xiàn)用戶個(gè)性反饋;通過單點(diǎn)接入技術(shù)與流程的結(jié)合,向軟件研發(fā)人員定時(shí)(每天、每周)、實(shí)時(shí)推送定制化消息,實(shí)現(xiàn)人機(jī)交互的溝通模式。

TBox方案:借鑒OSGI模塊化設(shè)計(jì)和C/S部署架構(gòu),為所有的自研工具打造一個(gè)下載管理和監(jiān)控的平臺,構(gòu)造線程池管理消息隊(duì)列,采集在線情況并存儲為組織級的度量數(shù)據(jù),該方案原理如圖2所示。

報(bào)表展示方案:基于數(shù)據(jù)庫讀取的報(bào)表工具,從海量的數(shù)據(jù)中提取和加工為項(xiàng)目評估數(shù)據(jù),以實(shí)時(shí)看板提高對用戶的反饋速度,提高項(xiàng)目運(yùn)行效率,其方案原理如圖3所示。

通過UI的設(shè)計(jì)后,項(xiàng)目的過程數(shù)據(jù)和健康狀態(tài)通過儀表盤的方式實(shí)時(shí)展示給團(tuán)隊(duì)成員。

項(xiàng)目成效

圖2 TBox系統(tǒng)架構(gòu)圖

圖3 基于實(shí)時(shí)數(shù)據(jù)庫的報(bào)表展示系統(tǒng)架構(gòu)圖

圖4 軟件研發(fā)過程自動化狀況

圖5 軟件研發(fā)過程中優(yōu)化的活動分布

基于DevOps的安全關(guān)鍵軟件研發(fā)工具鏈分階段部署上線后,已在100個(gè)項(xiàng)目上投入使用,根據(jù)2017年年底統(tǒng)計(jì)的數(shù)據(jù),按照軟件研發(fā)的5大過程來看,自動化取得的成效如圖4所示,優(yōu)化了原有25個(gè)活動中的16個(gè)活動,優(yōu)化的活動分布如圖5所示。

除此以外,還實(shí)現(xiàn)了54個(gè)自研軟件工具、6個(gè)商用軟件工具和20臺設(shè)備的管理,為用戶提供了統(tǒng)一的工具/設(shè)備環(huán)境的下載使用和監(jiān)控平臺,為頻繁迭代的自研工具提供了管理手段;同時(shí)工具/設(shè)備的使用情況得到實(shí)時(shí)監(jiān)控,采集周期精確到60s,截至2017年已累積了9個(gè)月的工具使用數(shù)據(jù)。

與此同時(shí),實(shí)現(xiàn)了140個(gè)關(guān)鍵業(yè)績指標(biāo)(KPI)數(shù)據(jù)中88個(gè)的自動采集,52個(gè)KPI數(shù)據(jù)的半自動采集,覆蓋4類決策場景,并利用B/S架構(gòu)的設(shè)計(jì),方便不同場地的接入查詢,利用即時(shí)通信系統(tǒng)及時(shí)地通知到個(gè)人。截至2017年年底,完成智能推送消息8714條,有效提高了項(xiàng)目和組織管理效率。

項(xiàng)目創(chuàng)新

基于DevOps的安全關(guān)鍵軟件研發(fā)工具鏈自上線以來,有超過100個(gè)軟件研發(fā)項(xiàng)目在該平臺上使用,管理了約150人規(guī)模的科研人員。本項(xiàng)目在方案探索和研制過程中克服了諸多關(guān)鍵技術(shù)和難點(diǎn),對項(xiàng)目管理、軟件工程等的經(jīng)典方法論進(jìn)行了有機(jī)整合,技術(shù)創(chuàng)新總結(jié)如下:

● 實(shí)現(xiàn)了基于版本的軟件全生命周期數(shù)據(jù)的管理,打通了9類工具間的數(shù)據(jù)互聯(lián),利用項(xiàng)目和軟件版本作為關(guān)鍵索引解決了數(shù)據(jù)孤島問題;

● 利用分布式的部署環(huán)境支持多樣性的自動化服務(wù),為軟件研發(fā)流程提供了大量的自動化工作,解決了流程操作的重復(fù)性工作和人工檢查的重復(fù)性工作;

● 以應(yīng)用商店為平臺,建立了組織內(nèi)部的“云管理商店”,對生命周期的研制環(huán)境進(jìn)行了有效的監(jiān)控和管理,確保可實(shí)時(shí)基于歷史項(xiàng)目的過程數(shù)據(jù)和對應(yīng)的工作環(huán)境,產(chǎn)出期望的工作產(chǎn)品,以滿足控制軟件30年內(nèi)的數(shù)據(jù)可快速恢復(fù)、檢索的要求;

● 實(shí)現(xiàn)了140個(gè)KPI數(shù)據(jù)中88個(gè)的自動采集,52個(gè)的半自動采集,覆蓋4類決策場景,采集周期精確到60s,B/S架構(gòu)的設(shè)計(jì)能方便不同地點(diǎn)的接入,同時(shí)利用即時(shí)通信系統(tǒng)給個(gè)人推送定制化消息,消息的延時(shí)在120s以內(nèi)。

總結(jié)

基于DevOps的安全關(guān)鍵軟件研發(fā)工具鏈集成,一方面繼承了原有的成熟需求管理、配置管理等貨架管理平臺的優(yōu)勢,利用了原有的技改建設(shè)基礎(chǔ);另一方面依據(jù)自身的研發(fā)組織及技術(shù)特點(diǎn)進(jìn)行了大量的集成、定制及自動化開發(fā)。通過對軟件研發(fā)全生命周期工程數(shù)據(jù)及管理數(shù)據(jù)的分類、標(biāo)記和整合,解決了原有系統(tǒng)中的數(shù)據(jù)孤島、數(shù)據(jù)沖突、數(shù)據(jù)檢索困難等問題,促進(jìn)了嵌入式控制軟件研發(fā)的效率和質(zhì)量控制能力。

通過大量管理活動的自動化集成及文檔的自動化生成集成,使得軟件研發(fā)人員可以更關(guān)注于軟件開發(fā)測試技術(shù)本身,節(jié)省不必要的流程簽署及文檔生成工作。

創(chuàng)新項(xiàng)目保留了原有的成熟的貨架軟件研發(fā)管理工具,在繼承了上百個(gè)項(xiàng)目近10年的開發(fā)過程及數(shù)據(jù)的基礎(chǔ)上,對所有的生命周期數(shù)據(jù)進(jìn)行了標(biāo)記和分類,開發(fā)了數(shù)據(jù)總線及大量自動化操作,采用了儀表盤、語義識別機(jī)器人等新的信息化技術(shù),為后續(xù)進(jìn)一步提升嵌入式控制軟件研發(fā)提供了保障和技術(shù)基礎(chǔ)。

猜你喜歡
生命周期部署工具
全生命周期下呼吸機(jī)質(zhì)量控制
一種基于Kubernetes的Web應(yīng)用部署與配置系統(tǒng)
晉城:安排部署 統(tǒng)防統(tǒng)治
波比的工具
波比的工具
部署
從生命周期視角看并購保險(xiǎn)
民用飛機(jī)全生命周期KPI的研究與應(yīng)用
準(zhǔn)備工具:步驟:
“巧用”工具