我們真的需要每個(gè)項(xiàng)目的DevOps嗎?
開發(fā)人員和運(yùn)營團(tuán)隊(duì)之間的DevOps合作使敏捷和有效的部署結(jié)構(gòu)更為合理。但這在現(xiàn)實(shí)中是這樣工作的嗎?
如今,大多數(shù)軟件開發(fā)組織都在采用DevOps文化,并且它有很多好處。其中一些是:
- 持續(xù)交付和持續(xù)集成
- 縮短開發(fā)周期
- 提高質(zhì)量并降低成本:
- 穩(wěn)定的運(yùn)行環(huán)境:
- 增強(qiáng)的版本控制
上面的每個(gè)好處都與多個(gè)DevOps工具之一相關(guān)聯(lián)。我們必須了解為什么DevOps是必不可少的。我們真的需要上述功能與我們現(xiàn)有的軟件開發(fā)生命周期集成嗎?
您從使用DevOps Essentials的現(xiàn)有開發(fā)生態(tài)系統(tǒng)開始,并聘請了一名DevOps工程師,開始在當(dāng)前項(xiàng)目中實(shí)施DevOps工具,但是幾周后,您發(fā)現(xiàn)項(xiàng)目發(fā)布的穩(wěn)定性和交付情況與以前相同。
這樣一來,實(shí)施DevOps的成本以及該特定DevOps工具的月度和年度費(fèi)用都增加了。
在上述情況下缺少某些內(nèi)容;你知道那是什么嗎 可能是項(xiàng)目復(fù)雜性,微服務(wù),正確的DevOps工具的選擇,容器化,也可能是編排。
DevOps與工具無關(guān)
我從一些采用DevOps的客戶那里聽說。他們開始使用 Jenkins或CircleCI之類的工具進(jìn)行部署,或者使用Capistrano for Rails應(yīng)用程序之類的本地工具實(shí)現(xiàn)自動化部署。但是,DevOps不是自動化部署。要了解DevOps的核心原則,首先,您必須了解采用DevOps的實(shí)際好處。
案例研究:需要使用Docker Orchestration進(jìn)行POS應(yīng)用程序的自動化部署。
在過去的三年中,我們的團(tuán)隊(duì)之一致力于產(chǎn)品開發(fā)。直到今天,開發(fā)工作仍在進(jìn)行中,每天都在進(jìn)行,該團(tuán)隊(duì)每天要進(jìn)行3到4個(gè)部署,有時(shí)還會有一些熱修復(fù)程序。
假設(shè)我們在該項(xiàng)目中實(shí)現(xiàn)了DevOps,我們開始設(shè)計(jì)Docke圖像并與Kubernetes進(jìn)行編排,并使用CircleCI集成CI / CD。
- 使用Capistrano完成部署非常簡單
- 開發(fā)人員友好的環(huán)境,其中檢查日志和調(diào)試與開發(fā)人員的本地計(jì)算機(jī)相同
- 專注于產(chǎn)品開發(fā),無需操作知識
4周后:
- 部署時(shí)間略有減少
- 更好的性能
- 調(diào)試Docker面臨的問題
- 開發(fā)團(tuán)隊(duì)正在努力獲取日志和修補(bǔ)程序
- 需要部署權(quán)限,已創(chuàng)建依賴項(xiàng)
- 維修費(fèi)用增加
- 要解決使用第三方工具升級的問題,需要具備Docker的知識
在這里,我想澄清一下,我并不是說實(shí)現(xiàn)DevOps并不是一件好事,但是如果您打算僅通過閱讀Web內(nèi)容和實(shí)現(xiàn)工具來實(shí)現(xiàn)DevOps,那么我不建議您選擇DevOps。
僅閱讀文檔和觀看教程視頻,如何在生產(chǎn)中實(shí)現(xiàn)DevOps工具?這將是一場斗爭,最終將導(dǎo)致生產(chǎn)力降低而不是生產(chǎn)力提高。
DevOps實(shí)施不足之處
知識與準(zhǔn)備
DevOps要求很高,因?yàn)樗兄谙謩庸ぷ鳎⒂兄诩涌鞙y試和部署操作。因此知識和準(zhǔn)備狀態(tài)起著至關(guān)重要的作用。否則,將會有很多掙扎,這將導(dǎo)致生產(chǎn)率降低而不是生產(chǎn)率提高。
專注于產(chǎn)品開發(fā)
另一種情況是企業(yè)希望團(tuán)隊(duì)專注于產(chǎn)品開發(fā)。團(tuán)隊(duì)遵循的是敏捷方法論,因此他們每隔一周就要在生產(chǎn)中部署代碼。在大型組織中,開發(fā)新產(chǎn)品而不用擔(dān)心其他操作是完全可以的。但是,中小企業(yè)沒有那么多資源,因此頻繁發(fā)布的應(yīng)用程序使他們無法專注于DevOps。
確保您計(jì)劃實(shí)施DevOps,以了解其核心原理。DevOps通過自動化基礎(chǔ)架構(gòu)配置幫助節(jié)省了大量時(shí)間和精力,因此請考慮使DevOps自動化可以節(jié)省多少小時(shí)。