大公司為什麼要會選擇DevOps?
如何理解 DevOps?
要想解釋這一問題,最先要確立 DevOps 流程參加的工作人員到底是誰?即開發 team 和 IT 運維 team !那麼,DevOps 的目的是什麼?即在2個 team 相互之間,構建高效的溝通和合作,更迅速更可靠的建立高質量的軟體!
實際上,並非這2個 team 相互之間的協作交付更加好的軟體,只是“開發”和“運維”team相互之間的統一性最佳化,並且以更高的效率交付。
大家不要忘了 DevOps 工具在構建自動化這方面所飾演的角色。開發和運維“一體化”的體驗是由開發者和實際操作工程師相互之間的專業技能組合和實踐的橋接和自動化(DevOps)工具的構建發生的。各國的大中型網際網路企業已開始採用DevOps方式來徹底最佳化其特性,安全性和team動態。
在本文中,我們一起了解 DevOps,為何它這麼至關重要!
大家將跟隨 DevOps 軟體開發方法的發展歷程,探索什麼是 DevOps 以及它的生命週期,並根據評估全球頂尖企業,來了解一下如何使用 DevOps 來獲取好處。
1 軟體開發的發展歷程
多年來,DevOps 從當下的軟體開發策略發展而成。我們一起簡要地看下這種模型是怎樣的發展歷程的,和他們最合適的應用場景。緩慢而繁瑣的瀑布模型演化成敏捷,開發team在很短的時間內構建軟體開發,響應時間甚至於不高於半個月。這麼短的釋出週期協助開發team正確處理客戶反饋,並將其與bug修補一起合併到下個版本號中。儘管這類敏捷的 SCRUM 方式為開發帶來了敏捷性,但它在運維這方面卻失去敏捷實際操作的效率。開發者和運維人員相互之間欠缺協作依然會減慢開發流程和釋出。DevOps 是基於對更加好的協作和更快速的交付的各種需求而發生的。DevOps 容許用比較少繁雜問題的持續軟體交付來修復和更迅速地解決困難。
如今大家早已掌握了 DevOps 的發展趨勢,我們一起來詳盡瞭解一下 DevOps 是怎樣的。
2 如何理解 DevOps ?
DevOps 是軟體開發方法,涉及到軟體在全部開發生命期中的持續開發,持續測試,持續整合,持續部署和持續監控。這種主題活動只有在DevOps 中構建,而並不是敏捷或瀑布,這是為何頂尖網際網路企業挑選 DevOps 做為其業務目標的正確方向。 DevOps 是在較短的開發週期內開發質量高的軟體的優選方式,能夠提升滿意度。在不掌握 DevOps 生命期的狀況下,對 DevOps 的瞭解也會片面化。如今我們一起了解一下DevOps 生命期,並討論他們怎樣與圖為的軟體開發階段相關聯。
持續開發:
它是 DevOps 生命期中軟體持續開發的環節。與瀑布模型是軟體可交付成效被分解為短開發進度的好幾個任務節點,在很短的時間內開發並交付。這一環節包含編碼和構建環節,並採用Git和SVN等工具來維護各種版本的程式碼,和 Ant、Maven、Gradle 等工具來構建/打包程式碼到可執行檔案中,這種文件能夠傳送給自動化測試系統軟體開展測試。
持續測試:
在這一環節,開發的軟體將被持續性地測試 bug。針對持續性測試,採用自動化檢測工具,如 Selenium、TestNG、JUnit 等。這種工具容許質量管理系統徹底並行地測試好幾個程式碼庫,以保證功能中沒有不足。在這一環節,採用 Docker 容器即時模擬“測試環境”都是優選。如果程式碼測試透過,它就會持續不斷與當下編碼整合。
持續整合:
它是支撐新功能的程式碼與當下程式碼整合的環節。因為軟體在持續性開發,升級後的程式碼必須持續性整合,並快速地與系統整合,以表明對終端使用者的各種需求變更。變更後的程式碼,還應當保證執行時環境中沒有異常,容許大家測試變更並檢查它如何與其它變更發生反應。
Jenkins 是1個十分主流的適用於持續整合的工具。採用 Jenkins,能夠從 git 儲存庫獲取近期最新的程式碼修訂,並轉化成 1 個搭建,最後能夠部署到檢測或生產製造網路伺服器。
能夠將其設定為在 git 儲存庫中發生變更時全自動開啟新構建,也可以在單擊按鍵時手動觸發。
持續部署:
這是將程式碼佈署到環境的環節。 這裡,大家保證在全部網路伺服器上恰當部署程式碼。 假如加上了任意作用或匯入了新功能,那麼應當準備好迎接更多的網站流量。因而,系統運維工作人員也有責任擴充伺服器以容下更多使用者。因為新程式碼是持續部署的,因而配置管理工具能夠更迅速,經常地實行任務。Puppet,Chef,SaltStack 和 Ansible 是這一環節採用的某些主流工具。容器化工具在部署環節也充分發揮著至關重要功效。
Docker 和 Vagrant 是主流的工具,有利於在開發,檢測,上臺和環境中構建完整性。此外,他們還有利於輕輕鬆鬆擴充和縮放例項。
持續監控:
它是 DevOps 生命期中十分重要的環節,在於透過電腦監控軟體的效能來提升軟體的質量。這種行為涉及到經營 team 的參加,她們將監控使用者活動中的異常/系統的任何不正當行為。這還可以根據採用專用型監控工具來實現,該工具將持續性監控應用程式效能並突顯問題。
採用的某些主流工具是 Splunk,ELK Stack,Nagios,NewRelic 和 Sensu。這些工具可協助密切監視應用程式和伺服器,以主動檢查系統的執行狀況。它們容許提升產出率並提升系統的可靠性,進而減少IT支撐成本。遇到的任意重特大問題能夠向開發 team 彙報,便於在持續性產品開發階段開展修復。這種 DevOps 環節持續迴圈系統開展,直至超過需要的產品質量。
東軟 SaCa Aclome 與 SaCa ACAP 可為您提供雲原生落地全套解決方案,藉助 SaCa Aclome 的多雲管理平臺可實現雲基礎設施的按需獲取、彈性排程、一體化監控與自動化運維,而 SaCa ACAP 敏捷雲應用管理平臺可快速構建出您的第一個微服務應用,再借助 SaCa Aclome 的應用持續交付平臺,實現雲原生應用的持續整合與持續交付!
來源:東軟平臺產品 ()
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946650/viewspace-2656050/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 為什麼要選擇SQL?SQL
- 老闆:你為什麼要選擇 Vue?Vue
- 為什麼爬蟲要選擇住宅代理?爬蟲
- 為什麼要選擇蘋果企業簽名?蘋果
- 為什麼要選擇分散式資料庫?分散式資料庫
- 為什麼要選擇電話機器人?機器人
- 為什麼要選擇代理來進行抓取?
- 為什麼大公司一定要使用 DevOps?dev
- 為什麼大公司一定要使用DevOps?dev
- 為什麼機器學習會選擇Python語言?機器學習Python
- 分散式鎖為什麼要選擇Zookeeper而不是Redis?分散式Redis
- 中小企業為什麼要選擇雲伺服器?伺服器
- 為什麼要選擇Python進行Web開發?PythonWeb
- 為什麼大公司要開源自己的技術?
- 為什麼我會選擇走 Java 這條路?Java
- 為什麼要選擇做一名程式設計師?程式設計師
- 為什麼還要選擇angular與angular學前準備Angular
- 為什麼大公司要設定這麼高的門檻?
- 為什麼選擇Guice框架GUI框架
- Aembit為什麼選擇 Rust?Rust
- 為什麼選擇使用Rust?Rust
- 為什麼要選擇學Python?Python可做哪些事情?Python
- 模切行業的ERP,為什麼要選擇點晴?行業
- 企業為什麼要選擇物件儲存?原因有5點!物件
- 為什麼企業要選擇低程式碼開發平臺?
- 為什麼選擇.NETCore?NetCore
- 為什麼選擇centos系統CentOS
- 為什麼選擇高防DNS?DNS
- 為什麼選擇Cynefin框架? – zwischenzugs框架
- (轉)為什麼選擇機器學習策略機器學習
- 我為什麼選擇 Angular 2?Angular
- Android為什麼選擇binderAndroid
- 為什麼選擇Twitter Storm?薦ORM
- 為什麼機器學習會選擇Python語言?很簡單!機器學習Python
- 容器場景要選擇什麼 Linux 版本?Linux
- 為什麼要選擇學習Linux呢?Linux發展如何?Linux
- 為什麼要選擇學習python?學習python的原因!Python
- 進入IT行業,為什麼要選擇學習Python語言?行業Python