DevOps到底是什么鬼?DevOps介绍及工具推荐
轉載自?DevOps到底是什么鬼?DevOps介紹及工具推薦
?
什么是DevOps
DevOps是Development和Operations的組合,是一組過程、方法與系統的統稱,用于促進開發(應用程序/軟件工程)、技術運營和質量保障(QA)部門之間的溝通、協作與整合。它的出現是由于軟件行業日益清晰地認識到:為了按時交付軟件產品和服務,開發和運營工作必須緊密合作。
可以把DevOps看作開發(軟件工程)、技術運營和質量保障(QA)三者的交集。
傳統的軟件組織將開發、IT運營和質量保障設為各自分離的部門。在這種環境下如何采用新的開發方法(例如敏捷軟件開發),這是一個重要的課題:按照從前的工作方式,開發和部署不需要IT支持或者QA深入的、跨部門的支持,而卻需要極其緊密的多部門協作。然而DevOps考慮的還不止是軟件部署。它是一套針對這幾個部門間溝通與協作問題的流程和方法。
DevOps工具
工欲善其事,必先利其器,現在大家在DevOps領域最關注的還是在工具層面。
下面是我跟這么多公司接觸下來,大家使用比較多的工具:
1、監控工具
比較老牌的就是Zabbix,Nagios,用Zabbix的感覺是最多的。國內的有小米開源的OpenFalcon。這類監控工具一般是對服務器、服務(中間件,數據庫)做一些常用指標的監控。
2、性能分析/APM工具
APM很多時候被認為是監控的一個細分領域。但在現代復雜分布式系統架構下,APM工具往往更能準確、直接的幫助用戶定位到性能瓶頸,比如哪一個URL訪問慢、哪一個方法執行慢、哪一個SQL執行慢。在以往要想拿到這些數據,往往得需要比較資深的架構師、DBA一起合作才能拿到這些數據,而定位瓶頸的效率往往還不太高。現在通過APM工具能讓普通技能的運維人員,也很高效的定位到這些深層的問題。現在商用的APM工具不少,國外的有Newrelic,國內知名的就有聽云、Oneapm、透視寶這些。開源的也有Pinpoint(naver開源)、Zipkin(twitter開源)、CAT(大眾點評開源).
3、批量+自動化運維工具
這里就比較多了,知名的有Puppet、Ansible、Chef、Saltstack這些。這些在網上的資料也比較多,找比較新版本的官方文檔看就行了。Puppet和chef是比較早期的工具,受眾面也很大,不過這兩個工具基于ruby實現,現在要找到熟悉ruby的人來做這塊的二次開發可不容易。而ansible和saltstack則相對新生代一些,目前用戶基數增長很快,基于python實現,要找做二次開發的人也相對容易的多。
4、集中日志分析工具
在一個服務器比較多的環境下,如何集中的管理和分析、查詢日志,已經變成一個比較強的需求了。想象一下,如果發生了某個錯誤,你還得一臺臺機器去翻日志文件,是不是很蛋疼。在這個需求驅動下,就誕生了一些集中日志分析工具。在開源領域,比較知名的就是ELK這一套工具了,涵蓋了日志采集、上報、搜索、展現這一類基本需求,現在比較多的上規模的企業都用這個,網上資料也大把。核心實現機制都是通過一些日志采集代理(類似Filebeat)去爬日志文件,將最新的部分提交到采集服務端,后端再對接搜索引擎,能支持很快速、準確的搜索即可。有一個國內不怎么知名的Sentry日志收集服務,比較輕量級,本身是Python做的,與各種語言的日志框架做了非常好的集成,可以很方便的集中收集異常日志,并分配給對應的開發人員。它在github上有10000多個star了,這在DevOps相關的軟件里,都是排名非常靠前的了。git的地址:GitHub - getsentry/sentry: Sentry is cross-platform crash reporting built with love
5、持續集成/發布工具
我接觸的人都是用Jenkins的,沒有用其他的,可能跟我所在的技術圈子有關。集成打包的過程其實一般都比較簡單,配好版本庫和打包腳本就行。但發布的過程就比較復雜,有些是全量發布,但也有非常多的IT團隊采用增量發布。這個方面如果想用工具,還是得先分析清楚現有的發布流程,手工情況下怎么做,哪些能通過自動化工具來完成。
6、IaaS集成
最近兩年的公有云推廣比較迅速,很多新的服務器采購都被導入到云上去了。現在主流的公有云都提供了比較完備的API,基于這些API也可以做一些針對基礎資源的自動化操作,比如游戲行業的快速開服。
更多的可以看下知乎上的一篇關于DevOps的文章:<<你所在的公司是如何實施DevOps的?>>
https://www.zhihu.com/question/24413538/answer/116474416
?
總結
以上是生活随笔為你收集整理的DevOps到底是什么鬼?DevOps介绍及工具推荐的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ps ai ae pr需要的电脑配置?
- 下一篇: 百度分布式配置管理平台-Disconf