0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何實現(xiàn)DevOps目標(biāo)的核心技術(shù)類別和具體技術(shù)

jf_ro2CN3Fa ? 來源:芋道源碼 ? 2023-06-25 15:34 ? 次閱讀

1 關(guān)于 DevOps 及其工具

2 計劃工具

3 問題跟蹤

4 源碼控制

5 構(gòu)建工具

6 測試工具

7 持續(xù)集成(CI)和持續(xù)部署(CD)

8 配置管理工具

9 云平臺

10監(jiān)控和日志工具

11 通信工具

12 知識分享工具

13 總結(jié)

本篇文章中將介紹一些能夠幫助你實現(xiàn) DevOps 目標(biāo)的核心技術(shù)類別和具體技術(shù)。

1 關(guān)于 DevOps 及其工具

關(guān)于 DevOps 及其工具,需要記?。?/p>

持續(xù)改進(jìn)是目標(biāo);

DevOps 不是花錢買來的;

分階段采用工具。

基于 Spring Boot + MyBatis Plus + Vue & Element 實現(xiàn)的后臺管理系統(tǒng) + 用戶小程序,支持 RBAC 動態(tài)權(quán)限、多租戶、數(shù)據(jù)權(quán)限、工作流、三方登錄、支付、短信、商城等功能

項目地址:https://github.com/YunaiV/ruoyi-vue-pro

視頻教程:https://doc.iocoder.cn/video/

2 計劃工具

為什么計劃工具對于 DevOps 來說很重要?

分享目標(biāo);

透明性;

賦能。

計劃工具示例

GitLab

GitLab 是一個基于 Web 的 DevOps 生命周期工具。它提供了一個 Git 倉庫管理器,具備 wiki、問題跟蹤和 CI/CD 管道功能,采用的是 GitLab 公司的開源許可。

Tasktop

Tasktop 允許將所有這些工具添加到敏捷、ALM、PPM 和 ITSM 中,實現(xiàn)了對整個生命周期前所未有的可見性。

CollabNet VersionOne

VersionOne 支持 Scrum、看板、XP、SAFe 和混合開發(fā)方法,并使跨團(tuán)隊、程序、軟件組合和企業(yè)的計劃、跟蹤和報告變得更容易。

Pivotal Tracker

敏捷項目管理工具,是開發(fā)人員圍繞高優(yōu)先級共享 backlog 進(jìn)行實時協(xié)作的首選工具。

Trello

Trello 是一個基于 Web 的看板風(fēng)格的清單應(yīng)用程序,是 Atlassian 的子公司。

很多團(tuán)隊用它來計劃各自的工作 sprint。

Azure Boards

使用敏捷工具,包括 Scrum、看板和其他敏捷方法儀表板來更好地跟蹤軟件項目并進(jìn)行計劃。

這些都是可視化工作、分享計劃、跟蹤進(jìn)展、確保朝著目標(biāo)前進(jìn)的好方法。

基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 實現(xiàn)的后臺管理系統(tǒng) + 用戶小程序,支持 RBAC 動態(tài)權(quán)限、多租戶、數(shù)據(jù)權(quán)限、工作流、三方登錄、支付、短信、商城等功能

項目地址:https://github.com/YunaiV/yudao-cloud

視頻教程:https://doc.iocoder.cn/video/

3 問題跟蹤

為什么問題跟蹤對 DevOps 來說很重要?

用戶響應(yīng);

減少知識損耗;

反饋閉環(huán)。

問題跟蹤工具示例

Atlassian Jira

Jira 是由 Atlassian 公司開發(fā)的問題跟蹤產(chǎn)品,提供了 bug 跟蹤和敏捷項目管理功能。

JetBrains YouTrack

YouTrack 是 JetBrains 公司開發(fā)的一款基于瀏覽器的 bug 跟蹤、問題跟蹤系統(tǒng)和項目管理軟件。它支持基于查詢的問題搜索——包括自動完成、批量處理問題、定制問題屬性集以及創(chuàng)建自定義工作流。

Zendesk

Zendesk 讓客戶問題跟蹤變得更簡單,包括優(yōu)步和 Airbnb 在內(nèi)的很多公司都使用 Zendesk 作為他們的問題跟蹤軟件。

4 源碼控制

為什么源碼控制對 DevOps 來說很重要?

資產(chǎn)管控;

減少傳輸損耗;

促進(jìn)團(tuán)隊合作。

SCM 工具示例

Git

Git 是一個分布式版本控制系統(tǒng),用于在軟件開發(fā)期間跟蹤源代碼的變更。它是為協(xié)調(diào)程序員之間的工作而設(shè)計的,但它也可用于跟蹤文件的變更。它專注于速度、數(shù)據(jù)完整性和對分布式、非線性工作流的支持。

GitHub

GitHub 提供了 Git 分布式版本控制和源代碼管理功能,以及自有的一些特性。

GitLab

GitLab 的版本控制通過世界級的源代碼管理功能幫助你的開發(fā)團(tuán)隊共享、協(xié)作和最大化他們的生產(chǎn)力。

Bitbucket

Bitbucket 是 Atlassian 公司為使用 Mercurial 或 Git 版本控制系統(tǒng)的源代碼和開發(fā)項目提供的基于 Web 的版本控制代碼庫托管服務(wù)。

Subversion

Apache Subversion 是一種軟件版本控制系統(tǒng),采用了 Apache 開發(fā)源碼許可。軟件開發(fā)人員使用 Subversion 來維護(hù)文件的當(dāng)前和歷史版本,例如源代碼、Web 頁面和文檔。

5 構(gòu)建工具

為什么構(gòu)建工具對 DevOps 來說很重要?

一致的打包效果;

自動化錯誤探測;

盡早發(fā)現(xiàn)質(zhì)量問題。

構(gòu)建工具示例

Maven/Gradle

Maven 是一個主要用于 Java 項目的自動化構(gòu)建工具。Maven 還可以用來構(gòu)建和管理用 C#、Ruby、Scala 和其他語言開發(fā)的項目。

Gradle 是一個開源的自動化構(gòu)建系統(tǒng),基于 Apache Ant 和 Apache Maven 的概念,引入了一種基于 groovy 的領(lǐng)域特定語言。

MSBuild

Microsoft Build Engine,更廣為人知的名字是 MSBuild,是一個開源免費的托管代碼和原生 C++ 代碼構(gòu)建工具集,是.Net Framework 的一部分。Visual Studio 就使用 MSBuild 作為構(gòu)建工具。

Rake

Rake 是一個軟件任務(wù)管理和自動化構(gòu)建工具。用戶可以指定任務(wù)和描述依賴關(guān)系,還可以對同一個命名空間中的組任務(wù)指定和描述依賴關(guān)系。

JFrog Artifactory

JFrog Artifactory 是一種用于保存構(gòu)建過程所產(chǎn)生的用于發(fā)布和部署的二進(jìn)制文件的工具。Artifactory 提供了多種包格式支持,如 Maven、Debian、npm、Helm、Ruby、Python 和 Docker。

JFrog 提供了高可用性、復(fù)制、災(zāi)難恢復(fù)、可伸縮性,并可集成很多自有和云存儲產(chǎn)品。

Sonatype Nexus

Sonatype Nexus 是一個存儲庫管理器??捎糜诖?、收集和管理依賴項,這樣就不用經(jīng)常為一堆的 jar 文件感到煩惱。它讓軟件的發(fā)行變得更容易。

在內(nèi)部,你可以配置構(gòu)建工具,把工件發(fā)布到 Nexus,然后其他開發(fā)人員就可以使用它們了。

NuGet

NuGet 是.Net 包管理器。NuGet 客戶端工具提供了生成和使用包的能力。

NuGet Gallery 是程序包作者和使用者的中心包倉庫。

6 測試工具

為什么測試工具對 DevOps 來說很重要?

將注意力放在質(zhì)量上;

提升產(chǎn)品信心。

測試工具示例

JUnit

JUnit 是一個用于 Java 的單元測試框架。JUnit 在測試驅(qū)動開發(fā)當(dāng)中扮演著非常重要的角色,它是單元測試框架家族 xUnit(源于 SUnit) 的一員。

xUnit.net

xUnit.net 是一個用于.Net Framework 的開源單元測試工具,由 NUnit 的原作者開發(fā)。

Selenium

Selenium 是用于測試 Web 應(yīng)用程序的框架。Selenium 提供了一個回放工具,用于編寫功能測試,省去了學(xué)習(xí)腳本語言的麻煩。

Jasmine

Jasmine 是一個開源的 JavaScript 測試框架。它的目標(biāo)是可以在任何支持 JavaScript 的平臺上運行,不干擾應(yīng)用程序或 IDE,并具有易于閱讀的語法。它深受其他單元測試框架的影響,比如 Screw.Unit、JSSpec、JSpec 和 RSpec。

Cucumber

Cucumber 是一個支持行為驅(qū)動開發(fā)的工具。Cucumber BDD 方法的核心是一個叫作 Gherkin 的語言解析器,可以用用戶能夠理解的邏輯語言來指定預(yù)期的軟件行為。

7 持續(xù)集成(CI)和持續(xù)部署(CD)

為什么持續(xù)集成和部署對 DevOps 來說很重要?

快速反饋;

減少缺陷和等待時間。

CI 工具示例

Jenkins

Jenkins 是一個免費開源的自動化服務(wù)器。Jenkins 幫助自動化軟件開發(fā)過程中的非人為操作部分。它是一個基于服務(wù)器的系統(tǒng),運行在 Servlet 容器中,比如 Apache Tomcat。

CircleCI

CircleCI 是全球最大的共享 CI/CD 平臺,是代碼從想法變成可交付產(chǎn)品的中心樞紐。

作為最常用的 DevOps 工具之一,CircleCI 每天要處理超過 100 萬個構(gòu)建任務(wù),它可以訪問到工程團(tuán)隊協(xié)作以及代碼運行的數(shù)據(jù)。Spotify、Coinbase、Stitch Fix 和 BuzzFeed 等公司都使用 CircleCI 來提高工程團(tuán)隊的工作效率,發(fā)布更好的產(chǎn)品。

Travis CI

Travis CI 是一個托管的 CI 服務(wù),用于構(gòu)建和測試托管在 GitHub 上的軟件項目。Travis CI 為私人項目提供各種付費計劃和免費開源計劃。TravisPro 部署在客戶自己的硬件上,提供專有版本的定制部署。

Concourse

Concourse 是一個用 Go 開發(fā)的自動化系統(tǒng),最常用于 CI/CD,用于伸縮任何類型 (從簡單到復(fù)雜的) 的自動化管道。

AWS CodePipeline

AWS CodePipeline 是一個全托管的 CD 服務(wù),可以幫助你自動化發(fā)布管道,以便快速可靠地更新應(yīng)用程序和基礎(chǔ)設(shè)施。

每當(dāng)發(fā)生代碼變更時,CodePipeline 會根據(jù)你定義的發(fā)布模型自動化發(fā)布過程的構(gòu)建、測試和部署階段,讓你能夠快速、可靠地交付特性和更新。

你可以輕松地將 AWS 代碼管道與第三方服務(wù) (如 GitHub) 或自定義插件集成。在使用 AWS CodePipeline 時,你只需要為所使用的內(nèi)容付費,沒有預(yù)付費用。

Azure Pipelines

Linux、macOS 和 Windows 建立云托管管道。構(gòu)建 Web、桌面和移動應(yīng)用程序,并將其部署到云端或本地。

通過管道自動化構(gòu)建和部署,減少在具體細(xì)節(jié)上花費的時間,把更多的時間花在創(chuàng)造性的事情上。

CD 工具

為什么 CD 工具對于 DevOps 來說很重要?

減少預(yù)發(fā)布庫存;

自動化復(fù)雜的管道;

統(tǒng)一團(tuán)隊為客戶創(chuàng)造價值的目標(biāo)。

CD 工具示例

Spinnaker

Spinnaker 是一個免費開源的 CD 軟件平臺,最初由 Netflix 開發(fā),后被谷歌收購,并進(jìn)行了擴(kuò)展。

Spinnaker 是一個多云 CD 平臺,用于快速發(fā)布軟件變更。它將強(qiáng)大而靈活的管道管理系統(tǒng)與主要云提供商的集成結(jié)合在了一起。

Octopus Deploy

Octopus Deploy 是一個自動化的部署和發(fā)布管理工具,全球領(lǐng)先的 CD 團(tuán)隊都在使用它。

Octopus 是一個工具集,可以極大簡化 DevOps 過程,通過云或虛擬機(jī)對大量微服務(wù)或應(yīng)用程序進(jìn)行持續(xù)測試和部署。

AWS CodeDeploy

AWS CodeDeploy 是一種全托管的部署服務(wù),可以將軟件部署自動化到各種計算服務(wù),如 Amazon EC2、AWS Fargate、AWS Lambda 和本地服務(wù)器。

你可以使用 AWS CodeDeploy 來自動化軟件部署,減少容易出錯的手動操作。

8 配置管理工具

配置管理工具為什么對于 DevOps 來說很重要?

保持一致性;

基礎(chǔ)設(shè)施即代碼。

配置管理工具示例

Terraform

Terraform 是 HashiCorp 公司開發(fā)的開源基礎(chǔ)結(jié)構(gòu)即代碼 (IaC) 軟件工具。用戶可以使用一種高級配置語言 (叫作 Hashicorp 配置語言或 JSON) 來定義和提供數(shù)據(jù)中心基礎(chǔ)設(shè)施。

BOSH

BOSH 是一個將小型和大型云軟件的發(fā)布工程、部署和生命周期管理結(jié)合起來的項目。BOSH 可以基于數(shù)百個 VM 配置和部署軟件。它還可以執(zhí)行監(jiān)空、故障恢復(fù)和軟件更新,沒有停機(jī)時間或者停機(jī)時間很短。

雖然開發(fā) BOSH 是為了部署云計算,但它也可以用于部署幾乎任何其他軟件 (例如 Hadoop)。BOSH 特別適合大型分布式系統(tǒng)。

此外,BOSH 還支持多種基礎(chǔ)設(shè)施即服務(wù) (IaaS) 提供商,如 VMware vSphere、谷歌云平臺、Amazon Web Services EC2、Microsoft Azure、OpenStack 和阿里巴巴云。BOSH 提供了一個云供應(yīng)商接口 (CPI),用戶可用它擴(kuò)展 BOSH,以便支持其他 IaaS 提供商,如 Apache CloudStack 和 VirtualBox。

Chef

Chef 是一個配置管理工具,用于處理物理服務(wù)器、虛擬機(jī)和云端的機(jī)器配置。很多公司用 Chef 控制和管理他們的基礎(chǔ)設(shè)施,如 Facebook、Etsy、Cheezburger 和 Indiegogo。

Chef 公司是持續(xù)自動化軟件的領(lǐng)導(dǎo)者、應(yīng)用自動化的革新者以及 DevOps 運動的發(fā)起者之一。Chef 與全球 1000 多家最具創(chuàng)新性的公司合作,提供快速交付軟件的實踐和平臺,以實現(xiàn)他們的數(shù)字化轉(zhuǎn)型愿景。

Ansible

Ansible 是一款開源的軟件配置、配置管理和應(yīng)用程序部署工具。它運行在 Unix 家族系統(tǒng)上,可以配置 Unix 家族系統(tǒng)和 Windows。它可以使用自己的聲明性語言來描述系統(tǒng)配置。

Puppet

Puppet 提供了定義系統(tǒng)需要哪些軟件和配置的能力,然后在初始設(shè)置之后維護(hù)指定的狀態(tài)。

Puppet 使用與 Ruby 類似的聲明性領(lǐng)域特定語言 (DSL) 為特定環(huán)境或基礎(chǔ)設(shè)施定義配置參數(shù)。Puppet 通過使用一個叫作 Facter 的實用程序來發(fā)現(xiàn)系統(tǒng)信息,F(xiàn)acter 是在安裝 Puppet 軟件包時一起安裝的。

Puppet 主節(jié)點通過清單來管理它所控制的所有節(jié)點的重要配置信息。

被主節(jié)點控制的其他節(jié)點安裝了 Puppet 并運行 Puppet 代理 (一個守護(hù)進(jìn)程)。代理節(jié)點收集的有關(guān)節(jié)點的配置信息將發(fā)送給主節(jié)點。主節(jié)點根據(jù)應(yīng)該如何配置來編譯目錄,其他節(jié)點使用這些信息來更新自己的配置。

Puppet 使用了拉取模式,代理節(jié)點定時輪詢主機(jī),查詢特定于站點和特定于節(jié)點的配置。在這個基礎(chǔ)設(shè)施中,Puppet 代理應(yīng)用程序通常作為后臺服務(wù)運行在托管節(jié)點上。

谷歌云部署管理器

谷歌云部署管理器是一種基礎(chǔ)設(shè)施管理服務(wù),讓谷歌云平臺資源的創(chuàng)建、部署和管理變得更簡單。

9 云平臺

為什么云平臺對 DevOps 來說很重要?

友好的自動化;

具有可觀察性的運行時。

云平臺示例

Amazon Web Service

Amazon Web Service(AWS) 是一個安全的云服務(wù)平臺,提供計算能力、數(shù)據(jù)庫存儲、內(nèi)容交付和其他幫助企業(yè)擴(kuò)大規(guī)模和增長的功能。

簡而言之,AWS 可以做以下這些事情:

在云端運行 Web 和應(yīng)用服務(wù)器,托管動態(tài)網(wǎng)站;

將所有文件安全地存儲在云端,這樣你就可以從任何地方訪問它們;

使用托管數(shù)據(jù)庫,如 MySQL、PostgreSQL、Oracle 或 SQL Server 來存儲信息;

使用內(nèi)容分發(fā)網(wǎng)絡(luò) (CDN) 在世界各地快速交付靜態(tài)和動態(tài)文件;

批量發(fā)送電子郵件給你的客戶。

微軟 Azure

微軟 Azure 是微軟創(chuàng)建的云計算服務(wù),通過微軟數(shù)據(jù)中心構(gòu)建、測試、部署和管理應(yīng)用程序和服務(wù)。

微軟 Azure,原來叫作 Windows Azure,是微軟的公共云計算平臺。它提供一系列云服務(wù),包括計算、分析、存儲和網(wǎng)絡(luò)。用戶可以選擇這些服務(wù)來開發(fā)和擴(kuò)展新的應(yīng)用程序,或者在公共云中運行現(xiàn)有的應(yīng)用程序。

谷歌云平臺

谷歌云平臺由谷歌提供,是一套云計算服務(wù),運行在谷歌用來運行其終端用戶產(chǎn)品 (如谷歌搜索、Gmail 和 YouTube) 相同的基礎(chǔ)設(shè)施上。

谷歌云平臺提供在 web 上部署應(yīng)用程序所需的計算資源,專注于為個人和企業(yè)提供一個構(gòu)建和運行軟件的地方,并通過 Web 連接軟件用戶。

你使用谷歌提供的云計算服務(wù)來迎接業(yè)務(wù)方面的挑戰(zhàn),包括數(shù)據(jù)管理、混合和多云、人工智能機(jī)器學(xué)習(xí)。

Pivotal Cloud Foundry

Pivotal Cloud Foundry (PCF) 是一個開源的多云應(yīng)用平臺即服務(wù) (PaaS),由 501 組織 Cloud Foundry Foundation 負(fù)責(zé)管理。該軟件最初由 VMware 開發(fā),后來轉(zhuǎn)到 Pivotal 軟件公司。2019 年底,隨著 VMware 收購 Pivotal,又被帶回到 VMware。

PCF 是一個用于部署、管理和持續(xù)交付應(yīng)用程序、容器和功能的多云平臺。PCF 允許開發(fā)人員快速部署和交付軟件,而不需要管理底層基礎(chǔ)設(shè)施。

Heroku

Heroku 是一個支持多種編程語言的云 PaaS。作為首批云平臺之一,Heroku 從 2007 年 6 月就開始開發(fā),當(dāng)時它只支持 Ruby 編程語言,但現(xiàn)在支持 Java Node.js、Scala、Clojure、Python、PHP 和 Go。

Heroku 是一個基于容器的云 PaaS。開發(fā)人員使用 Heroku 來部署、管理和擴(kuò)展現(xiàn)代應(yīng)用程序。這個平臺優(yōu)雅、靈活、易于使用,為開發(fā)人員提供了發(fā)布應(yīng)用程序最簡單的途徑。

中國云廠商(編者補(bǔ)充)

阿里云、騰訊云、華為云、京東云等各類型廠商都是國內(nèi)用戶的可選項。

容器調(diào)度器

容器調(diào)度程序的主要任務(wù)是在最合適的主機(jī)上啟動容器并將它們連接在一起。它必須通過自動故障轉(zhuǎn)移來處理故障,并且當(dāng)單個實例有太多數(shù)據(jù)需要處理 / 計算時,它需要能夠擴(kuò)展容器。

三個最流行的容器調(diào)度器是 Docker Swarm、Apache Mesos 和 Kubernetes。

Docker Swarm

Docker Swarm 是 Docker 開發(fā)的一種容器調(diào)度程序。這個集群解決方案提供了一些優(yōu)勢,比如使用標(biāo)準(zhǔn) Docker API 等。

Apache Mesos

Mesos 的目的是構(gòu)建一個可擴(kuò)展、高效的系統(tǒng),可以支持大量的框架。這也是一個主要的問題:一些框架,如 Hadoop 和 MPI,是獨立開發(fā)的——因此不可能在框架之間進(jìn)行細(xì)粒度的共享。

Mesos 的目的是添加一個薄薄的資源共享層,為框架提供訪問集群資源的公共接口。Mesos 將調(diào)度控制委托給框架,因為很多框架已經(jīng)實現(xiàn)了復(fù)雜的調(diào)度。

根據(jù)集群上運行的作業(yè)類型,框架可以分為四種,其中一些框架提供了原生 Docker 支持,比如 Marathon。在 Mesos 0.20.0 中添加了對 Docker 容器的支持。

Kubernetes

Kubernetes 是一個用于編配 Docker 容器的系統(tǒng),它通過標(biāo)簽和 Pod 的概念將容器分為邏輯單元。Pod 是 Kubernetes 和其他兩種解決方案之間的主要區(qū)別——它們是一組容器集合,形成一起部署和調(diào)度的服務(wù)。與基于關(guān)聯(lián)性的容器 (如 Swarm 和 Mesos) 調(diào)度相比,這種方法簡化了集群的管理。

Kubernetes 調(diào)度器的任務(wù)是監(jiān)控帶有空 PodSpec 的 Pod。NodeName 指定將容器安排在集群中的某個位置。

這是與 Swarm 和 Mesos 的不同之處,Kubernetes 允許開發(fā)者在運行 Pod 時通過定義 PodSpec.NodeName 來繞過調(diào)度器。

調(diào)度器使用謂詞和優(yōu)先級來定義 Pod 應(yīng)該運行在哪些節(jié)點上。我們可以使用新的調(diào)度器策略配置覆蓋這些默認(rèn)值。

我們可以通過命令行標(biāo)志 policy-config-file 指定一個 JSON 文件,在啟動 Kubernetes 時將會使用該文件描述的謂語和優(yōu)先級,調(diào)度器將使用這些定義好的策略。

10監(jiān)控和日志工具

為什么監(jiān)控和日志工具對于 DevOps 來說很重要?

快速恢復(fù);

響應(yīng)速度;

透明性;

發(fā)生事故時減少人工干預(yù)。

監(jiān)控和日志工具示例

ELK

ELK 是三個開源產(chǎn)品的集合——Elasticsearch、Logstash 和 Kibana。它們都是由 Elastic 公司開發(fā)、管理和維護(hù)的。

E 代表 ElasticSearch——用于存儲日志;

L 代表 Logstash——用于傳輸、處理和存儲日志;

K 代表 Kibana——一個可視化工具 (Web 界面)。

Datadog

Datadog 是一個針對云規(guī)模應(yīng)用程序的監(jiān)控服務(wù),通過基于 SaaS 的數(shù)據(jù)分析平臺來監(jiān)控服務(wù)器、數(shù)據(jù)庫、工具和服務(wù)。

Datadog 應(yīng)用程序性能監(jiān)控 (APM 或跟蹤) 幫助用戶深入了解應(yīng)用程序性能——從自動生成的儀表盤(監(jiān)控關(guān)鍵指標(biāo),如請求量和延遲)到單個請求的詳細(xì)跟蹤信息——與日志和基礎(chǔ)設(shè)施監(jiān)控信息并列展示。

當(dāng)向應(yīng)用程序發(fā)出請求時,Datadog 可以看到分布式系統(tǒng)的跟蹤,并向用戶顯示關(guān)于這個請求的系統(tǒng)數(shù)據(jù)。

New Relic

New Relic 是一家總部位于加州舊金山的科技公司,它開發(fā)基于云的軟件,幫助網(wǎng)站和應(yīng)用程序所有者跟蹤服務(wù)性能。

New Relic 的應(yīng)用程序性能監(jiān)控軟件分析產(chǎn)品 (APM) 提供有關(guān) Web 應(yīng)用程序性能和最終用戶體驗滿意度的實時和趨勢數(shù)據(jù)。

Prometheus

Prometheus 是一款用于事件監(jiān)控和警報的免費應(yīng)用程序。它在時間序列數(shù)據(jù)庫中記錄實時指標(biāo),基于 HTTP 拉取模型,支持靈活的查詢和實時警報。

Prometheus 服務(wù)器的核心原理是抓取——也就是說,調(diào)用各個節(jié)點暴露出來的指標(biāo)端點。它定期收集這些指標(biāo)并將它們存儲在本地。

Zipkin

Zipkin 是一個分布式跟蹤系統(tǒng)。它用于收集診斷延遲問題所需的時間數(shù)據(jù),提供了數(shù)據(jù)的收集和查找功能。

如果日志文件中有跟蹤 ID,則可以直接跳指定位置。否則的話,你可以基于服務(wù)、操作名稱、tagsm 和持續(xù)時間等屬性進(jìn)行查詢。它將為你匯總出一些有趣的數(shù)據(jù),例如花費在服務(wù)上的時間百分比以及操作是否失敗。

Azure Monitor

Azure Monitor 提供了一個全面的解決方案,用來收集、分析和執(zhí)行來自云端和本地環(huán)境的遙測數(shù)據(jù),從而最大化應(yīng)用程序和服務(wù)的可用性和性能。

它可以幫助你了解應(yīng)用程序的執(zhí)行情況,并主動識別影響它們的問題以及它們所依賴的資源。

幾個 Azure Monitor 的使用場景:

使用 Application Insights 檢測和診斷應(yīng)用程序和依賴項之間的問題;

將基礎(chǔ)設(shè)施問題與用于 VM 的 Azure Monitor 和用于容器的 Azure Monitor 關(guān)聯(lián)起來;

使用日志分析深入監(jiān)控數(shù)據(jù),進(jìn)行故障排除和深入診斷;

通過智能警報和自動運維支持大規(guī)模操作;

使用 Azure 儀表板和工作簿進(jìn)行可視化。

11 通信工具

為什么通信工具對于 DevOps 來說很重要?

連接團(tuán)隊;

減少等待時間;

改進(jìn)團(tuán)隊協(xié)作。

通信工具示例

Slack

Slack 是由 Slack 公司開發(fā)的即時通訊平臺。

Slack 本質(zhì)上是整個公司的一個聊天室,旨在取代電子郵件成為溝通和分享的主要方式。你可以用頻道進(jìn)行分組討論,也可以通過私有消息進(jìn)行信息、文件共享,等等。

微軟 Teams

微軟 Teams 是一個統(tǒng)一的通信和協(xié)作平臺,結(jié)合了工作討論、視頻會議、文件存儲和應(yīng)用程序集成。

Teams 是一種基于聊天的協(xié)作工具,它為全球、遠(yuǎn)程和分布式的團(tuán)隊提供協(xié)作能力,并通過公共空間共享信息。你可以使用它提供的一些很酷的功能,比如文檔協(xié)作、一對一聊天、團(tuán)隊聊天,等等。

谷歌 Hangouts

谷歌 Hangouts 是谷歌開發(fā)的一款通訊軟件產(chǎn)品。Hangouts 最初是 Google+ 的一個功能,在 2013 年谷歌開始將 Google+ Messenger 和谷歌 Talk 的功能整合到 Hangouts 中,成為了一個獨立的產(chǎn)品。

Hangouts Chat 是進(jìn)行組織內(nèi)交流的一種有效方式。你可以與一名或多名同事發(fā)送信息,可以創(chuàng)建聊天室進(jìn)行多人討論,并使用機(jī)器人來進(jìn)行工作自動化。你可以在電腦瀏覽器和 AndroidiOS 手機(jī) App 中使用 Hangouts Chat。

Zoom

Zoom Video Communications 是一家遠(yuǎn)程會議服務(wù)公司,總部設(shè)在加利福尼亞州的圣何塞。它提供了一種遠(yuǎn)程會議服務(wù),結(jié)合了視頻會議、在線會議、聊天和移動協(xié)作。

Skype 更適合尋找整體商業(yè)解決方案的團(tuán)隊,而 Zoom 更適合頻繁進(jìn)行視頻聊天和會議的團(tuán)隊。不過,這兩種工具都不是專門為遠(yuǎn)程工作而構(gòu)建的。

中國版本推薦

騰訊會議、釘釘、飛書、WeLink 等。

12 知識分享工具

知識分享工具為什么對于 DevOps 來說很重要?

減少知識浪費;

提高新員工的效率;

減少犯同樣的錯誤。

知識分享工具示例

GitHub Pages

GitHub Pages 是一個靜態(tài)站點托管服務(wù),直接從 GitHub 上的存儲庫獲取 HTML、CSS 和 JavaScript 文件,可在構(gòu)建過程中運行這些文件,然后發(fā)布網(wǎng)站。你可以在 GitHub Pages 示例集合中看到 GitHub Pages 站點的示例。

Confluence

Confluence 是一個由 Atlassian 開發(fā)并發(fā)布的協(xié)作程序。Atlassian 用 Java 編程語言開發(fā)了 Confluence,并于 2004 年首次發(fā)布。

Confluence 是一個 Wiki 協(xié)作工具,用于幫助團(tuán)隊有效地協(xié)作和共享知識。你可以用 Confluence 捕獲項目需求、將任務(wù)分配給特定用戶,并用 Team Calendar 插件一次性管理多個日歷。

Jekyll

Jekyll 是一個支持博客的靜態(tài)站點生成器,用于個人、項目或組織站點。它是由 GitHub 聯(lián)合創(chuàng)始人 Tom Preston-Werner 用 Ruby 開發(fā)的,并采用了 MIT 開源許可。

Jekyll 是一個解析引擎,打包成 Ruby gem,用來基于動態(tài)組件構(gòu)建靜態(tài)網(wǎng)站。

谷歌 Sites

谷歌 Sites 是谷歌提供的一個結(jié)構(gòu)化的 Wiki 和網(wǎng)頁制作工具。谷歌 Sites 的目標(biāo)是讓任何人都能夠創(chuàng)建支持不同編輯器協(xié)作的簡單 Web 站點。

這些站點在每一個屏幕上(從桌面到智能手機(jī))看起來都很棒——做到這些都不需要學(xué)習(xí)設(shè)計或編程。

13 總結(jié)

這篇文章涵蓋的所有類別可以幫助你更好地實施 DevOps。其中任何一種都很有用,而且我認(rèn)為所有這些都是你需要的,幫助團(tuán)隊以可持續(xù)的方式向客戶交付價值,并幫助你脫穎而出。

我提到了 DevOps 工具鏈,比如規(guī)劃工具、問題跟蹤工具、源代碼控制管理、構(gòu)建和測試代碼、持續(xù)集成和部署源代碼、管理配置、使用云平臺,然后是監(jiān)控和日志,以及溝通和知識共享。

我希望你能夠喜歡這篇文章。DevOps 是一種令人興奮的工作方式,盡管它不是唯一的方式,甚至不是最好的方式。更好的東西可能會在未來出現(xiàn),但目前看來,它似乎代表了一種很好的團(tuán)隊協(xié)作方式。它讓團(tuán)隊共同努力,交付價值,同時也幫助他們專注于客戶,而不僅僅是技術(shù)或內(nèi)部的東西,也包括了速度、學(xué)習(xí)以及公司的未來。
責(zé)任編輯:彭菁

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 應(yīng)用程序
    +關(guān)注

    關(guān)注

    37

    文章

    3198

    瀏覽量

    57356
  • 工具
    +關(guān)注

    關(guān)注

    4

    文章

    307

    瀏覽量

    27605
  • devops
    +關(guān)注

    關(guān)注

    0

    文章

    105

    瀏覽量

    11969

原文標(biāo)題:必備的DevOps工具鏈大盤點

文章出處:【微信號:芋道源碼,微信公眾號:芋道源碼】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    最新視頻編碼標(biāo)準(zhǔn)H.264及其核心技術(shù)

    最新視頻編碼標(biāo)準(zhǔn)H.264及其核心技術(shù)H.264是ITU-T和ISO聯(lián)合研究制定的編碼效率高、網(wǎng)絡(luò)適應(yīng)性強(qiáng)的最新數(shù)字視頻編碼國際標(biāo)準(zhǔn).H.264是面向視頻電話、視頻會議等實際應(yīng)用的標(biāo)準(zhǔn),它能以低
    發(fā)表于 06-25 11:42

    SOC設(shè)計領(lǐng)域的核心技術(shù)-軟/硬件協(xié)同設(shè)計

    SOC設(shè)計領(lǐng)域的核心技術(shù)-軟/硬件協(xié)同設(shè)計摘要:基于IP庫的SOC必將是今天與未來微電子設(shè)計領(lǐng)域的核心。它既是一種設(shè)計技術(shù),也是一種設(shè)計方法學(xué)。一塊SOC上一定會集成各種純硬件IP、和作為軟件載體
    發(fā)表于 11-19 11:19

    佳靈變頻器故障與維修核心技術(shù)

    佳靈變頻器故障與維修核心技術(shù)
    發(fā)表于 08-05 20:55

    藍(lán)牙核心技術(shù)概述

    藍(lán)牙核心技術(shù)概述(一):藍(lán)牙概述藍(lán)牙核心技術(shù)概述(二):藍(lán)牙使用場景藍(lán)牙核心技術(shù)概述(三): 藍(lán)牙協(xié)議規(guī)范(射頻、基帶鏈路控制、鏈路管理)藍(lán)牙核心技術(shù)概述(四):藍(lán)牙協(xié)議規(guī)范(HCI、
    發(fā)表于 11-24 16:06

    【原創(chuàng)】Android視頻直播核心技術(shù)

    【原創(chuàng)】Android視頻直播核心技術(shù)回復(fù)即可獲取下載鏈接[hide=d15]鏈接:http://pan.baidu.com/s/1cC6wbW 密碼:smj8 學(xué)習(xí)群:150923287 [/hide]
    發(fā)表于 07-26 17:43

    31歲無核心技術(shù),迷茫

    再有3個月31整,再有9月就到2019了?;厥装l(fā)現(xiàn),無核心技術(shù),身價也越來越編制,職位上升無望,改怎么辦?同齡的你,有什么高見?。?!期待您的回復(fù)。
    發(fā)表于 03-27 11:39

    云計算的五大核心技術(shù)

    云計算的核心技術(shù)有哪些?大數(shù)據(jù)云計算學(xué)習(xí)路線
    發(fā)表于 06-28 09:41

    五大核心技術(shù)如何實現(xiàn)物聯(lián)網(wǎng)

    以下是實現(xiàn)物聯(lián)網(wǎng)的五大核心技術(shù)核心技術(shù)之感知層:傳感器技術(shù)、射頻識別技術(shù)、二維碼技術(shù)、微機(jī)電系
    發(fā)表于 07-25 06:38

    Small Cell是什么?Small Cell的核心技術(shù)包括哪些?

    Small Cell是什么?Small Cell的核心技術(shù)包括哪些?
    發(fā)表于 05-24 06:11

    無線遠(yuǎn)程監(jiān)控系統(tǒng)主要包括哪些核心技術(shù)?

    無線遠(yuǎn)程監(jiān)控系統(tǒng)主要包括哪些核心技術(shù)?
    發(fā)表于 05-25 06:45

    視頻標(biāo)準(zhǔn)核心技術(shù)對比分析哪個好

    視頻標(biāo)準(zhǔn)核心技術(shù)對比分析哪個好
    發(fā)表于 06-07 06:12

    單片機(jī)應(yīng)用的核心技術(shù)是什么?

    單片機(jī)應(yīng)用的核心技術(shù)是什么?單片機(jī)神奇的工作原理是什么?匯編語言很難學(xué)怎么辦?
    發(fā)表于 11-02 06:17

    Arm Cortex-A65核心技術(shù)參考手冊

    Arm Cortex-A65核心技術(shù)參考手冊
    發(fā)表于 08-02 07:38

    華為云ROMA應(yīng)用平臺基于DevOps技術(shù),解決多種云場景的核心技術(shù)問題

    華為云ROMA應(yīng)用平臺基于DevOps技術(shù),可以使車企快速完成具體應(yīng)用的云化、微服務(wù)化,從而讓車企的軟件能夠跟得上商業(yè)環(huán)境的變化。
    的頭像 發(fā)表于 09-11 10:27 ?3080次閱讀

    目標(biāo)檢測與識別技術(shù)有哪些

    視頻中識別并定位感興趣的目標(biāo),通常包括目標(biāo)的類別和位置信息。目標(biāo)識別(Object Recognition)是指對檢測到的目標(biāo)進(jìn)行分類,確定
    的頭像 發(fā)表于 07-17 09:40 ?301次閱讀