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