我們使用Shell、Python腳本或Ansible?配置管理工具將內(nèi)部常用的一些軟件及應(yīng)用系統(tǒng)的安裝過(guò)程進(jìn)行封裝,并發(fā)布到CMP平臺(tái)中,提供標(biāo)準(zhǔn)化藍(lán)圖方便大家申請(qǐng)。

1551256985351078941.jpg

自服務(wù)自運(yùn)維門(mén)戶(hù)

在門(mén)戶(hù)中,大家可以看到已經(jīng)發(fā)布好的服務(wù)卡片,通過(guò)點(diǎn)擊服務(wù)卡片即可完成IaaS資源或應(yīng)用系統(tǒng)的自助申請(qǐng),在平時(shí)的開(kāi)發(fā)測(cè)試過(guò)程中,我們不再需關(guān)心底層復(fù)雜的系統(tǒng)或網(wǎng)絡(luò)配置。

在門(mén)戶(hù)中,大家也可以清晰地看到自己所管理的資源的性能情況,還可以簡(jiǎn)單便捷地完成一些日常的基礎(chǔ)運(yùn)維操作:重啟、調(diào)整配置、添加邏輯卷、擴(kuò)展邏輯卷等。此外,使用管理賬號(hào)登錄CMP管理平臺(tái),可以清晰地看到公司內(nèi)部資源的總體使用情況。

1551257008022053492.jpg

總結(jié)與建議

在騫云科技的DevOps實(shí)踐中,一方面,我們將GitLab、Gerrit、Jenkins、Ansible、JMeter、Robot?Framework等成熟的開(kāi)源工具開(kāi)源技術(shù)和企業(yè)內(nèi)部的云管理平臺(tái)相結(jié)合,實(shí)現(xiàn)了較高程度的開(kāi)發(fā)測(cè)試流程自動(dòng)化,推動(dòng)了產(chǎn)品的持續(xù)集成和持續(xù)交付,減少了大量的重復(fù)勞動(dòng),提高了開(kāi)發(fā)測(cè)試效率。

另一方面,通過(guò)使用云管理平臺(tái),將復(fù)雜異構(gòu)的IaaS資源服務(wù)化,降低了使用難度;結(jié)合業(yè)務(wù)部門(mén)需求合理劃分資源,減少了資源浪費(fèi),加強(qiáng)了資源的有效隔離,避免了誤操作;自服務(wù)自運(yùn)維的模式,也極大地提升了公司整體研發(fā)效率。

我們的DevOps實(shí)踐方案適用的場(chǎng)景非常多樣,比如:彈性伸縮、遷移、負(fù)載均衡。在傳統(tǒng)IT、金融、互聯(lián)網(wǎng)、游戲等行業(yè)也具有普適性。

未來(lái)發(fā)展方向

在介紹Ansible自動(dòng)化部署時(shí)有提到,我們的業(yè)務(wù)系統(tǒng)由20多個(gè)服務(wù)組成,符合服務(wù)化的架構(gòu)設(shè)計(jì),目前已經(jīng)可以滿(mǎn)足私有化的部署需求。隨著新功能的不斷引入,部分業(yè)務(wù)子系統(tǒng)復(fù)雜度和團(tuán)隊(duì)開(kāi)發(fā)耦合度會(huì)逐漸升高,協(xié)作效率和部署效率會(huì)變得低下。另外,當(dāng)前的軟件架構(gòu)和部署架構(gòu)不能滿(mǎn)足將來(lái)的SaaS化部署。所以,我們?nèi)孕枰獙⒎?wù)進(jìn)行更細(xì)粒度的拆分,逐步向微服務(wù)架構(gòu)轉(zhuǎn)變并使用容器化部署,進(jìn)一步降低開(kāi)發(fā)和部署成本。

Q&A

Q:你們的主要業(yè)務(wù)是什么?

A:我們專(zhuān)注于云管理領(lǐng)域,致力于IT云化轉(zhuǎn)型。我們的核心產(chǎn)品SmartCMP云管理平臺(tái)是以應(yīng)用為核心的新一代云管理平臺(tái)。SmartCMP平臺(tái)能夠統(tǒng)一管理異構(gòu)云資源,并以國(guó)際領(lǐng)先的可視化應(yīng)用藍(lán)圖建模技術(shù)為基礎(chǔ),實(shí)現(xiàn)IaaS/IaaS+/容器等的自動(dòng)化交付和控制,并且能夠?qū)υ频氖褂煤统杀具M(jìn)行追蹤和優(yōu)化。

Q:CMP和各個(gè)云平臺(tái)打通都使用了平臺(tái)的jar,并且需要各種資源生成,這個(gè)工作量也不小吧?并且如果api更新代碼量也大吧

A:我們的核心業(yè)務(wù)就是做云管理平臺(tái),我們產(chǎn)品已經(jīng)完成了對(duì)各個(gè)云平臺(tái)的對(duì)接,主要調(diào)用各個(gè)云平臺(tái)的API。公有云的API更新頻率并不是很高,每當(dāng)API有更新時(shí),我們也及時(shí)去適配。

Q:CMP是如何實(shí)現(xiàn)與如阿里云這樣的公有云打通的?

A:公有云都提供了REST API,并且提供Java語(yǔ)言和Python語(yǔ)言的SDK。

Q:你們的虛擬機(jī)都是提前創(chuàng)建好了嗎?

A:我們的虛擬機(jī)都是根據(jù)需要,通過(guò)CMP即時(shí)創(chuàng)建和回收的。

Q:CMP管理平臺(tái)是自己開(kāi)發(fā)的嗎?

A:CMP是我們自己的核心產(chǎn)品,所以肯定是自研的。

Q:請(qǐng)問(wèn)貴司沒(méi)有采用容器么?為什么還要大量寫(xiě)playboo k呢?直接j jenkin執(zhí)行打包成鏡像不就可以了嗎?

A:目前我們主要是ToB的業(yè)務(wù),項(xiàng)目交付以虛擬機(jī)部署為主,所以需要使用Ansible playbook做整個(gè)應(yīng)用系統(tǒng)的安裝部署。

Q:你們的虛擬機(jī)自動(dòng)化創(chuàng)建使用的是kickstart嗎?有使用Packer嗎,想問(wèn)下選擇的原因。

A: 不是的。我們都是通過(guò)對(duì)接云平臺(tái)的API進(jìn)行虛機(jī)創(chuàng)建,如:vSphere,OpenStack,Aliyun等。

Q:Jenkins初次提交也能觸發(fā)構(gòu)建嗎?每次自動(dòng)化構(gòu)建版本號(hào)是如何更新的呢?

A: 我們的項(xiàng)目代碼具備構(gòu)建條件后,才在Jenkins上創(chuàng)建了項(xiàng)目構(gòu)建Job,所以并沒(méi)有在初次提交時(shí)觸發(fā)構(gòu)建。每次構(gòu)建的版本號(hào)由兩部分組成,一部分是產(chǎn)品的Release大版本號(hào),另一部分直接使用的Jenkins build number這個(gè)環(huán)境變量。

Q: 你們的生產(chǎn)環(huán)境部署是通過(guò)使用ansible部署服務(wù),是否有考慮結(jié)合使用docker swarm 或者kubernates?

A: 目前我們主要是ToB的業(yè)務(wù),目前還沒(méi)有完成微服務(wù)架構(gòu)的改造,所以還沒(méi)有進(jìn)行容器化部署。當(dāng)然,將來(lái)我會(huì)考慮使用Kubernetes。

Q:CMP是java的么

A: CMP中的管理模塊使用Java語(yǔ)言編寫(xiě)。其他模塊也涉及Python語(yǔ)言。

Q:有了gerrit,為什么還要gitlab?gerrit也可以托管代碼啊

A: 這個(gè)是有歷史背景的,我們是先選擇使用Gitlab做代碼托管,后期才加入Gerrit做code review。Gerrit在代碼review方面比Gitlab的merge request要方便許多,更適合企業(yè)內(nèi)部使用。

Q:是否支持對(duì)華為fusion cloud6.3.1云平臺(tái)的對(duì)接管理?有沒(méi)有和計(jì)費(fèi)系統(tǒng)對(duì)接的案例?實(shí)現(xiàn)類(lèi)似阿里云等公有云這種在線(xiàn)訂購(gòu)交付

A:我們暫時(shí)還沒(méi)有支持fusion cloud6.3.1云平臺(tái)的對(duì)接管理。我們CMP實(shí)現(xiàn)了計(jì)量計(jì)費(fèi)功能,對(duì)公有云、私有云、容器都可以統(tǒng)計(jì)費(fèi)用明細(xì),生成可視化費(fèi)用分析視圖。

Q:Jenkins構(gòu)建項(xiàng)目,如何管理多項(xiàng)目的Jenkinsfile,如何解決slave maven構(gòu)建緩存問(wèn)題?如果多個(gè)項(xiàng)目依賴(lài)同一個(gè)common倉(cāng)庫(kù),這次有一個(gè)項(xiàng)目和這個(gè)common項(xiàng)目有改動(dòng),都是在develop分支開(kāi)發(fā),構(gòu)建順序是怎樣?如何讓common不影響其它引用到它的倉(cāng)庫(kù)構(gòu)建?

A:我們沒(méi)有使用Jenkins file管理多個(gè)項(xiàng)目,我們通過(guò)創(chuàng)建Pipeline來(lái)實(shí)現(xiàn)代碼構(gòu)建。對(duì)于Java工程的maven構(gòu)建,我們每次在構(gòu)建前清理緩存。

Q:CMP系統(tǒng),會(huì)涉及工單審批功能嗎?能否介紹一下這塊的實(shí)現(xiàn)呢?

A: CMP系統(tǒng)包含了工單審批功能。我們官網(wǎng)可以預(yù)約產(chǎn)品免費(fèi)試用,您可以直接上手體驗(yàn)。

Q:能否提供一下嘉賓的聯(lián)系方式

A: 我們也技術(shù)交流群(QQ):707214697。

分享到

songjy

相關(guān)推薦