2017年,Devops開始流行。有一段時(shí)間,互聯(lián)網(wǎng)廠商都在談自動(dòng)化運(yùn)維,都在談Devops實(shí)踐。從國(guó)外的微軟谷歌到國(guó)內(nèi)的阿里騰訊,他們都在做Dveops落地。那么為什么Devops火了呢?
像這個(gè)漫畫,軟件研發(fā)的功能越來越全面,導(dǎo)致代碼越來越大,越來越復(fù)雜。在添加一些新特性時(shí),需要投入大量的人力物力來更新和維護(hù)代碼。即使有優(yōu)秀的架構(gòu)師、數(shù)據(jù)庫和運(yùn)維人員,以及龐大的開發(fā)和產(chǎn)品經(jīng)理團(tuán)隊(duì),也很難控制全局。
手動(dòng)編譯,上傳服務(wù)器文件,執(zhí)行命令,啟動(dòng)和停止服務(wù)器,發(fā)現(xiàn)bug,重復(fù)這個(gè)過程,軟件開發(fā)的重復(fù)努力越來越多。在Devops概念出現(xiàn)之前,都是要人工完成的,很多運(yùn)維人員半夜起來急救。
Devops這個(gè)詞來源于開發(fā)和運(yùn)營(yíng)的結(jié)合。字面意思就是軟件開發(fā)人員和運(yùn)維人員可以更好的溝通和協(xié)作,通過自動(dòng)化的流程,軟件開發(fā)、測(cè)試和發(fā)布更快。其實(shí)Devops是敏捷和精益開發(fā)的傳承,是在整個(gè)IT價(jià)值流中實(shí)施精益的結(jié)果。Devops不僅僅是一個(gè)新工程師,也不是一個(gè)部門,而是一種文化。沒有直接把一個(gè)團(tuán)隊(duì)變成Devops組織的工具,這是觀念的轉(zhuǎn)變。
Devops在高效交付和自動(dòng)化運(yùn)維方面的優(yōu)勢(shì)使其迅速被市場(chǎng)認(rèn)可和接受,但在Devops的實(shí)踐中往往存在很大的障礙。
Devops并不是簡(jiǎn)單的將開發(fā)部門和運(yùn)維部門合并,而是通過自動(dòng)化的基礎(chǔ)設(shè)施、合理的流程規(guī)范、智能化的自動(dòng)運(yùn)行系統(tǒng)測(cè)試,加強(qiáng)開發(fā)和運(yùn)維之間的溝通與合作。
這就需要在開發(fā)和運(yùn)維之間達(dá)成共識(shí),圍繞業(yè)務(wù)系統(tǒng)組織工作,弱化責(zé)任概念,打破傳統(tǒng)IT分組的壁壘。
在第六屆全球軟件案例研究百強(qiáng)峰會(huì)入選名單中,我們看到了來自阿里、騰訊、去哪兒和中國(guó)移動(dòng)的Devops實(shí)踐案例。
騰訊運(yùn)維總監(jiān)聶鑫:喝咖啡做運(yùn)維,騰訊運(yùn)維完成了大規(guī)模的Devops實(shí)踐
很多人都在說devops。好像這兩年大家都找到了一套完整的運(yùn)維解決方案。運(yùn)維領(lǐng)域的“教科書”好像已經(jīng)出版了。如果遵循,就能實(shí)現(xiàn)運(yùn)維新時(shí)代,過上喝咖啡做運(yùn)維的好生活。
但是,在此之前運(yùn)營(yíng)維護(hù)的痛苦和涅槃過程是怎樣的呢?目前,騰訊SNG魏云正在保護(hù)10萬臺(tái)服務(wù)器,一人最多維護(hù)1萬臺(tái),在天津大爆炸、春節(jié)紅包等各種突發(fā)事件背后,展現(xiàn)出卓越的運(yùn)維能力。
回顧十年前開始的騰訊運(yùn)維建設(shè)歷程,標(biāo)準(zhǔn)化是騰訊SNG運(yùn)維的核心理念,需要一些核心軟件和方法論來幫助運(yùn)維少走彎路,突破各種壁壘,達(dá)到標(biāo)準(zhǔn)化的目標(biāo),最終幫助運(yùn)維和R&D延伸到Devops。根據(jù)業(yè)務(wù)的不同階段,投入產(chǎn)出分析會(huì)影響運(yùn)維方向的建設(shè),所以要盡早投入,盡量深化。
建立一個(gè)運(yùn)營(yíng)體系,需要考慮五到十年的業(yè)務(wù)規(guī)劃,選擇合適的運(yùn)營(yíng)理念。不要迷信某一種操作方法論,選擇最適合自己企業(yè)的最重要。
阿里巴巴平臺(tái)產(chǎn)品負(fù)責(zé)人陸一元:阿里移動(dòng)DevOps實(shí)踐
移動(dòng)開發(fā)模式進(jìn)入了兩個(gè)差異化層次:超大規(guī)模APP的研發(fā)模式以項(xiàng)目為導(dǎo)向,R&D協(xié)作的人和模塊比較多,需要構(gòu)建、測(cè)試、發(fā)布、運(yùn)維等完整的DevOps系統(tǒng);但是,一些創(chuàng)新的、實(shí)驗(yàn)性的app更適合在商業(yè)模式和商業(yè)形式?jīng)]有完全確定的情況下,以更快的方式測(cè)試和驗(yàn)證商業(yè)思想。因此,以最低的成本快速創(chuàng)建一個(gè)應(yīng)用程序勢(shì)在必行。
中國(guó)移動(dòng)浙江公司德沃斯工具鏈產(chǎn)品經(jīng)理羅瓊:德沃斯平臺(tái)的“精益創(chuàng)業(yè)”
浙江移動(dòng)的DevOps產(chǎn)品R&D團(tuán)隊(duì)服務(wù)于數(shù)百個(gè)國(guó)內(nèi)開發(fā)團(tuán)隊(duì)、外部本地開發(fā)團(tuán)隊(duì)和其他外部移動(dòng)租戶。R&D的主要產(chǎn)品是以用戶體驗(yàn)為中心的混合云管理平臺(tái)。
DevOps建設(shè)不同,可以分為基于CI/CD的研發(fā)管理服務(wù)和公共云服務(wù)能力兩大流派。浙江移動(dòng)的DevOps用戶包括幾百個(gè)國(guó)內(nèi)開發(fā)團(tuán)隊(duì)和外部本地開發(fā)團(tuán)隊(duì)。我們構(gòu)建了一個(gè)以用戶體驗(yàn)為中心的混合云平臺(tái)。
根據(jù)復(fù)雜理論的觀點(diǎn),要實(shí)施敏捷DevOps,要從更復(fù)雜、更復(fù)雜的組織和團(tuán)隊(duì)環(huán)境中尋找突破點(diǎn),關(guān)注痛點(diǎn),在“高附加值”的事情上“浪費(fèi)”時(shí)間,集中精力解決痛點(diǎn),從而找到適合團(tuán)隊(duì)發(fā)展的敏捷DevOps之路。
管理組長(zhǎng)王曉祥在哪里配置:devops淘汰低效幕后手
去哪兒有一種與生俱來的devops文化,在研發(fā)過程中得到很多自動(dòng)化工具的支持。因?yàn)檫@些工具是由不同專業(yè)背景的團(tuán)隊(duì)提供的,工程師需要了解不同工具中的獨(dú)特概念,記住各種工具之間的關(guān)系,有時(shí)還得在多個(gè)系統(tǒng)之間切換“人工智能”來完成一件事。在devops的幫助下,我們決定推倒原有“獨(dú)立”自動(dòng)化工具的墻,消除孤立的信息孤島,建立以應(yīng)用為中心的生命周期管理平臺(tái)——Portal。整個(gè)生命周期是指從需求-開發(fā)-測(cè)試-交付-運(yùn)營(yíng)和維護(hù)的一個(gè)閉環(huán)。
以上案例已入圍第六屆全球100強(qiáng)軟件案例研究峰會(huì),關(guān)注100強(qiáng)頭條號(hào),通過首頁菜單欄現(xiàn)場(chǎng)發(fā)布會(huì)傳遞免費(fèi)體驗(yàn)票。
附件:Devops58開源實(shí)用程序
1.版本控制和協(xié)作開發(fā)工具
LXD是ubuntu基于LXC技術(shù)的改造,容器自然支持非特權(quán)和分布式。LXD和多克在思想上不同,多克是PAAS,LXD是IAAS。LXC項(xiàng)目由一個(gè)Linux內(nèi)核補(bǔ)丁和一些用戶空間工具組成。這些用戶空間工具使用由補(bǔ)丁添加的新內(nèi)核特性,并提供一組簡(jiǎn)化的工具來維護(hù)容器。
4.2配置管理
(30)廚師
Chef是一個(gè)系統(tǒng)集成框架,為整個(gè)架構(gòu)提供配置管理功能。
(31)木偶
傀儡,可以集中管理每一個(gè)重要的方面。您的系統(tǒng)使用跨平臺(tái)規(guī)范語言。管理的所有單個(gè)元素通常都聚集在不同的文件中,如用戶和CRON作業(yè),以及與主機(jī)明顯分離的元素,如打包、服務(wù)和文件。
(32)CFengine
Cfengine (Configuration Engine)是一個(gè)UNIX管理工具,旨在自動(dòng)化簡(jiǎn)單的管理任務(wù),使困難的任務(wù)變得更容易。Cfengine適用于管理各種環(huán)境,從一臺(tái)主機(jī)到數(shù)萬臺(tái)主機(jī)的集群。
(33)Bash
Bash是大多數(shù)Linux系統(tǒng)和Mac OS X v10.4的默認(rèn)外殼,可以運(yùn)行在大多數(shù)Unix風(fēng)格的操作系統(tǒng)上,甚至可以移植到微軟windows上的Cygwin系統(tǒng)上,實(shí)現(xiàn)Windows的POSIX虛擬接口。另外通過DJGPP項(xiàng)目移植到MS-DOS。
(34)方向舵
Rudder已經(jīng)改名為法蘭絨,為每臺(tái)使用Kubernetes的機(jī)器提供一個(gè)子網(wǎng)。也就是說,Kubernetes集群中的每臺(tái)主機(jī)都有自己完整的子網(wǎng),例如機(jī)器A和B可以有10.0.1.0/24和10.0.2.0/24子網(wǎng)。
(35)Powershell
(36)運(yùn)行平臺(tái)
RunDeck是用Java/Grails編寫的開源工具,幫助用戶在數(shù)據(jù)中心或云環(huán)境中實(shí)現(xiàn)各種操作和流程的自動(dòng)化。通過命令行或web界面,用戶可以操作任意數(shù)量的服務(wù)器,大大降低了服務(wù)器自動(dòng)化的門檻。
(37)鹽堆
Saltstack可以看作是func的增強(qiáng)版+Puppet的削弱版。用Python寫的。非常容易使用,可以根據(jù)EPEL快速部署。Salt是管理您的基礎(chǔ)架構(gòu)的開源工具,可以輕松管理數(shù)千臺(tái)服務(wù)器。
(38)Ansible
Ansible是一個(gè)用于發(fā)布、管理和安排計(jì)算機(jī)系統(tǒng)的工具。Ansible是模型驅(qū)動(dòng)的配置管理器,支持多節(jié)點(diǎn)發(fā)布和遠(yuǎn)程任務(wù)執(zhí)行。SSH默認(rèn)用于遠(yuǎn)程連接。不需要在被管理節(jié)點(diǎn)上安裝額外的軟件,可以使用各種編程語言進(jìn)行擴(kuò)展。
4.3微服務(wù)平臺(tái)
(39)OpenShift
OpenShift是Red Hat推出的平臺(tái)即服務(wù)(PaaS),對(duì)開源開發(fā)者開放。OpenShift通過為開發(fā)人員提供更多的語言、框架和云選擇,使他們能夠構(gòu)建、測(cè)試、運(yùn)行和管理他們的應(yīng)用程序。
(40)云代工廠
云鑄造(Cloud Foundry)是業(yè)界首款開源PaaS云平臺(tái),由VMware于2011年4月12日推出。它支持各種框架、語言、運(yùn)行時(shí)環(huán)境、云平臺(tái)和應(yīng)用服務(wù),使開發(fā)人員能夠在幾秒鐘內(nèi)部署和擴(kuò)展應(yīng)用,而無需擔(dān)心任何基礎(chǔ)架構(gòu)問題。
(41)Kubernetes
Kubernetes是來自Google云平臺(tái)的開源容器集群管理系統(tǒng)。構(gòu)建基于Docker的集裝箱調(diào)度服務(wù)。系統(tǒng)可以自動(dòng)選擇容器群中的一個(gè)工作容器來使用。它的核心概念是集裝箱吊艙。
(42)中間層
Apache Mesos是一個(gè)集群管理器,跨分布式應(yīng)用或框架提供有效的資源隔離和共享,可以運(yùn)行Hadoop、MPI、Hypertable和Spark。
4.4服務(wù)開放
(43)木偶
傀儡,可以集中管理每一個(gè)重要的方面。您的系統(tǒng)使用跨平臺(tái)規(guī)范語言。管理的所有單個(gè)元素通常都聚集在不同的文件中,如用戶和CRON作業(yè),以及與主機(jī)明顯分離的元素,如打包、服務(wù)和文件。
(44)剃刀
(45)碼頭工人群
Docker Swarm是一個(gè)分布式應(yīng)用程序的本地集群,它基于Machine提供的功能優(yōu)化主機(jī)資源和容錯(cuò)服務(wù)的利用率。具體來說,Docker Swarm使用戶能夠創(chuàng)建可以運(yùn)行Docker守護(hù)程序的主機(jī)資源池,然后在資源池中運(yùn)行Docker容器。Docker Swarm可以管理工作負(fù)載并維護(hù)集群狀態(tài)。
(46)流浪者
流浪者是一個(gè)基于Ruby的工具,用于創(chuàng)建和部署虛擬化開發(fā)環(huán)境。它使用甲骨文的開源VirtualBox虛擬化系統(tǒng)和廚師來創(chuàng)建一個(gè)自動(dòng)化的虛擬環(huán)境。
(47)Powershell
(48)開放式堆棧加熱
5.維護(hù)
5.1記錄
(49)Logstash
Logstash是一個(gè)用于傳輸、處理、管理和搜索應(yīng)用程序日志和事件的平臺(tái)。您可以使用它來收集和管理應(yīng)用程序日志,并提供一個(gè)用于查詢和統(tǒng)計(jì)的網(wǎng)絡(luò)界面。
(50)CollectD
Collected是一個(gè)守護(hù)進(jìn)程,用于收集系統(tǒng)性能,并提供各種存儲(chǔ)方法來存儲(chǔ)不同的值。例如以RRD文件形式。
(51)StatsD
StatsD是一個(gè)簡(jiǎn)單的網(wǎng)絡(luò)守護(hù)進(jìn)程,基于Node.js平臺(tái),監(jiān)聽各種統(tǒng)計(jì)信息,包括計(jì)數(shù)器和定時(shí)器,將聚合的信息發(fā)送給后端服務(wù),比如石墨。
6.監(jiān)控和警告&分析
(52)Nagios
Nagios是一個(gè)監(jiān)控系統(tǒng),監(jiān)控系統(tǒng)運(yùn)行狀態(tài)和網(wǎng)絡(luò)信息。Nagios可以監(jiān)控指定的本地或遠(yuǎn)程主機(jī)和服務(wù),并提供異常通知功能。
(53)神經(jīng)節(jié)
Ganglia是一個(gè)分布式監(jiān)控系統(tǒng),具有可擴(kuò)展的跨平臺(tái)和高性能計(jì)算系統(tǒng),如集群和網(wǎng)格。它基于分層設(shè)計(jì),使用廣泛的技術(shù),如可擴(kuò)展標(biāo)記語言數(shù)據(jù)表示、可移植數(shù)據(jù)傳輸和用于數(shù)據(jù)存儲(chǔ)和可視化的RRDtool。
(54)感官
Sensu是一個(gè)開源的監(jiān)控框架。主要特點(diǎn):高度可組合;提供監(jiān)控代理、事件處理器和文檔APIs;專為云設(shè)計(jì);Sensu的現(xiàn)代架構(gòu)允許監(jiān)控大規(guī)模動(dòng)態(tài)基礎(chǔ)設(shè)施,并可以通過復(fù)雜的公共網(wǎng)絡(luò)監(jiān)控?cái)?shù)千臺(tái)全球分布的機(jī)器和服務(wù);熱心社區(qū)。
(55)Zabbix
Zabbix是一個(gè)企業(yè)級(jí)開源解決方案,提供基于WEB界面的分布式系統(tǒng)監(jiān)控和網(wǎng)絡(luò)監(jiān)控功能。
(56)ICINGA
ICINGA項(xiàng)目是由HendrikB的Michael Luebben開發(fā)的?由cker和JoergLinge發(fā)起,他們都是現(xiàn)有Nagios項(xiàng)目社區(qū)委員會(huì)的成員,他們承諾新的開源項(xiàng)目將與以前的Nagios應(yīng)用程序和擴(kuò)展完全兼容。
(57)石墨
石墨是一個(gè)開源項(xiàng)目,用于收集網(wǎng)站的實(shí)時(shí)信息并進(jìn)行統(tǒng)計(jì),可以用來收集各種網(wǎng)站服務(wù)的運(yùn)行狀態(tài)信息。石墨服務(wù)平均每分鐘有4800次更新操作。
(58)Kibana
Kibana是一個(gè)用于日志分析和彈性搜索的網(wǎng)絡(luò)界面。它可以用來高效地搜索、可視化和分析日志。
1.《devops Devops時(shí)代,騰訊阿里的運(yùn)維實(shí)踐(附Devops58個(gè)開源工具)》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡(luò)信息知識(shí),僅代表作者本人觀點(diǎn),與本網(wǎng)站無關(guān),侵刪請(qǐng)聯(lián)系頁腳下方聯(lián)系方式。
2.《devops Devops時(shí)代,騰訊阿里的運(yùn)維實(shí)踐(附Devops58個(gè)開源工具)》僅供讀者參考,本網(wǎng)站未對(duì)該內(nèi)容進(jìn)行證實(shí),對(duì)其原創(chuàng)性、真實(shí)性、完整性、及時(shí)性不作任何保證。
3.文章轉(zhuǎn)載時(shí)請(qǐng)保留本站內(nèi)容來源地址,http://f99ss.com/caijing/799657.html