您好,登錄后才能下訂單哦!
本篇內容介紹了“DevOps易用工具鏈怎么構建”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
瀑布式開發要規劃出所有的工作和每個版本的依賴關系,這與DevOps理念背道而馳,而敏捷開發,可以通過構建、測試應用收集用戶反饋來降低風險提高可見性,這也是許多團隊在Sprint(敏捷開發的四種會議)提出構建到發布用2—4周的時間。
當團隊在每個Sprint時分享想法和計劃時,要考慮之前Sprint的回顧反饋,不斷優化方案。此后將這些構思上傳到一些工具當中,可以跟蹤項目的整體和每日進度。推薦的工具有:
Active Collab:基于Web、開源的協作開發與項目管理工具,可以利用它輕松地搭建一個包括團隊和項目客戶能夠 在同一個項目上實現相互協作的環境
VersionOne:支持SaaS模式和本地安裝模式,web客戶端,支持Scrum, Extreme Programming, DSDM and Agile UP等多種敏捷開發方法。 Jira:被廣泛應用于缺陷跟蹤、客戶服務、需求收集、流程審批、任務跟蹤、項目跟蹤和敏捷管理等工作領域。
Trello:由著名的軟件工程師 Joel Spolsky 開發工作圍繞“木板(board)”進行,同一小組的用戶可以在這里創建待辦事項列表(to do list)、創建任務,并分配給同事。
所有的構建都可以用代碼來表示,在上線之前,需要測試和復查,并將其合并到一個版本控制庫中的主分支當中,并在可以進行任何本地測試,推薦工具有:
GitHub:GitHub是一個基于web的Git或版本控制庫。
Gitlab:提供了Git倉庫管理、代碼審查、問題跟蹤、活動反饋和wiki。
Bitbucket:源代碼托管網站,采用Mercurial和Git作為分布式版本控制系統。
持續集成(CI)是現代軟件開發的最佳實踐,通過建立有效的持續集成環境可以減少集成問題、提高代碼質量、改善團隊成員之間的溝通和協作、快速迭代等,推薦的工具和平臺有:
Jenkins:基于Java開發的一種持續集成工具,用于監控持續重復的工作,旨在提供一個開放易用的軟件平臺,使軟件的持續集成變成可能。
CodeShip:部署快,易損耗、成本低。易用性比肩Travis,而更勝一籌的是集成了相當數量的選項,可以根據自身的工作流程和開發工具定制化CI/CD工作流。
Bamboo:具有開箱即用的特性,可在硬件上運營。Bamboo是一個聚焦企業級的解決方案,并且包含具有極強競爭力的特性、定價和技術支持等。可以部署在大規模生產環境中。
CodeFresh:雖然CodeFresh不是典型的CI/CD平臺,但它提供了一種有趣的應用場景,在容器上使用CI/CD從而促進Docker,Kubernetes和云原生的發展前景。
為了實現DevOps所需的業務目標,為確保將代碼推向生產是安全的,需要進行大量測試:單元測試、集成測試、驗收測試等,測試完成后,還有大量開源和付費工具可以做一些其他事情,推薦的工具有:
JUnit:一個用于編寫可重復測試的簡單框架。
Mocha:簡單、靈活有趣的JavaScript測試框架。
CircleCi:Web應用程序開發測試平臺。
發布自動化工具應具備例如自動回滾等功能,在開始部署之前將模塊復制到主機,如果企業規模較大,可以輕松地安裝代理并將防火墻配置到服務器實例中。
許多團隊還使用基于聊天的部署工作流,讓機器人部署簡單的命令。推薦的工具有:
Bamboo:采用自動化管理的構建代理模式,運行在各種專用服務器或云服務器上的代理實現了構建能力的即時動態擴展。通過與Jira集成可以實現完整的發布流程
Puppet:一個開源的軟件自動化配置和部署工具,基于C/S架構的。服務器端保存著所有對客戶端服務器的配置代碼,在Puppet里面叫Manifest,客戶端下載Manifest之后,可以根據Manifest對服務器進行配置,例如軟件包管理,用戶管理和文件管理等等。
Superviso:一個客戶/服務器系統,允許用戶監控和控制類似Unix的操作系統上的許多進程。
Forever:簡單的CLI工具,用于確保給定的腳本連續運行。
部署監控讓高級別的發布進入和需求狀態可視化,是理解服務健康與否的關鍵,確保CI服務器上發生的關鍵事件并及時告警。推薦的工具有:
Datadog:專門針對 DevOps 團隊,從APP或者其他各種工具獲取數據并提供數據可視化功能。將從基礎設備和應用采集的數據統一處理并存儲。
ElasticStack:一系列開源產品的合集,包括 Elasticsearch、Kibana、Logstash以及 Beats 等等,提供了很多數據分析領域的功能,如 Pipeline Aggregation。
服務器監控提供了一個基礎結構級別的視圖,許多團隊還使用日志聚合來深入研究特定問題,可以聚合及度量如:內存、CPU、負載均衡等,使工程師能在問題發生時迅速做出響應。推薦的工具有:
PagerDuty:能夠在服務器出問題時發送提醒的軟件。在發生問題時,提醒的方式包括屏幕顯示、電話呼叫、短信通知、電郵通知等,而且在無人應答時還會自動將提醒級別提高。
Nagios:是一款開源的免費網絡監視工具,能有效監控Windows、Linux和Unix的主機狀態,交換機路由器等網絡設備,打印機等。在系統或服務狀態異常時發出郵件或短信報警第一時間通知網站運維人員
Solarwinds:主要提供企業的網絡管理和監控,可以幫助網管進行配置,監控和管理日趨復雜的系統和構建網絡基礎構架的流程。
應用性能監控為應用和業務服務的性能及可用性提供了代碼級的可見性,讓快速理解性能指標和滿足服務SLA更加輕松。推薦的工具有:
DynaTrace:在整個生命周期過程中會對Web和非Web業務關鍵應用程序的監控、管理和優化方式進行轉換。可快速解析性能問題并將問題范圍隔離定位到確切的代碼行。
AppDynamics:能提供端到端的、可視化驅動管理的的平臺。核心理念是SEE可視化、ACT快速解決還有KNOW實時分析。
云計算目前的主要廠商是亞馬遜的AWS、微軟的Azure、Google的(GCP)。在PaaS層,可以訪問和創建如數據庫和分析之類的應用服務且不用考慮如操作系統、防火墻配置或存儲之類的基礎設施。
Docker是一個開放的平臺,將開發、傳輸和運行在容器這種隔離的環境中。容器封裝了專用的文件系統、存儲、CPU、RAM和其他需求的應用,保證這些應用在不虛擬化硬件的情況下持續運行且保持一致。Docker是可移植的、輕量級的,很容易進行安裝。
數人云Swan是基于Mesos實現的開源應用調度框架,幫助用戶輕松發布應用,實現應用的滾動更新,并根據用戶指定的策略做應用的健康檢測和故障轉移。
“DevOps易用工具鏈怎么構建”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。