ChatOps 如何幫助你更好地開發 DevOps

本文做者:Rania ZYANE安全

原文連接:《How ChatOps Can Help You DevOps Better》服務器

編譯:一熊翻譯組 Mason網絡

當人們聽到 DevOps,他們一般會聯繫到「自動化」、「團隊工做」與許多「工具」。DevOps 是關於 CAMS 的一種自動化、度量與分享的文化。本文的目的是展現 ChatOps 是如何將 CAMS 引入平常實踐來推進 DevOps 的發展。框架

什麼是 DevOps?

DevOps 是一系列實踐,它推崇軟件工程師和 IT 及基礎設施運營部門之間的合做與交流,從而縮短產品上市時間。DevOps 主要的目標是將快速部署特性,當檢測出問題時儘快解決它,而不影響其餘服務。工具

對於實現 DevOps 的成熟度,下面有幾條準則是你須要知道的:性能

  • 持續集成:持續的集成是在指開發環境集成,構建以及測試代碼的實踐。它須要開發小組將代碼集成進一個共享的知識庫(版本管理系統)。檢測代碼並運行預先部署的測試(不要求代碼部署到服務器)。在適用的狀況下,下一步就是編譯代碼並打包進 Areifacts(JAR,Docker IMage,gem)而後把它推送至 Artifact Repository Masnager。這個 Areifacts 被部署後一個不可變容器便會進入測試環境(質檢)。一旦部署,部署後的開發測試(功能、集成和性能測試)就會被執行。
  • 持續交付:持續交付是持續集成的延伸。其目標是對系統發佈可作更改,並須要一我的或商業規則來決定生產的最後助力應該什麼時候出現。
  • 持續部署:持續部署是持續交付的進階演變。它是不在任何人介入下所有投入生產的實踐。

除了以上那些已經討論過的實踐以外。今天,大多數 DevOps 團隊都在擁抱協做消息平臺來進行相互之間的溝通,以及經過在線聊天得到相關係統的實時更新。這大致就是 ChatOps 背後的精神。學習

什麼是 ChatOps?

將工具直接置入會話中 ——傑斯•紐蘭德,GitHub測試

合做與交流是一種力量,它可讓團隊一塊兒工做學習以更好地進行生產。今天,它正以指數級逐年遞增。插件

ChatOps(聊天與操做的融合)是一種新興的方式,用來解決團隊與 DevOps 各類工具/平臺之間的整合。經過將工具引入對話中以實現聊天驅動開發。機器人是你能夠在團隊中發送請求與獲得回覆的即時成員。翻譯

ChatOps 是一個將人、工具、過程與自動化在全透明的流程下鏈接起來的模型。它有助於在同一窗口內進行協做與管路控制。

今天,DevOps 工具鏈爲軟件開發、網絡環境、服務器管理、測試、監控的提供了許多工具。在一個窗口內協做與管控 DevOps 管路幫助了開發者團隊以一種更高效、敏捷的方式完成工做。

ChatOps 三個主要構成:

協做工具:這是團隊與相關者在他們與他們工做系統之間鏈接的客戶端。有如下幾個溝通平臺:

  • Slack:領先的團隊溝通平臺,每日活躍用戶累計量超過 400 萬。一樣也是首批將機器人接入系統的平臺之一。

  • BearyChat:率先將 ChatOps 理念引入中國的智能化工做平臺,目前已集成 7 大類近百款的第三方服務工具,並支持自定義機器人。

  • HipChat:一個針對團隊與企業的團隊溝通,文件分享,視頻聊天以及屏幕共享的平臺。

機器人:它是 ChatOps 方法論的核心。機器人來自協做工具與 DevOps 工具。機器人會接受團隊成員發送的請求,經過執行命令設定,回覆來自集成系統的信息。

  • Hubot,一款 ChatOps 領先的機器人工具。它是 GitHub在 2013 年針對自動化聊天室製做的有價值的開源機器人。經過腳本,Hubot 變得實用並功能強大。它主要幫你將絕大多數與操做相關的任務自動化。

  • Lita 是一個機器人框架,專供於用 Ruby 語言寫出的公司聊天室。它深受 Hubot 的啓發與影響。這一框架能夠被用來構建操做任務的自動化,而且它擁有一系列十分全面的插件列表,這意味着它能夠集成進不少溝通平臺,好比:Slack,Facebook Messenger 等等。

  • Cog,由 Operable製造,屬於另外一種幫助 DevOps 工做流自動化的機器人框架。

  • ErrBot 是一個機器人守護進程,它能夠生成溝通平臺與 DevOps 工具中的機器人。它是用 Python 編寫的,目標是經過命令輕鬆地將一個 API 提供給聊天平臺。

系統集成:ChatOps 中第三個關鍵元素。簡單來講它是更具生產力的 DevOps 工具。好比說:

  • 事項追蹤:JIRA,OTRS,TeamForge…

  • 版本控制系統:Github,Gitlab,Bitbucket…

  • 基礎設施即代碼(IaC):Terraform,Vagrant,Packer, Swarm,Kubernetes,Docker,AWS CloudFormation …

  • 配置管理工具:Ansible, Salt,Chef,Puppet …

  • 持續集成服務:Jenkins,Travis CI, Bamboo …

  • 監控:Grafana,Kibana,Prometheus …

今時今日 ChatOps 正在不斷運做。世界上一些團隊已經將他們的溝通平臺鏈接至他們的構建系統,以便在持續集成服務器上獲取通知,查詢以及執行流程。固然,對質檢團隊,支持團隊以及其餘團隊也是一樣適用的。

溝通驅動合做已經再也不是新潮了,但經過 ChatOps,協做的以往形式與最新技術調和一致。咱們並不驚奇於這一組合改變了員工的工做方式。其應該讓人們常常思考研發軟件,以便讓這種協同更具貢獻性,更易於接受與更安全。

相關文章
相關標籤/搜索