當(dāng)DevOps“偶遇”周期表
你或許聽過DevOps的威名,但有相當(dāng)大一部分人可能說不清DevOps到底是什么東西。搜索“DevOps”,出來的是茫茫多的信息,最奇怪的現(xiàn)象是明明2009年才提出的名詞,卻有人號稱有十年以上DevOps經(jīng)驗(yàn)。那小編只好來扒一扒關(guān)于DevOps的那些事。
給DevOps下個定義:它應(yīng)該是一種文化,一個專業(yè),一種行動(movement),而不是單一的角色或者職位。在企業(yè)當(dāng)中引入DevOps是為了讓組織變得更好,并不是只適用于初創(chuàng)公司(start-up)或互聯(lián)網(wǎng)企業(yè)。
DevOps有以下五個要素:Culture、Automation、Lean、Measurement、Sharing
有鑒于DevOps的分類仍無既定的依據(jù),2014年Gartner分析師在博客上發(fā)表了一張圖,希望用圖示來說明DevOps的內(nèi)容與關(guān)聯(lián)性,并將DevOps以人、流程、技術(shù)、文化四部分來分類。你應(yīng)該聽過持續(xù)整合,持續(xù)交付,測試自動化等名詞,依照Garner的定義,這些名詞都是與DevOps相關(guān)的項(xiàng)目。

Gartner對于DevOps的分類圖
上圖中提出了Full Stack Engineer與DevOps Engineer的概念,那么在這里又不得不腦補(bǔ)一下DevOps Engineer與Full Stack Engineer。
DevOps Engineer(DevOps工程師)根據(jù)開發(fā)人員的需求構(gòu)建各種工具,提高開發(fā)的速度與品質(zhì),解決開發(fā)人員的后顧之憂。DevOps Engineer需要善于溝通并且寫一手漂亮的代碼,成為成功的開發(fā)人員背后的“女人”。
Full Stack Engineer,全棧工程師。在DevOps領(lǐng)域或許Full Stack Enginner的定義是:掌握多種技能,并利用這些技能獨(dú)立完成產(chǎn)品。大多數(shù)Full Stack Engineer是在初創(chuàng)公司,這些人什么都會(或者是環(huán)境使然,什么都必須會),除了開發(fā)技能之外,自己還會研發(fā)各種輔助開發(fā)的框架或工具。
在DevOps 2015研討會上,有人鑒于數(shù)量繁多的DevOps工具,仿照元素周期表制作出了一張DevOps周期表。劃分了數(shù)據(jù)庫、CI、日志、安全、監(jiān)控、配置管理、云服務(wù)等15個大類,120個工具。
DevOps 2015研討會上的DevOps周期表
掌握了以上圖片里的這些工具,或許你就是一名合格的全棧工程師。在DevOps2015大會上幾乎每場都在介紹工具,和現(xiàn)行DevOps的趨勢一樣,工具一個接一個的推出,學(xué)都學(xué)不完。但個人認(rèn)為,不要沉迷于工具帶來的便利,大多數(shù)DevOps工具都是自動化的工具,用任意script語言一樣能寫出同樣的效果,重要的是完全理解了這些工具背后的設(shè)計理念和使用時機(jī)。