張洋

摘要 DevOps是近幾年來在我國逐漸發(fā)展起來的新型范型,它能夠使開發(fā)和IT運(yùn)維兩者之間的協(xié)同得到保證,進(jìn)而能夠完成高頻率的部署,與此同時(shí)能夠使生產(chǎn)環(huán)境實(shí)現(xiàn)安全性、可靠性、穩(wěn)定性以及彈性。目前,DevOps和云計(jì)算兩者能夠一起來實(shí)現(xiàn)資源的按需供給。隨著DevOps制品和云服務(wù)發(fā)展的規(guī)模越來越大,DevOps知識分散的也越來越不規(guī)范,并沒有得到較為有效的組織、管理以及利用。因此我們必須要解決怎樣對可以進(jìn)行選擇的DvpOps方法和工具來做出有效的措施和選擇。本文就這一問題,探討基于云服務(wù)的DevOps知識獲取與應(yīng)用研究。
[關(guān)鍵詞]云服務(wù) DevOps 實(shí)時(shí)獲取 應(yīng)用研究
目前互聯(lián)網(wǎng)技術(shù)越來越發(fā)達(dá),也越來越普及,但是關(guān)于軟件和服務(wù)的生命周期更新?lián)Q代的間隔也在隨之而縮短,當(dāng)然用戶的需求是希望能夠新版系統(tǒng)發(fā)布的第一時(shí)間體驗(yàn)到最新的功能特性,也希望能夠在最短的時(shí)間內(nèi)把系統(tǒng)的不足、缺陷等修復(fù)完整。所以,快速交付應(yīng)用系統(tǒng)和持續(xù)更新應(yīng)用系統(tǒng)現(xiàn)在已經(jīng)成為了我國的軟件廠商以及服務(wù)提供的商家之間互相競爭的一項(xiàng)重要標(biāo)準(zhǔn),能夠有效的是應(yīng)用發(fā)布周期縮短是廠商滿足用戶期望以及提升自己競爭優(yōu)勢的重要標(biāo)準(zhǔn)。
1 基于云服務(wù)的DevOps識獲取與應(yīng)用發(fā)展中存在的問題
DevOps和云服務(wù)的產(chǎn)生和發(fā)展、更新?lián)Q代都是比較快的,目前存在著多種多樣的DevOps相關(guān)的使用工具和方法,但是在功能方面有很多工具的作用是很相似的,所以我們面臨的困難就是如何選擇最為適合的方法和工具并且能夠把兩者組合來共同實(shí)現(xiàn)面向特定的應(yīng)用系統(tǒng)的DevOps自動化。另外,雖然DevOps相關(guān)的知識被分散的開源網(wǎng)站或社區(qū)等互聯(lián)網(wǎng)上面,但是卻并沒有得到很好的管理和利用,所以要想實(shí)現(xiàn)DevOps的自動化和協(xié)作就必須探索DevOps知識管理的有效方法,這是必要的前提。
2 基于云服務(wù)的DevOps知識獲取與應(yīng)用問題的分析
WordPress是我國目前較為流行的開源博客應(yīng)用系統(tǒng),基于WordPress的三層架構(gòu),其部屬和運(yùn)維需求包括以下三個(gè)方面:
(1)5.O及以上版本的MySQL數(shù)據(jù)庫服務(wù)器;
(2) PHP運(yùn)行環(huán)境要用5 24及以上版本;
(3) Web服務(wù)器使用Apache HTTPServer、Nginx都可以。
但是為了是WordPress最新版本能夠?qū)崿F(xiàn)持續(xù)支付,上述三個(gè)需求都必須在系統(tǒng)的DevOps中才能夠?qū)崿F(xiàn)。WordPress的多層體系結(jié)構(gòu)中不同的類型的中間組件有多種不痛的可供選擇的技術(shù)來實(shí)現(xiàn)。
3 基于云服務(wù)的DevOps的知識管理
對于基礎(chǔ)設(shè)施和中間件來說,選擇應(yīng)用系統(tǒng)的開發(fā)和運(yùn)維是有很多種不同的選擇方案的。隨著近年來我國DevOps的興起和發(fā)展,DevOps知識也在以不同的形式分布在互聯(lián)網(wǎng)上面,通常分為兩種:非結(jié)構(gòu)化和半結(jié)構(gòu)化,他們分別具有不同的信息來源。一方面,對于自動發(fā)現(xiàn)和獲取非結(jié)構(gòu)化數(shù)據(jù)相對比較困難,在機(jī)器語言不能夠準(zhǔn)確的解決問題時(shí),必須采用人工的方式來進(jìn)行非結(jié)構(gòu)化數(shù)據(jù)的抽取、整理以及評價(jià)等。人工方式又可以分為兩種形式分別是:領(lǐng)域?qū)<曳绞揭约爸袌?bào)的方式。如圖1所示。
4 基于云服務(wù)的DevOps的知識庫
DevOps知識管理系統(tǒng)的核心組件就是DevOps知識庫。因?yàn)镈evOps知識庫的協(xié)同工作并不是只有開發(fā)人員和運(yùn)維人員,其中還包括了由專家、爬蟲以及眾包方式等協(xié)同的關(guān)于DevOps知識的發(fā)現(xiàn)、獲取以及評價(jià)等。從技術(shù)方面看,DevOps知識庫是由很多個(gè)分布式的知識存儲來共同組成的。比如,開源社區(qū)維護(hù)其中的公共知識庫;而私有的知識庫可以由本公司或著部門來進(jìn)行維護(hù)。所以DevOps的知識庫就是由很多的共有和私有的知識庫共同組成的。
4.1 基于云服務(wù)的DevOps知識分類
要想實(shí)現(xiàn)DevOps知識系統(tǒng)化存儲管理和使用就必須做到知識的分類和關(guān)聯(lián),這是其必要前提。目前DevOps所涉及到的知識類型主要分為以下幾種:中間件、基礎(chǔ)設(shè)施、服務(wù)的提供方以及DevOps自動化工具。本文把以上的集中知識類型抽象化,這些抽象類型就可以存在和劃分很多個(gè)子類型。每一個(gè)可以重用的軟件制品和服務(wù)以及每一個(gè)具體的工具等都可以用來在為一個(gè)具體的DevOps以此來實(shí)現(xiàn)和一個(gè)或者更多個(gè)抽象類型來進(jìn)行關(guān)聯(lián)。
4.2 實(shí)現(xiàn)基于云服務(wù)的DevOps的知識庫原型
基于上述提到的關(guān)于DevOps知識分類和管理的方法,設(shè)計(jì)出了關(guān)于DevOps知識庫的原型。原型系統(tǒng)中存在一個(gè)通過Node.js來實(shí)現(xiàn)的知識庫構(gòu)造器,還包括一個(gè)基于Nodejs來實(shí)現(xiàn)的知識庫展示器。知識庫構(gòu)造器可以通過讀取知識庫里面的所有內(nèi)容,然后在通過分級的結(jié)構(gòu)化數(shù)據(jù)庫存儲方式進(jìn)一步的實(shí)現(xiàn)DevOps知識庫的創(chuàng)建和合并。另一方面,知識庫展示器可以對知識庫中的DevOps知識內(nèi)容以不同的形式展現(xiàn)出來,這樣知識庫能應(yīng)用到不同的場景。
5 結(jié)語
到目前為止,DevOps作為一種新型范型,其作用是能夠有效的、無縫銜接的試下軟件的自動化管理,并且是當(dāng)前一個(gè)較為有效的途徑。通過DevOps和云計(jì)算兩者結(jié)合能夠有效的共同實(shí)現(xiàn)基礎(chǔ)設(shè)施資源的按需供給。目前可重用DevOps制品規(guī)模和云服務(wù)的規(guī)模都在擴(kuò)大,在這樣的前提下應(yīng)用設(shè)計(jì)人員和開發(fā)人員進(jìn)行DevOps嘗試和實(shí)踐的機(jī)會也在隨之而增加,所以只有探索出完整的一套DevOps知識管理方法才能更快的發(fā)展DevOps。才能夠使基于云服務(wù)的DevOps知識獲取與應(yīng)用發(fā)展的越來越人性化。
參考文獻(xiàn)
[1]陳詠秋,張斌,徐明珠,面向云服務(wù)的DevOps知識獲取與應(yīng)用[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2016,25 (12):221-226.
[2]張軍,曾佑新.DevOps在企業(yè)信息化戰(zhàn)略中的創(chuàng)新與應(yīng)用[J].科學(xué)與信息化,2017(01).
[3]李強(qiáng),王寧.私有云管理平臺加速交付服務(wù)能力實(shí)踐[J],軟件,2017,38 (06):113-119.