DevOps這個詞在幾年前從歐美流入中國,主要反映了開發(fā)與運維兩類專業(yè)人士之間的矛盾與磨合。從單詞的角度分析,DevOps是開發(fā)(Development)和運維(Operations)合并在一起的縮寫,形成了一個新概念,可以理解為是一組過程、方法與系統(tǒng)的統(tǒng)稱,用于促進開發(fā)(應(yīng)用程序、軟件工程)、技術(shù)運營以及質(zhì)量保障(QA)部門之間的溝通、協(xié)作與整合工作。
DevOps這種概念的出現(xiàn)打破了之前很多公司的開發(fā)同運維分離與固化的矛盾,相反DevOps讓使用產(chǎn)品的人有機會在開發(fā)過程中,而不是在開發(fā)完全結(jié)束后,對應(yīng)用程序的構(gòu)建發(fā)表意見,強調(diào)開發(fā)與運維的溝通與協(xié)作能力。
DevOps的出現(xiàn)是由于軟件行業(yè)日益清晰地認(rèn)識到,為了按時交付軟件產(chǎn)品和服務(wù),開發(fā)和運營工作必須緊密合作。近年來,DevOps已然走入很多企業(yè)的IT技術(shù)生產(chǎn)中,如今有哪些備受喜愛的DevOps工具呢?
GIT 在開源的潮流中,GIT作為一個免費的開源分布式版本控制系統(tǒng),用以有效、高速的處理從很小到非常大的項目版本管理。與GitHub一樣,GIT因為免費、team集成、代碼質(zhì)量分析和項目平臺演示等特點已經(jīng)獲得了很多開發(fā)運維人員的喜愛。
Chef Chef與Puppet十分相似,都屬于服務(wù)器的構(gòu)成管理工具,均有配置中心服務(wù)器,基于ruby語言,也都擁有自己的擴展方式。同時,Chef擁有三種管理模式,Chef-Solo、Client-Server和Opscode Platform。
簡單來說,Chef 是一個系統(tǒng)集成框架,可以為整個架構(gòu)提供配置管理功能。賓夕法尼亞大學(xué)沃頓商學(xué)院的技術(shù)總監(jiān)Sanjay Modi在Chef網(wǎng)站的個案分析上說:“Chef也將為組織內(nèi)的協(xié)作和工作效率提高帶來更多的可能性。”
Puppet Puppet屬于集中配置管理系統(tǒng),適用平臺包括Linux、Unix、windows,使用自有的puppet描述語言,可管理配置文件、用戶、cron任務(wù)、軟件包以及系統(tǒng)服務(wù)等,其中Puppet Enterprise專門管理基礎(chǔ)設(shè)施即代碼(IAC)。
斯坦福大學(xué)的Bess Sadler在Puppet網(wǎng)站的視頻推薦中表示:“斯坦福大學(xué)采用Puppet的開源版本來解決開發(fā)新型數(shù)字圖書館服務(wù)和保持這些服務(wù)高性能安全運行之間的矛盾。”
Docker 近年來在軟件領(lǐng)域,除了開源這個概念外,容器技術(shù)也絕對稱得上是熱門,在所有容器中,又不得不提Docker。Docker最初屬于dotCloud,開源后獲得了社區(qū)的歡迎以及開發(fā)者的喜愛,應(yīng)該說Docker是一個開源的應(yīng)用容器引擎,成為容器市場的領(lǐng)導(dǎo)者。
可以說Docker是一個重新定義了程序開發(fā)測試、交付和部署過程的開放平臺,可以簡稱為“構(gòu)建一次,到處運行”,這就是Docker提出的“Build once,Run anywhere”。如今Docker逐漸受到市場的喜愛,在部分企業(yè)中已經(jīng)開始取代虛擬機,運用于生產(chǎn)場景中。
Splunk Splunk是一個運維智能平臺,屬于機器數(shù)據(jù)的引擎。Splunk通過監(jiān)控和分析客戶的點擊流、交易數(shù)據(jù)、信息安全事件和網(wǎng)絡(luò)活動,幫助獲得機器生成數(shù)據(jù)中富有價值的運維智能,它使開發(fā)者能夠直接看到生產(chǎn)環(huán)境中的數(shù)據(jù),無需訪問生產(chǎn)機器,協(xié)助用戶進行DevOps過程,包括持續(xù)的集成和資源配置。