天天看點

8 個 DevOps 自動化工具,幫你做出持續改進

雲栖号資訊:【 點選檢視更多行業資訊

在這裡您可以找到不同行業的第一手的上雲資訊,還在等什麼,快來!

DevOps,這個詞似乎是過去幾年的一個流行語,是 IT 招聘人員、軟體公司和代理機構在網際網路上搜尋得最多的一個詞。專業的支援者認為這與工具或自動化無關,但他們忽略了一點,即工具實際上承載了 DevOps 文化。我們都認同這樣的說法,即 DevOps 不隻與工具有關,甚至不隻與一個單獨的角色有關,DevOps 實際上是人、過程和工具的結合體。但是,一個組織想要實施 DevOps,工具在其中扮演了重要的角色。

在這篇文章裡,我們将介紹 8 個 DevOps 自動化工具,每一家公司都需要依靠它們來獲得持續改進。

Kubernetes

Kubernetes,容器編配平台事實上的标準。它是一個非常流行的開源平台,誕生于谷歌,谷歌于 2014 年将其開源。Kubernetes 用來管理由多個自包含運作時(也就是容器)組成的應用程式。容器近來正在取代虛拟機成為釋出應用程式的标準模型。

Kubernetes 叢集有一個主節點和多個工作節點,每個工作節點可以處理多個 Pod。Pod 是由多個容器組成的工作單元。開發人員可以從 Pod 開始,準備好 Pod 之後,下一步是向主節點指定 Pod 的定義以及我們希望部署多少個 Pod,剩下的事情由 Kubernetes 負責。它會擷取 Pod,并将它們部署到工作節點上。如果有工作節點發生當機,Kubernetes 會自動在可用的其他工作節點上啟動新 Pod。Kubernetes 簡化了容器化應用程式的管理過程,讓建構和添加更多的特性以及通過改進應用程式來獲得更高的客戶滿意度變得輕而易舉。

Rancher

Rancher 是一個容器管理平台,可以輕松地部署容器環境(包括 Kubernetes、Apache Mesos 和 Docker Swarm 完整發行版),并讓雲端或基礎設施平台上的容器叢集操作變得更容易。Rancher 2.0 是一個用于管理 Kubernetes 叢集的多叢集管理工具,它提供的使用者界面可以幫助 Kubernetes 團隊提高效率。如果你希望獲得更高的高可用性和平台可靠性,一般都會使用叢集。叢集将伺服器組合成單個易于管理的計算能力集合,并且通常會使用容器化方法。

讓開發人員自己來管理這些東西是很困難的。幸運的是,Rancher 簡化了叢集的容器管理。截至 2018 年初,Rancher 隻用來編配 Kubernetes 叢集。

Spinnaker

随着公司的發展,技術、工具以及管理這些工具的人員的數量都有了巨大的增長,這常常會導緻公司内部出現混亂,增加了技術棧的複雜性和碎片化程度。對于小公司來說,碎片化的持續傳遞過程或許沒有什麼問題,但随着公司的增長,維護和了解這個過程就變得越來越具有挑戰性。新來的工程師可能需要很長時間才能了解、發現和整理部署所需的所有工具和流程,即使是為了做出一個最簡單的變更。

Netflix 推出的 Spinnaker 就是為了解決這個問題。它是一個通用可擴充的工具,為使用者提供了建構塊,用以開發自定義持續傳遞管道,并可以進行有效的擴充。

Spinnaker 被很多現代軟體公司視為理想的持續傳遞工具,它為開發人員提供了軟體傳遞過程的可視性和控制能力,幫助他們更好地了解如何傳遞軟體。

Artifactory

大多數開發人員會通過各種方式通路網際網路,并從外部存儲庫擷取依賴項。這嚴重影響了開發團隊之間的溝通,因為我們無法跟蹤什麼樣的依賴包或版本被引入到公司的軟體環境中。Artifactory 是一個二進制存儲庫管理器,可以用來存儲二進制檔案。它就像是二進制版本的 Git。作為一個 DevOps 工具,Artifactory 的主要目标是幫助開發人員管理第三方依賴包,進而提供持續內建、持續傳遞和持續部署能力,幫助企業實作 DevOps。

财富 500 強公司,如谷歌、亞馬遜、思科等,它們将 Artifact Repository Manager 作為通用的依賴包儲庫管理器,可以支援所有依賴包,不管它們是用什麼語言或工具開發的。Artifactory 提供了一個自動化的端到端解決方案,友善跟蹤開發環境和生産環境的依賴包,促進 DevOps 團隊的協作,并毫不費力地對任務進行自動化。

Artifactory 為 DevOps 團隊提供了所有必需的工具,幫助他們有效地處理不斷增長的二進制檔案、環境和分布式站點,進而確定應用程式開發工作流程的順暢。Artifactory 不需要為相同檔案建立不同副本,幫助開發人員節省了大量時間。二進制檔案都隻有一個副本存儲在檔案系統中,減少了團隊内部和團隊之間的混亂和幹擾。

為什麼應該使用依賴包存儲庫?

1.加快開發速度;

2.提高開發人員的生産力;

3.更快地釋出,自動化開發管道;

4.無縫的團隊協作;

5.為了節省時間,一遍又一遍地尋找合适的依賴項。

雖然 Artifactory 的主要目标是提供一種整潔和安全的方法來管理第三方依賴包,但也可以用來存儲開發團隊自己生成的軟體包,對它們打标簽、版本化,并适時釋出,讓他們清楚地知道打包了什麼東西。

Linkerd

Linkerd 是一個開源的輕量級服務網絡,由 Buoyant 公司主導開發。很多成功的大公司,如 PayPal、Expedia 等,将它們用在生産環境中。它為雲原生應用程式帶來更高的可靠性、安全性和可視性。Buoyant 在 2016 年首次提出了服務網格這個術語,是以 Linkerd 算得上是“服務網格”的鼻祖。

Linkerd 在無需微服務做出任何代碼變更的情況下為在叢集中運作的微服務提供可觀察性、它們之間的通信方式以及其他細微的方面。

服務網格是一個專門的基礎設施層,基本功能是用來控制、管理和建立服務之間的聯系,讓應用程式的各個部分互相通信,使微服務的運作更加高效。服務網格通常被用在雲原生應用程式、容器和微服務中,快速打包鏡像并傳遞高品質的軟體。

Linkerd 在平台層而不是應用程式層為 SRE 團隊提供了可見性、可靠性和安全性以及頂級的服務名額。

Helm

Helm 主要用來幫助 Kubernetes 架構師簡化 Kubernetes 應用程式的安裝和管理工作。

Helm 使用了一種叫作 chart 的打包格式。chart 是一組描述了一組相關的 Kubernetes 可用資源的檔案。一個 chart 可以用來部署一些簡單的東西。

從架構方面看,Helm 有兩個端,一個是用戶端,即 Helm 指令行工具,我們稱之為 Helm CLI,另一個是服務端,即 Tiller。Helm CLI 是運作在本地機器上的指令。它使用模闆引擎根據 Helm 中定義的源模闆生成易于了解的 Kubernetes YAML。

在生成 YAML 之後,它會将請求發送到運作在 Kubernetes 叢集中的 Tiller。接下來,Tiller 在 Kubernetes 叢集中執行更新,確定它是最新的并被正确釋出,然後添加到曆史記錄中,在後續可以根據需要進行復原。在已釋出的 Helm 3 中,Tiller 被移除掉了。

Sumo Logic

Sumo Logic 平台幫助企業通過分析和預測來做出基于資料驅動的決策,減少用于調研安全性和運維問題的時間,這樣就可以根據優先級騰出資源去做更為重要的事項。

Sumo Logic 将計算機生成的資料轉換成一個簡單的儀表闆,通過易于了解的圖表、表格和其他可視元素為使用者提供操作見解。全球有很多公司都使用 Sumo Logic 來建構、運作和保護應用程式和雲基礎設施,讓 Sumo Logic 成為行業中不可或缺的 DevOps 工具。

Sumo Logic 的預測分析功能非常強大,可以預測異常行為和 KPI 違規,并發送警告,提高了 DevOps 效率,并有助于修複所有的問題。

Slack

團隊成員之間發送即時消息、回報和知識共享非常重要。在實施 DevOps 時,資訊的流動、實時互動和高度協作最為重要。難道你不認為 Slack 正是為此而生的嗎?金融公司 Capital One 認為 Slack 是最為重要的 DevOps 工具。Capital One 在 2016 年年中部署了 Slack,并很快成為其 IT 部門的首選工具。

現在,你可以通過 Slack 自動化大量的手動和重複性的開發任務,它的消息通知機制可以很容易地讓使用者看到實時發生的事情。正當很多大公司還在尋找以團隊為中心的生産力工具時,Slack 已經在這方面做了大量的工作。

【雲栖号線上課堂】每天都有産品技術專家分享!

課程位址:

https://yqh.aliyun.com/zhibo

立即加入社群,與專家面對面,及時了解課程最新動态!

【雲栖号線上課堂 社群】

https://c.tb.cn/F3.Z8gvnK

原文釋出時間:2020-04-27

本文作者:Pavan Belagatti

本文來自:“

InfoQ

”,了解相關資訊可以關注“