運維必備的DevOps工具鏈大盤點

Suresh Sekar
DevOps是一種令人興奮的工作方式,盡管它不是唯一的方式,甚至不是最好的方式。更好的東西可能會在未來出現(xiàn),但目前看來,它似乎代表了一種很好的團隊協(xié)作方式。它讓團隊共同努力,交付價值,同時也幫助他們專注于客戶,而不僅僅是技術(shù)或內(nèi)部的東西,也包括了速度、學習以及公司的未來。

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

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

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

●持續(xù)改進是目標;

●DevOps不是花錢買來的;

●分階段采用工具。

2、計劃工具

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

●分享目標;

●透明性;

●賦能。

計劃工具示例

GitLab

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

Tasktop

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

CollabNet VersionOne

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

Pivotal Tracker

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

Trello

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

很多團隊用它來計劃各自的工作sprint。

Azure Boards

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

這些都是可視化工作、分享計劃、跟蹤進展、確保朝著目標前進的好方法。

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)管控;

●減少傳輸損耗;

●促進團隊合作。

SCM工具示例

Git

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

GitHub

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

GitLab

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

Bitbucket

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

Subversion

Apache Subversion是一種軟件版本控制系統(tǒng),采用了Apache開發(fā)源碼許可。軟件開發(fā)人員使用Subversion來維護文件的當前和歷史版本,例如源代碼、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ā)布和部署的二進制文件的工具。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ā)當中扮演著非常重要的角色,它是單元測試框架家族xUnit(源于SUnit)的一員。

xUnit.net

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

Selenium

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

Jasmine

Jasmine是一個開源的JavaScript測試框架。它的目標是可以在任何支持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ù),它可以訪問到工程團隊協(xié)作以及代碼運行的數(shù)據(jù)。Spotify、Coinbase、Stitch Fix和BuzzFeed等公司都使用CircleCI來提高工程團隊的工作效率,發(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è)施。

每當發(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)建和部署,減少在具體細節(jié)上花費的時間,把更多的時間花在創(chuàng)造性的事情上。

CD工具

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

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

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

●統(tǒng)一團隊為客戶創(chuàng)造價值的目標。

CD工具示例

Spinnaker

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

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

Octopus Deploy

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

Octopus是一個工具集,可以極大簡化DevOps過程,通過云或虛擬機對大量微服務(wù)或應(yīng)用程序進行持續(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ù)和軟件更新,沒有停機時間或者停機時間很短。

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

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

Chef

Chef是一個配置管理工具,用于處理物理服務(wù)器、虛擬機和云端的機器配置。很多公司用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è)置之后維護指定的狀態(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代理(一個守護進程)。代理節(jié)點收集的有關(guān)節(jié)點的配置信息將發(fā)送給主節(jié)點。主節(jié)點根據(jù)應(yīng)該如何配置來編譯目錄,其他節(jié)點使用這些信息來更新自己的配置。

Puppet使用了拉取模式,代理節(jié)點定時輪詢主機,查詢特定于站點和特定于節(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è)擴大規(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ā)和擴展新的應(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ù)管理、混合和多云、人工智能和機器學習。

Pivotal Cloud Foundry

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

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

Heroku

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

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

中國云廠商(編者補充)

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

容器調(diào)度器

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

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

Docker Swarm

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

Apache Mesos

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

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),它通過標簽和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)度器策略配置覆蓋這些默認值。

我們可以通過命令行標志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ā)、管理和維護的。

●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)鍵指標,如請求量和延遲)到單個請求的詳細跟蹤信息——與日志和基礎(chǔ)設(shè)施監(jiān)控信息并列展示。

當向應(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ù)庫中記錄實時指標,基于HTTP拉取模型,支持靈活的查詢和實時警報。

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

Zipkin

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

如果日志文件中有跟蹤ID,則可以直接跳指定位置。否則的話,你可以基于服務(wù)、操作名稱、tagsm和持續(xù)時間等屬性進行查詢。它將為你匯總出一些有趣的數(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ù),進行故障排除和深入診斷;

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

●使用Azure儀表板和工作簿進行可視化。

11、通信工具

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

●連接團隊;

●減少等待時間;

●改進團隊協(xié)作。

通信工具示例

Slack

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

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

微軟Teams

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

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

谷歌Hangouts

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

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

Zoom

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

Skype更適合尋找整體商業(yè)解決方案的團隊,而Zoom更適合頻繁進行視頻聊天和會議的團隊。不過,這兩種工具都不是專門為遠程工作而構(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é)作工具,用于幫助團隊有效地協(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的目標是讓任何人都能夠創(chuàng)建支持不同編輯器協(xié)作的簡單Web站點。

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

13、總結(jié)

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

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

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

THEEND

最新評論(評論僅代表用戶觀點)

更多
暫無評論