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

























