我們之前已經(jīng)聽(tīng)到很多談?wù)揇evOps和DevOps世界的最新趨勢(shì)的事情,但是就DevOps工程師本身,到底干些什么呢?
在最純粹的存在形式上來(lái)說(shuō),DevOps工程師是為了加快開(kāi)發(fā)和運(yùn)營(yíng)團(tuán)隊(duì)之間的
交付效率而存在的橋梁。
DevOps工程師在軟件生命周期中能帶來(lái)什么?
在傳統(tǒng)的交付周期中,軟件開(kāi)發(fā)人員會(huì)在經(jīng)年累月的編寫(xiě)代碼后,將軟件交給QA團(tuán)隊(duì)進(jìn)行測(cè)試,然后將最終版本交給運(yùn)營(yíng)團(tuán)隊(duì)部署。這三個(gè)階段,即開(kāi)發(fā),測(cè)試和部署之間是缺乏協(xié)作的。
開(kāi)發(fā)編寫(xiě)的代碼最終并交給運(yùn)維團(tuán)隊(duì),然后運(yùn)維團(tuán)隊(duì)來(lái)解決代碼部署過(guò)程中出現(xiàn)的問(wèn)題,或者將代碼交還給開(kāi)發(fā)團(tuán)隊(duì)來(lái)解決遇到的問(wèn)題。所有這些都導(dǎo)致了軟件開(kāi)發(fā)過(guò)程的放慢。
但是在DevOps模式下,這三個(gè)團(tuán)隊(duì)不再孤立。大多數(shù)時(shí)間內(nèi),從開(kāi)發(fā)、測(cè)試、部署到運(yùn)營(yíng),相關(guān)的工程師合并成一個(gè)團(tuán)隊(duì)并且貫穿整個(gè)軟件生命周期,開(kāi)發(fā)不再限制于某一個(gè)技能而是一整套技術(shù)解決方案。當(dāng)然安全團(tuán)隊(duì)也因此有可能在這個(gè)軟件生命周期中與開(kāi)發(fā)和運(yùn)營(yíng)更緊密地工作,及早發(fā)現(xiàn)安全問(wèn)題。
為什么DevOps工程師的角色各不相同呢?
DevOps工程師并不是什么新鮮事物。比如系統(tǒng)工程師,自動(dòng)化工程師,軟件工程師,Linux工程師等等工程師都能成為DevOps工程師。
但是,DevOps工程師的工作性質(zhì)因組織而異。比如有些是在基礎(chǔ)設(shè)施自動(dòng)化和維護(hù)中發(fā)揮作用,而在另外一些組織中卻是在整個(gè)交付鏈中發(fā)揮作用而已。
DevOps工程師的角色各不相同,因?yàn)樗仨毻ㄟ^(guò)克服傳統(tǒng)協(xié)作障礙與開(kāi)發(fā)和運(yùn)維人員進(jìn)行協(xié)作。而不同的組織有不同的障礙,因此其扮演的角色自然不同。
DevOps工程師日常工作中最重要的兩個(gè)方面
盡管DevOps工程師的角色各不相同,但幾乎所有DevOps工程師每天都會(huì)觸及兩件事 - 自動(dòng)化和持續(xù)集成。
自動(dòng)化:
與維護(hù)基礎(chǔ)設(shè)施有關(guān)的大部分任務(wù)仍然是手動(dòng)的。公司更喜歡使用傳統(tǒng)的經(jīng)過(guò)驗(yàn)證的方法,而不是自動(dòng)化相同的流程,因?yàn)樗麄儾幌朊叭魏物L(fēng)險(xiǎn)。但事實(shí)是自動(dòng)化任務(wù)將有助于更快速地開(kāi)發(fā)和部署軟件,這意味著能加快公司從客戶處賺取利益的速度。
為了闡述清楚這一點(diǎn),我們可以考慮下面這個(gè)情況,系統(tǒng)工程師如果每天按要求手動(dòng)備份所有服務(wù)兩次,那么他可以通過(guò)在云端設(shè)施上編寫(xiě)腳本來(lái)完成這項(xiàng)工作而不是浪費(fèi)時(shí)間來(lái)完成這項(xiàng)工作。通過(guò)自動(dòng)執(zhí)行備份過(guò)程,您可以讓系統(tǒng)工程師更專注于重要的事情,例如對(duì)由于某些因?yàn)樘摂M機(jī)問(wèn)題而需要關(guān)閉的服務(wù)進(jìn)行故障排除。手動(dòng)執(zhí)行相同的操作會(huì)導(dǎo)致您的系統(tǒng)工程師的負(fù)擔(dān)過(guò)重,而這些工程師的效率將大大降低。這只是一個(gè)非常簡(jiǎn)單的例子,通過(guò)不實(shí)施自動(dòng)化來(lái)闡述資源浪費(fèi)的概念。
DevOps因此可以作為敏捷的擴(kuò)展,因?yàn)樗梢越档陀捎陂_(kāi)發(fā)人員、QA和運(yùn)維團(tuán)隊(duì)之間的非協(xié)作而可能出現(xiàn)的風(fēng)險(xiǎn)。DevOps通過(guò)認(rèn)識(shí)到高質(zhì)量的軟件開(kāi)發(fā)要求包括質(zhì)量保證和運(yùn)營(yíng)專家在內(nèi)的所有利益相關(guān)方的持續(xù)參與和反饋,擴(kuò)大了敏捷原則的范圍。
有很多事情可以通過(guò)自動(dòng)的方式來(lái)完成,比如在發(fā)布新的補(bǔ)丁的時(shí)候更新ApacheWeb服務(wù)器,更新部署在服務(wù)器上的開(kāi)源軟件的版本。
DevOps工程師可以通過(guò)創(chuàng)建腳本環(huán)境自動(dòng)完成配置服務(wù)器的過(guò)程。您可以在一個(gè)節(jié)點(diǎn)上運(yùn)行腳本,但如果在數(shù)千上百個(gè)節(jié)點(diǎn)上手工運(yùn)行相同的腳本將變得不切實(shí)際。腳本在這里就變得不再是一個(gè)可擴(kuò)展的解決方案了。
因此,需要以可擴(kuò)展的方式跨大量節(jié)點(diǎn)自動(dòng)化進(jìn)行軟件配置、配置管理和應(yīng)用程序部署。這是配置管理工具(如Chef,Puppet和Ansible)在DevOps世界中派上用場(chǎng)的地方。
持續(xù)集成:
關(guān)于DevOps的另一個(gè)重要方面是在軟件開(kāi)發(fā)實(shí)踐中實(shí)施持續(xù)集成(CI), CI允許開(kāi)發(fā)人員不斷更新自動(dòng)化構(gòu)建、測(cè)試使用到的資源庫(kù)。
持續(xù)集成系統(tǒng)通常包含一個(gè)可以持續(xù)監(jiān)控版本控制系統(tǒng)的工具。只要檢測(cè)到對(duì)版本控制系統(tǒng)的更改,系統(tǒng)就會(huì)自動(dòng)構(gòu)建并測(cè)試您的應(yīng)用程序。如果構(gòu)建或測(cè)試沒(méi)有通過(guò)的,系統(tǒng)會(huì)立即通知開(kāi)發(fā)人員解決問(wèn)題。
持續(xù)集成可確保持續(xù)交付,因?yàn)樗写a更改都會(huì)不斷部署到構(gòu)建階段之后的測(cè)試和生產(chǎn)環(huán)境中。
通過(guò)持續(xù)集成,開(kāi)發(fā)人員可以從人工任務(wù)中解脫出來(lái),提高工作效率,因?yàn)楝F(xiàn)在在CI中以自動(dòng)化方式完成自動(dòng)構(gòu)建任務(wù),并且由于更加頻繁的測(cè)試,錯(cuò)誤和bug更容易找到和解決,從而最終用戶的更新可以更快,更頻繁地進(jìn)行。
有不同的產(chǎn)品和工具可以幫助您在組織中實(shí)現(xiàn)持續(xù)集成。有些工具可讓您將CI 服務(wù)器托管在您自己的網(wǎng)絡(luò)基礎(chǔ)架構(gòu)中。最受歡迎的是從Sun的Hudson項(xiàng)目更名為Jenkins的工具。
還有一些其他托管的CI產(chǎn)品,如完全托管在云中的CircleCI和Travis CI。這些托管的CI產(chǎn)品越來(lái)越受到小組織的歡迎,因?yàn)樗构こ虉F(tuán)隊(duì)能夠盡快開(kāi)始持續(xù)集成。
總結(jié)
DevOps工程師扮演的最重要角色是彌合軟件開(kāi)發(fā)和運(yùn)營(yíng)團(tuán)隊(duì)之間的差距,提高軟件交付速度。
盡管DevOps工程師在組織中的角色各不相同,但有兩個(gè)共同點(diǎn):自動(dòng)化和持續(xù)集成。
-
工程師
+關(guān)注
關(guān)注
59文章
1572瀏覽量
68655 -
devops
+關(guān)注
關(guān)注
0文章
116瀏覽量
12093
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
![](https://file1.elecfans.com/web3/M00/05/24/wKgZPGd9BIKAasMYAAP9Ml_injM792.jpg)
不同時(shí)期的硬件工程師,最怕發(fā)生的事 #電子工程師 #硬件工程師 #內(nèi)容過(guò)于真實(shí) #YXC晶振 #揚(yáng)興科技
![](https://file1.elecfans.com/web1/M00/F3/FA/wKgaoWciDI6ABdEhAAJtvu-cw_c556.jpg)
當(dāng)你的工程師朋友失聯(lián)時(shí),別氣,ta真的是在忙工作 #搞笑 #電子愛(ài)好者 #硬件工程師 #晶振 #揚(yáng)興科技
![](https://file1.elecfans.com/web2/M00/07/FB/wKgZombz6VuAFeotAAIjSCj1HKI007.jpg)
硬件工程師VS軟件工程師|硬件工程師看到這都淚目了!#硬件設(shè)計(jì) #硬件工程師 #電子工程師 #軟件工程師
LM318 COMP管腳是什么引腳,干什么用的?
![](https://file1.elecfans.com/web2/M00/FF/40/wKgaomahti2AV26dAAMiNIjdnKg435.jpg)
![](https://file1.elecfans.com/web2/M00/FE/5C/wKgaomaaQAGASltQAAbqv2SgV1E642.png)
![](https://file1.elecfans.com/web2/M00/EB/14/wKgaomZXAd-AWEwjAAuV2RdwuSM130.png)
干硬件這一行,各種辛酸只有同行才懂吧 ? #電路設(shè)計(jì) #電子愛(ài)好者 #硬件工程師 #電子工程師
嵌入式軟件工程師和硬件工程師的區(qū)別?
![](https://file1.elecfans.com/web2/M00/E5/09/wKgZomZB1aqAfoLMAALwKMk88bw153.jpg)
電子工程師常見(jiàn)面試題(二)看看你能答對(duì)幾道吧#電子工程師 #電子工程師面試 #電子信息 #電工
![](https://file1.elecfans.com/web2/M00/DF/FB/wKgZomY1H9uAdzzJAAMwQMmJ0js548.jpg)
“班長(zhǎng)!說(shuō)好畢業(yè)后當(dāng)硬件工程師,你怎么..." #搞笑 #電子行業(yè) #電子工程師 #晶振 #揚(yáng)興科技
![](https://file1.elecfans.com/web2/M00/DE/DE/wKgZomYwuQ-AegjsAAISSibiD4I286.jpg)
美國(guó)云服務(wù)器是干什么的
![](https://file1.elecfans.com/web2/M00/C1/DF/wKgZomXfAbCATSsHAA8xXbkMaK8112.png)
評(píng)論