【編者按】本文作者為 Kevin Goldberg奇适,主要介紹了在開發(fā)、運營應(yīng)用的完整生命周期當中,可能用到的 DevOps 工具大集合稠曼。文章系 OneAPM 工程師編譯整理。
DevOps工具包中合適的工具可以幫助你在企業(yè)內(nèi)成功實施DevOps客年,增強敏捷發(fā)布過程和團隊協(xié)作霞幅。筆者想先聲明,DevOps不僅涉及工具量瓜,如果背后沒有合適的人員與文化司恳,即使擁有最好的工具,也不能成功實施DevOps绍傲。不幸的是扔傅,沒有“文化”工具可供你使用耍共,讓你能夠立刻在團隊之間培養(yǎng)協(xié)作和反饋。
合適的工具可以提供框架猎塞,幫助公司成功實施DevOps试读。你選擇的工具,應(yīng)該鼓勵反饋荠耽,并防止進一步形成孤立钩骇。工具還應(yīng)該幫助統(tǒng)一和協(xié)調(diào)團隊。確定采用的DevOps工具包铝量,是實現(xiàn)DevOps目標和量化成功的關(guān)鍵第一步倘屹。雖然工具的特性集和解決方案是很重要的,也要確保重視工具組合起來的效果慢叨。無法整合的工具可能會需要過多的維護纽匙,成本,或產(chǎn)生沖突的信息拍谐。
在一個非常簡化的應(yīng)用生命周期視圖中哄辣,筆者將過程劃分為四個主要步驟:規(guī)劃,設(shè)計赠尾,部署和維護。在每一個步驟中毅弧,都有可以增強這一環(huán)節(jié)的工具气嫁。同樣重要的是搭综,這個過程不是一次性的灾票,這是一個持續(xù)的循環(huán)。這種持續(xù)的反饋周期术幔,是DevOps成功的必要基礎(chǔ)元咙。
與其通過一系列的產(chǎn)品列表來選擇DevOps工具梯影,你應(yīng)該考慮自己的應(yīng)用生命周期,根據(jù)特定的目標來做出選擇庶香。
基礎(chǔ)
雖然有多款工具可以支持你的DevOps規(guī)劃甲棍,但幾乎每一種規(guī)劃都依靠相同的基礎(chǔ):借助應(yīng)用智能在云中進行構(gòu)建。如果沒有云赶掖,自動化和敏捷性幾乎是不可能的——讓我們在云的假設(shè)下繼續(xù)感猛。
使用虛擬化支持,在云中構(gòu)建奢赂,你可以根據(jù)需求陪白,適當調(diào)整,實現(xiàn)動態(tài)擴展的靈活性膳灶。云的好處是成本與需求成線性比例咱士,所以你只需支付自己使用的部分。
要有效管理DevOps環(huán)境,你需要聯(lián)合高管序厉、開發(fā)人員與運維锐膜,并監(jiān)測應(yīng)用程序和終端用戶的性能。不同團隊和個人在一個控制臺相互協(xié)作脂矫,并獲得相關(guān)應(yīng)用智能的訪問權(quán)限枣耀,從而優(yōu)化軟件戰(zhàn)略,對實現(xiàn)DevOps是至關(guān)重要的庭再。
云/基礎(chǔ)設(shè)施
Azure
AWS
Rackspace
Joyent
Cloud Foundry
虛擬化工具
VMware
Xen
VirtualBox
應(yīng)用智能
規(guī)劃
開發(fā)一個新的應(yīng)用捞奕,或更新現(xiàn)有的應(yīng)用,都應(yīng)該從規(guī)劃開始拄轻。讓開發(fā)人員了解應(yīng)用的商業(yè)目標可以鼓勵他們帶有目的地進行思考颅围,同時開啟反饋循環(huán)。
同樣恨搓,重要的是院促,無論你最終選擇哪個工具,都應(yīng)該能建立于你的應(yīng)用基礎(chǔ)之上斧抱,或與之相整合常拓。
數(shù)據(jù)庫
hBase
MySQL
Redis
搜索
Solr
ElasticSearch
Web服務(wù)器
Apache
設(shè)計與架構(gòu)
企業(yè)和開發(fā)人員經(jīng)常犯的一個錯誤,就是在真空或孤立筒倉中設(shè)計應(yīng)用程序辉浦。若沒有任何反饋機制弄抬,你只是在構(gòu)建自己認為有用的功能。
其實宪郊,有各種各樣的工具和方法都可以優(yōu)化這一階段的DevOps開發(fā)〉嗨。現(xiàn)有應(yīng)用的實時用戶監(jiān)測和分析,可以有效判斷客戶的真正需求弛槐。它可能是一個沒有必要的功能或特性懊亡,或者只是因為太復(fù)雜而沒有被使用,或者有性能問題乎串,無法正常工作店枣。你可以監(jiān)測哪些特性和功能使用得最為頻繁,哪些根本不使用叹誉。最重要的是艰争,通過分析使用量和性能,你可以識別潛在的問題桂对。
擴展
部署
配置管理工具甩卓,容器和自動化測試真正改變了開發(fā)格局。DevOps的流動性和快節(jié)奏是其基礎(chǔ)和優(yōu)勢之一蕉斜,但它也是一個挑戰(zhàn)逾柿,需要維持穩(wěn)定的網(wǎng)絡(luò)訪問缀棍。 配置管理工具, 比如Puppet机错,Chef爬范,和Ansible讓企業(yè)可以管理IT配置,通過模塊組件和自動化實施弱匪,從而確保持續(xù)青瀑、可靠、穩(wěn)定的環(huán)境萧诫。它們使你能將基礎(chǔ)設(shè)施作為代碼斥难。
容器
Kubernetes
持續(xù)集成
Travis CI
Circle CI
配置管理
Puppet
Chef
Ansible
維護
你的應(yīng)用上線了,部署完成了帘饶,并不意味著你的工作就結(jié)束了哑诊。性能問題,停機時間及刻,崩潰仍有可能困擾你的應(yīng)用镀裤,進而影響業(yè)務(wù)。作為一個新的DevOps團隊缴饭,你需要做好運營工作暑劝。當有問題時,收到告警颗搂,進而找到問題的根源是至關(guān)重要的铃岔,可以確保積極、無縫的用戶體驗峭火。
告警
PagerDuty
ServiceNow
VictorOps
BigPanda
日志記錄
Splunk
SumoLogic
Loggly
Logentries
DevOps是持續(xù)的,沒有明確的生命周期起點或終點智嚷。這一切都始于接受DevOps文化卖丸,建立云和虛擬化的堅實基礎(chǔ)。除此之外盏道,規(guī)劃稍浆、設(shè)計、架構(gòu)猜嘱、實施衅枫,部署,維護和運行應(yīng)用的生命周期是一個循環(huán)往復(fù)的過程朗伶。
DevOps環(huán)境太復(fù)雜和多變弦撩,很難通過人工流程管理;使用最傳統(tǒng)的方法監(jiān)測论皆,是無法跟上步伐的益楼。為了有效地循環(huán)和往復(fù)猾漫,企業(yè)需要專為DevOps設(shè)計一個監(jiān)測解決方案。
想進一步了解感凤?請閱讀電子書——《終極 DevOps 工具包與擁抱 DevOps 生命周期》悯周。
本文系 OneAPM工程師編譯整理。OneAPM Cloud Insight 集監(jiān)控陪竿、管理禽翼、計算、協(xié)作族跛、可視化于一身闰挡,幫助所有 IT 公司,減少在系統(tǒng)監(jiān)控上的人力和時間成本投入庸蔼,讓運維工作更加高效解总、簡單。想閱讀更多技術(shù)文章姐仅,請訪問 OneAPM 官方技術(shù)博客花枫。
本文轉(zhuǎn)自 OneAPM 官方博客
原文地址:
https://blog.appdynamics.com/devops/the-ultimate-devops-toolkit-for-the-application-lifecycle/