溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

DevOps易用工具鏈怎么構(gòu)建

發(fā)布時間:2022-01-14 18:08:05 來源:億速云 閱讀:142 作者:iii 欄目:云計算

本篇內(nèi)容介紹了“DevOps易用工具鏈怎么構(gòu)建”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

構(gòu)建工具

〓 項(xiàng)目管理

瀑布式開發(fā)要規(guī)劃出所有的工作和每個版本的依賴關(guān)系,這與DevOps理念背道而馳,而敏捷開發(fā),可以通過構(gòu)建、測試應(yīng)用收集用戶反饋來降低風(fēng)險提高可見性,這也是許多團(tuán)隊(duì)在Sprint(敏捷開發(fā)的四種會議)提出構(gòu)建到發(fā)布用2—4周的時間。

當(dāng)團(tuán)隊(duì)在每個Sprint時分享想法和計劃時,要考慮之前Sprint的回顧反饋,不斷優(yōu)化方案。此后將這些構(gòu)思上傳到一些工具當(dāng)中,可以跟蹤項(xiàng)目的整體和每日進(jìn)度。推薦的工具有:

  • Active Collab:基于Web、開源的協(xié)作開發(fā)與項(xiàng)目管理工具,可以利用它輕松地搭建一個包括團(tuán)隊(duì)和項(xiàng)目客戶能夠 在同一個項(xiàng)目上實(shí)現(xiàn)相互協(xié)作的環(huán)境

  • VersionOne:支持SaaS模式和本地安裝模式,web客戶端,支持Scrum, Extreme Programming, DSDM and Agile UP等多種敏捷開發(fā)方法。 Jira:被廣泛應(yīng)用于缺陷跟蹤、客戶服務(wù)、需求收集、流程審批、任務(wù)跟蹤、項(xiàng)目跟蹤和敏捷管理等工作領(lǐng)域。

  • Trello:由著名的軟件工程師 Joel Spolsky 開發(fā)工作圍繞“木板(board)”進(jìn)行,同一小組的用戶可以在這里創(chuàng)建待辦事項(xiàng)列表(to do list)、創(chuàng)建任務(wù),并分配給同事。

〓 代碼&SCM系統(tǒng)

所有的構(gòu)建都可以用代碼來表示,在上線之前,需要測試和復(fù)查,并將其合并到一個版本控制庫中的主分支當(dāng)中,并在可以進(jìn)行任何本地測試,推薦工具有:

  • GitHub:GitHub是一個基于web的Git或版本控制庫。

  • Gitlab:提供了Git倉庫管理、代碼審查、問題跟蹤、活動反饋和wiki。

  • Bitbucket:源代碼托管網(wǎng)站,采用Mercurial和Git作為分布式版本控制系統(tǒng)。

〓 CI平臺

持續(xù)集成(CI)是現(xiàn)代軟件開發(fā)的最佳實(shí)踐,通過建立有效的持續(xù)集成環(huán)境可以減少集成問題、提高代碼質(zhì)量、改善團(tuán)隊(duì)成員之間的溝通和協(xié)作、快速迭代等,推薦的工具和平臺有:

  • Jenkins:基于Java開發(fā)的一種持續(xù)集成工具,用于監(jiān)控持續(xù)重復(fù)的工作,旨在提供一個開放易用的軟件平臺,使軟件的持續(xù)集成變成可能。

  • CodeShip:部署快,易損耗、成本低。易用性比肩Travis,而更勝一籌的是集成了相當(dāng)數(shù)量的選項(xiàng),可以根據(jù)自身的工作流程和開發(fā)工具定制化CI/CD工作流。

  • Bamboo:具有開箱即用的特性,可在硬件上運(yùn)營。Bamboo是一個聚焦企業(yè)級的解決方案,并且包含具有極強(qiáng)競爭力的特性、定價和技術(shù)支持等。可以部署在大規(guī)模生產(chǎn)環(huán)境中。

  • CodeFresh:雖然CodeFresh不是典型的CI/CD平臺,但它提供了一種有趣的應(yīng)用場景,在容器上使用CI/CD從而促進(jìn)Docker,Kubernetes和云原生的發(fā)展前景。

〓 測試

為了實(shí)現(xiàn)DevOps所需的業(yè)務(wù)目標(biāo),為確保將代碼推向生產(chǎn)是安全的,需要進(jìn)行大量測試:單元測試、集成測試、驗(yàn)收測試等,測試完成后,還有大量開源和付費(fèi)工具可以做一些其他事情,推薦的工具有:

  • JUnit:一個用于編寫可重復(fù)測試的簡單框架。

  • Mocha:簡單、靈活有趣的JavaScript測試框架。

  • CircleCi:Web應(yīng)用程序開發(fā)測試平臺。

發(fā)布工具

〓 自動化部署

發(fā)布自動化工具應(yīng)具備例如自動回滾等功能,在開始部署之前將模塊復(fù)制到主機(jī),如果企業(yè)規(guī)模較大,可以輕松地安裝代理并將防火墻配置到服務(wù)器實(shí)例中。

許多團(tuán)隊(duì)還使用基于聊天的部署工作流,讓機(jī)器人部署簡單的命令。推薦的工具有:

  • Bamboo:采用自動化管理的構(gòu)建代理模式,運(yùn)行在各種專用服務(wù)器或云服務(wù)器上的代理實(shí)現(xiàn)了構(gòu)建能力的即時動態(tài)擴(kuò)展。通過與Jira集成可以實(shí)現(xiàn)完整的發(fā)布流程

  • Puppet:一個開源的軟件自動化配置和部署工具,基于C/S架構(gòu)的。服務(wù)器端保存著所有對客戶端服務(wù)器的配置代碼,在Puppet里面叫Manifest,客戶端下載Manifest之后,可以根據(jù)Manifest對服務(wù)器進(jìn)行配置,例如軟件包管理,用戶管理和文件管理等等。

  • Superviso:一個客戶/服務(wù)器系統(tǒng),允許用戶監(jiān)控和控制類似Unix的操作系統(tǒng)上的許多進(jìn)程。

  • Forever:簡單的CLI工具,用于確保給定的腳本連續(xù)運(yùn)行。

監(jiān)控工具

〓 部署監(jiān)控

部署監(jiān)控讓高級別的發(fā)布進(jìn)入和需求狀態(tài)可視化,是理解服務(wù)健康與否的關(guān)鍵,確保CI服務(wù)器上發(fā)生的關(guān)鍵事件并及時告警。推薦的工具有:

  • Datadog:專門針對 DevOps 團(tuán)隊(duì),從APP或者其他各種工具獲取數(shù)據(jù)并提供數(shù)據(jù)可視化功能。將從基礎(chǔ)設(shè)備和應(yīng)用采集的數(shù)據(jù)統(tǒng)一處理并存儲。

  • ElasticStack:一系列開源產(chǎn)品的合集,包括 Elasticsearch、Kibana、Logstash以及 Beats 等等,提供了很多數(shù)據(jù)分析領(lǐng)域的功能,如 Pipeline Aggregation。

〓 服務(wù)器監(jiān)控

服務(wù)器監(jiān)控提供了一個基礎(chǔ)結(jié)構(gòu)級別的視圖,許多團(tuán)隊(duì)還使用日志聚合來深入研究特定問題,可以聚合及度量如:內(nèi)存、CPU、負(fù)載均衡等,使工程師能在問題發(fā)生時迅速做出響應(yīng)。推薦的工具有:

  • PagerDuty:能夠在服務(wù)器出問題時發(fā)送提醒的軟件。在發(fā)生問題時,提醒的方式包括屏幕顯示、電話呼叫、短信通知、電郵通知等,而且在無人應(yīng)答時還會自動將提醒級別提高。

  • Nagios:是一款開源的免費(fèi)網(wǎng)絡(luò)監(jiān)視工具,能有效監(jiān)控Windows、Linux和Unix的主機(jī)狀態(tài),交換機(jī)路由器等網(wǎng)絡(luò)設(shè)備,打印機(jī)等。在系統(tǒng)或服務(wù)狀態(tài)異常時發(fā)出郵件或短信報警第一時間通知網(wǎng)站運(yùn)維人員

  • Solarwinds:主要提供企業(yè)的網(wǎng)絡(luò)管理和監(jiān)控,可以幫助網(wǎng)管進(jìn)行配置,監(jiān)控和管理日趨復(fù)雜的系統(tǒng)和構(gòu)建網(wǎng)絡(luò)基礎(chǔ)構(gòu)架的流程。

〓 應(yīng)用性能監(jiān)控

應(yīng)用性能監(jiān)控為應(yīng)用和業(yè)務(wù)服務(wù)的性能及可用性提供了代碼級的可見性,讓快速理解性能指標(biāo)和滿足服務(wù)SLA更加輕松。推薦的工具有:

  • DynaTrace:在整個生命周期過程中會對Web和非Web業(yè)務(wù)關(guān)鍵應(yīng)用程序的監(jiān)控、管理和優(yōu)化方式進(jìn)行轉(zhuǎn)換。可快速解析性能問題并將問題范圍隔離定位到確切的代碼行。

  • AppDynamics:能提供端到端的、可視化驅(qū)動管理的的平臺。核心理念是SEE可視化、ACT快速解決還有KNOW實(shí)時分析。

終極工具

〓 云

云計算目前的主要廠商是亞馬遜的AWS、微軟的Azure、Google的(GCP)。在PaaS層,可以訪問和創(chuàng)建如數(shù)據(jù)庫和分析之類的應(yīng)用服務(wù)且不用考慮如操作系統(tǒng)、防火墻配置或存儲之類的基礎(chǔ)設(shè)施。

〓 Docker

Docker是一個開放的平臺,將開發(fā)、傳輸和運(yùn)行在容器這種隔離的環(huán)境中。容器封裝了專用的文件系統(tǒng)、存儲、CPU、RAM和其他需求的應(yīng)用,保證這些應(yīng)用在不虛擬化硬件的情況下持續(xù)運(yùn)行且保持一致。Docker是可移植的、輕量級的,很容易進(jìn)行安裝。

〓 Swan

數(shù)人云Swan是基于Mesos實(shí)現(xiàn)的開源應(yīng)用調(diào)度框架,幫助用戶輕松發(fā)布應(yīng)用,實(shí)現(xiàn)應(yīng)用的滾動更新,并根據(jù)用戶指定的策略做應(yīng)用的健康檢測和故障轉(zhuǎn)移。

“DevOps易用工具鏈怎么構(gòu)建”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI