首頁>Club>
4
回覆列表
  • 1 # DevOps在路上

    What is DevOps ?

    DevOps 是一組用於促進開發和運維人員之間協作的過程、方法和系統的統稱。

    Wikipedia對DevOps的定義是:

    DevOps是軟體開發、運維和質量保證三個部門之間的溝通、協作和整合所採用的流程、方法和體系的一個集合。 它是人們為了及時生產軟體產品或服務,以滿足某個業務目標,對開發與運維之間相互依存關係的一種新的理解。 ...... DevOps並不僅僅關注軟體部署,它是部門間溝通協作的一組流程和方法。

    DevOps是Development和Operations的組合,是一種方法論,是一組過程、方法與系統的統稱,用於促進應用開發、應用運維和質量保障(QA)部門之間的溝通、協作與整合。以期打破傳統開發和運營之間的壁壘和鴻溝。

    從下圖中,可以看到Dev 和Ops 關注的點是不同的,並且有各自的利益和關注點,溝通必然存在障礙。一個想快速迭代,一個想穩定;一個不關心怎麼部署運維,一個不清楚開發架構;由此帶來的就是效率的低下,以及相互的抱怨,但是完整的專案並不是僅僅程式碼寫完就完事了,質量/穩定/運維才是更重要的。

    DevOps 提倡透過一系列的技術和工具降低開發和運維人員之間的隔閡,實現從開發到最終部署的全流程自動化,從而達到開發運維一體化。透過將 DevOps 的理念引入到整個系統的開發過程中,能夠顯著提升軟體的開發效率,使得各個團隊減少時間損耗,更加高效地協同工作,縮短軟體交付的週期,更加適應當今快速發展的網際網路時代。下面這個DevOps能力圖,良好的閉環可以大大增加整體的產出。

    DevOps 與傳統開發方式

    Why is DevOps ?

    猛得聽上去,DevOps很抽象,你可能會問以前沒有DevOps不是一樣開發交付嗎?為什麼是DevOps?

    瀑布開發,敏捷開發都聽過吧?DevOps你可以理解為新的開發模型,是文化和技術的方法論,需要公司在組織文化上的變革。

    DevOps早在九年前就有人提出來,但是,為什麼這兩年才開始受到越來越多的企業重視和實踐呢?因為DevOps的發展是獨木不成林的,現在有越來越多的技術支撐。微服務架構理念、容器技術使得DevOps的實施變得更加容易,計算能力提升和雲環境的發展使得快速開發的產品可以立刻獲得更廣泛的使用。

    因為技術在發展,專案的開發過程也需要適應新的技術和框架,微服務那麼多,容器可能上千個,你怎麼快速部署/維護?

    DevOps 的好處?

    依託自動化工具把開發、測試、釋出、部署的過程整合,實現高度自動化與高效交付。在保證產品質量的前提下快速、頻繁地釋出產品。能夠即使獲得使用者反饋,並快速響應。最大限度地減少風險,降低程式碼的出錯率。高質量的軟體釋出標準。整個交付過程標準化、可重複、可靠。整個交付過程進度視覺化,方便團隊人員瞭解並控制專案進度。團隊協作更高效。

    DevOps 帶來的變革

    角色分工:打破傳統團隊隔閡,讓開發、運維緊密結合,高效協作研發:專注研發、高度敏捷、持續整合產品交付:高質量、快速、頻繁、自動化、持續交付

    簡單的說,DevOps=團隊文化+流程+工具

    團隊文化的意思很簡單,就是你的團隊要知道並認可DevOps理念;然後就要透過具體的流程和工具來實現這個理念。

    DevOps提升思路梳理專案技術棧,選擇合適的CI/CD 工具,先把流程 半自動化 或者自動化跑起來讓團隊接收DevOps文化,熟悉git ,jenkins, docker, 等,特別開發人員需要具備這些技能標準化,如果想讓流程用的好,就要標準化,從專案的分支,程式碼的commit 策略/review 策略,分支策略,依賴管理,釋出方式,版本管理,等等最佳化整個DevOps流程,將裡面的hardcode,半自動化部分剔除,可以做到複用和敏捷開發,專案管理打通,形成一個完整的流水線如果技術力量比較強,可以考慮自己封裝整個流程, 寫自己的API, 甚至最後可以成為一個DevOps產品

  • 2 # IT小皮蛋

    DevOps最基本的一個功能,或者說優勢,就是它可以將產品的開發團隊跟運營團隊合併成一個具有凝聚力的“個體”,而這樣就可以很大程度地提升工作效率。

    devops加快交付速度

    devops填補了之前的空白部分,devops透過建立一個完整的生命活動週期,devops關注如何更好地獲取IT運維團隊的反饋。devops將敏捷原則應用於管理領域,devops使得開發人員和管理員可以進行毫無障礙的溝通。

    devops還有很多不足,devops導致程式碼交接容易出現延遲。devops同樣的情況也會出現在重大bug的修復過程中。

    devops執行時軟體最佳化

    devops可以在兩個方面提升知識水平和程式質量。首先,devops對於許多較新的、面向物件的作業系統,比如Linux,devops很有可能不關機而一直保持執行狀態。因此,devops容易出現問題,比如錯誤的垃圾回收機制以及不能正確重新組織關係型資料儲存。

    devops借鑑了大型機管理員積累的經驗來重新認識軟體平臺型別,以及可能引起這些型別問題的開發和/或測試流程。devops開發團隊可以使用嵌入式模式保護程式碼來部署程式碼庫和測試環境。

    devops的目標是在測試環境中,或者devops以程式碼的形式嵌入到應用程式自身當中以獲取大型機複雜性的現有知識,devops不希望大型機管理員發現問題所在。devops並不僅可以使得開發人員和測試人員的工作更加輕鬆,同樣可以簡化管理員的工作。

    devops提高大型機管理員工作效率

    devops可以改善這種大型機管理模式,devops提高大型機管理員的工作效率。首先,devops透過實現標準配置和Linux相關任務的自動化,devops可以保證管理員擁有更多時間來“救火”。devops透過確保解決方案是長期有效和高質量的來減少對於處理緊急情況的處理需求。此外,devops讓管理員也參與敏捷開發流程,和開發團隊進行溝通,當開發團隊擁有了一個能夠快速定位問題並且修復執行時問題的測試工具或者程式碼庫之後,devops就可以減少管理員修復bug以及與開發部門協調所花費的時間。

  • 中秋節和大豐收的關聯?
  • 繡球花怎麼扦插成功率高?