什麼是DevOps?該如何正確的在企業內進行實踐

傳統IT技術團隊中一般都有多個獨立的組織-開發團隊、測試團隊和運維團隊。開發團隊進行軟件開發、測試團隊進行軟件測試,運維團隊致力於部署,負載平衡和發佈管理。 他們之間的職能有時重疊、有時依賴、有時候會衝突。vue

由於銜接與溝通問題,有時會致使開發-測試-發佈的週期太長了,特別是對於互聯網公司,時間就是生命。從而須要創建一支由開發,質量保證和運營組成的混合專業知識的團隊的需求,並引入了DevOps來彌合團隊之間的鴻溝,幫助他們快速而可靠地操做和開發應用程序。ios

1、什麼是DevOps?

顧名思義,Devops是「開發」與「運維」的縮寫。它定義了一組流程,這些流程經過在開發和運維團隊之間進行協做帶來組織文化上的轉變。它包含四個關鍵組件:協做,實踐,文化和工具。spring

2、爲何咱們須要DevOps?

DevOps帶來更高水平的協做和速度,使組織提升生產力,下降運營成本以有效地爲客戶提供服務並保持市場競爭力。它還有助於更快地發佈產品,管理計劃外的工做,更快地捕獲和解決關鍵問題。docker

3、DevOps實踐

獨立devops團隊
DevOps使用各類工具,例如docker、k8s、Jenkins,Terraform,Nagios,Grafana,Prometheus或Splunk等,組織應創建一個集中部門來建立和操做這些工具。這個集中管理部門負責開發團隊中的敏捷實踐設置,該團隊將研究新的工具並堅持使用,並提供指導程序和培訓以實施DevOps。該部門核心工做內容是追求測試、集成、部署的自動化,減小人員參與、下降溝通成本、彌合技術團隊之間的鴻溝。後端

持續集成(CI)springboot

CI是一種軟件開發實踐,可改善團隊之間的協做並有助於構建高質量的軟件。開發團隊會按期檢入存儲庫中的代碼更改,CI會執行自動構建和測試以驗證代碼質量。持續集成所採用的實踐能夠在早期階段快速檢測出軟件開發生命週期(SDLC)的挑戰,從而有助於開發團隊在開發階段自己解決問題。服務器

持續交付/部署(CD)網絡

部署過程具備不一樣的階段,例如開發→構建→驗證→構建版本控制→部署→後部署等。持續部署過程的思想是,在構建經過QA階段的全部階段後,將已開發的代碼自動部署到生產環境中。 -beta,Integration,UAT等。有一些可用的工具,例如Spinnaker,Jenkins,Harness,Ansible,Chef,Puppet等,使DevOps團隊能夠創建自動化管道,以最少的人工干預就能夠在多個環境中進行部署。架構

持續交付是DevOps的一種實踐,其中新的代碼庫由QA團隊在自動和手動QA週期的不一樣階段進行測試。若是代碼庫經過了QA週期並獲得QA團隊的批准,則它將部署到生產環境中。經過這種方式,DevOps將團隊劃分爲較短的週期,從而使團隊可以更快,更頻繁地構建,測試和發佈代碼庫。這使組織可以提供更多版本,減小手動部署,並將生產中的故障風險降至最低。前後端分離

配置管理(CM)

配置和變動管理是DevOps週期的重要組成部分。配置管理是對基礎結構和系統的全部實體(例如服務器,應用程序,存儲,網絡和全部託管服務)進行配置,監視,管理和維護的自動化。也有許多的集中配置管理工具可使用,好比:nacos、apollo等。

配置管理帶來了許多優點,例如簡化了新環境的設置,下降了生產配置的風險,並節省了軟件開發的大量時間,而無需花費時間和精力來使用基礎結構即代碼實踐從頭開始新服務。

變動管理

變動管理是一個請求,計劃,實施和評估知足新要求所需的變動的過程。在配置管理過程當中,若是現有系統和基礎架構中須要進行任何更改,那麼此時就要考慮更改管理。運營團隊須要提供他們的意見,更改的緣由,以及可能在更大範圍內產生的後果,包括可能受到新更改影響的其餘系統。

測試自動化

每一個代碼庫的自動測試有助於運行更多測試,提升測試頻率,並節省手動QA上花費的時間。此過程可及早發現錯誤,修復錯誤,並提升總體軟件質量。有幾種工具能夠與DevOps工具集成,例如Selenium,RobotFramework,Appium,XCUITest,JUnit等,以實現自動化的測試。

持續監控(CM)

持續監控建議使用幾種工具,儀表板和警報來監視全部系統和基礎架構,包括對影響軟件的不一樣指標的實時洞察,例如系統性能,測試次數,成功和失敗率,部署狀態,錯誤日誌以及全部信息以圖形,表格和詳細報告格式顯示。爲了完成這樣的監視,DevOps團隊能夠設置一些工具,例如Prometheus,Grafana,Nagios,Appdynamics,NewRelic,Splunk,Logstash,以及市場上可用的更多工具。

歡迎關注個人博客,裏面有不少精品合集

  • 本文轉載註明出處(必須帶鏈接,不能只轉文字):字母哥博客

以爲對您有幫助的話,幫我點贊、分享!您的支持是我不竭的創做動力! 。另外,筆者最近一段時間輸出了以下的精品內容,期待您的關注。

相關文章
相關標籤/搜索