近年來 DevOps 對軟件工程的影響越來越深入並被廣泛認可,與此同時,行業也在密切關注 DevOps 的發展趨勢。
簡單來說,DevOps 的主要目的是打破開發和運維團隊之間的隔閡,促進兩者的協作關係,讓軟件的交付和維護變得高效和流暢。
騰訊互動娛樂事業羣技術運營部助理總經理、專家工程師黨受輝表示,如今 DevOps 在概念上已經成爲共識,算是研發運維領域的主流概念之一,當前處於各公司嘗試落地的階段,也有少數企業已經完成了 DevOps 理念的落地,向着下一個階段,即“研發運營一體化”的階段發展。黨受輝也將 在QCon 全球軟件開發大會(深圳站)擔任“玩轉 DevOps“專題的出品人。
以下是 InfoQ 與黨受輝的對話紀要:
InfoQ:能否說說在您看來現在 DevOps 文化理念的流行程度如何,它發展到了一個什麼樣的階段?
黨受輝:自 2001 年敏捷宣言以來,DevOps 文化經歷了概念出現、社區爭論、產業關注等階段,近些年在中大企業、行業會議甚至是個人從業者等諸多羣體的推動下,如今在概念上已經成爲共識,算是研發運維領域的主流概念之一。
InfoQ:自動化工具在 DevOps 實踐中的位置,是否會隨着引入 DevOps 的時間維度而變化?能否簡單舉例說明您的觀點?
黨受輝:自動化工具是 DevOps 實踐的前提條件,不會隨着時間維度而變化。自動化工具的作用是替代工程師“編寫代碼”之外的工作,業務開發人員應該只關注編寫業務代碼、測試人員只關注編寫測試代碼、運維人員只關注編寫腳本代碼。
InfoQ:您認爲企業組織向 DevOps 轉型的成敗關鍵是什麼?實踐過程需要注重什麼?
黨受輝:DevOps 轉型成敗關鍵有以下幾點:
選擇適合 DevOps 模式的敏態業務,不是所有的項目都適合推行 DevOps;
實踐 DevOps 之初,應該先進行文化的導入,最好能讓 Devops 相關崗位達成初步共識,至少不抵制,認同未來 DevOps 可期待的效果;
高層的支持也非常重要,但是 DevOps 也足以產生成果讓高層來重視和支持。
實踐過程需要注意:
要以迭代、演進的思想來面對 DevOps 的落地實踐,不要想着一步到位;
選擇建設或整合適合自己的 DevOps 自動化工具鏈;
基於工具鏈沉澱研發運維過程數據,爲下一階段的度量和過程改進做儲備;
InfoQ:每個公司的基礎設施和解決的問題都有其特殊性,對提供 DevOps 解決方案的公司來說,您認爲其當前所面臨的機遇和挑戰主要有哪些?
黨受輝:機遇主要是隨 DevOps 的行業認知所帶來的市場容量增長,挑戰則很多:
DevOps 解決方案面向甲方企業的研發運維等技術團隊,他們熟悉公司個性化的業務體系和基礎設施,作爲乙方公司要評估是否有足夠的技術能力爲某個甲方服務,甲方 DevOps 相關各團隊是否有意願做出改變,不是所有的甲方都是好客戶。
DevOps 涉及甲方部門多,現有的各種研發運維流程和各團隊相互割裂的研發運維類煙囪系統面臨遷移或改造,甚至部分留用,使得不同甲方在實施 DevOps 的時候方案不盡相同,對乙方自動化平臺的通用性和擴展性有一定的挑戰。
部分甲方還存在研發和運維間的現實割裂,從物理網絡、管理模式上有法規、權利分工等難以逾越的屏障,對乙方解決方案與第三方解決方案的兼容性有一定的挑戰。
InfoQ:強調速度和效率的 DevOps 在與安全的結合上,存在哪些衝突?如何正確看待 DevOps 與安全的關係和融合?
黨受輝:DevOps 和安全沒有衝突,DevSecOps 也是一個流行詞,因爲 DevOps 解決方案應該基於自動化工具鏈實現,基於這個前提,安全應該是工具鏈上不可少的環節。
InfoQ:在企業雲原生轉型浪潮中,您如何看待 DevOps 在這其中的作用?
黨受輝:雲原生概念由三駕馬車驅動:DevOps、微服務、容器化。微服務給業務架構解耦,容器爲其提供一致性的細粒度版本和運行時環境,而 DevOps 理念則跨越代碼的全生命週期,串接了包括微服務開發和容器編排在內的所有研運核心節點,如果沒有 DevOps 的整合,另外兩個概念對於研發工程師來說只是研發架構發生了改變,對運維工程師來說只是部署方式發生了改變而已,無法實現全鏈路的質量效率優化,難以進行持續的過程改進,也不容易促進不同崗位人員之間的協同。
InfoQ:人工智能、機器學習等前沿技術將如何改變 DevOps?
黨受輝:未來人工智能、機器學習的發展,可以在 DevOps 全鏈路有很多的應用場景:
更智能的 CodeReview,甚至指導開發修復問題代碼;
自動識別迭代規劃不合理、質量問題風險預警,甚至給出更智能的建議;
自動生成更準確的測試用例,發現測試風險;
自動發現從需求提出到生產發佈過程中存在瓶頸,給出精益改進建議;
AIOps 分析監控應用部署及運行,進行根因分析和智能修復。
代碼自動生成……
InfoQ:對未來 DevOps 的發展,您有哪些期望?
黨受輝:國內的 DevOps 生態國產化率太低,Jira、Jenkins、Sonar、Nexus 等各種核心節點都依賴外國技術;國際形勢的變化使得“軟件國產化”的呼聲和必要性提高,從去年開始我們做了一些努力,將騰訊集團內統一的騰訊 CI(藍盾)、代碼掃描平臺(CodeCC)等自研 DevOps 工具組件開源出來,github 代號“bk-ci”。
InfoQ:您認爲一個合格的"DevOps 工程師"需要具備哪些特質和技能?他與普通軟件工程師的區別在哪?
黨受輝:普通軟件工程師的核心任務在於業務軟件的開發。
好文回顧
Reading
在看一下,讓更多人同享好文喲!
本文分享自微信公衆號 - 嘉爲科技(canway_service)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。