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

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