Google SRE教了我們很多方法論愕提,比如怎么做設計一個分布式監(jiān)控系統(tǒng)馒稍,軟件過載了怎么處理,面對日城城龋瑣事怎么執(zhí)行on-call輪值等等纽谒,這些都是Google在踐行DEVOPS道路上總結出來的非常寶貴的經(jīng)驗,但是仗颈,有沒有想過佛舱,我們?yōu)槭裁匆鯠EVOPS,為什么單純的OPS就應該被淘汰挨决?
從我畢業(yè)做運維開始请祖,就一直聽到devops,從不理解到理解再到想著怎么做一晃就是五年脖祈,這次正好看了Google SRE,對比之前所做的工作盖高,說一下自己的理解慎陵。
我就是不想做DEV才做的OPS
其實從一開始,就是做OPS的喻奥,就像我大學里說的那樣,不想寫代碼撞蚕,就做運維了。最開始做SA,做PE的活纺铭,確實不需要太多的DEV寇钉,就是純粹的OPS。那時候舶赔,還沒有太多的自動化扫倡,發(fā)布代碼需要通過自己的腳本批量的rsync到每臺服務器上,最壯觀的時候是發(fā)布時間窗口一打開竟纳,身邊圍著一群開發(fā)撵溃,讓你幫著上線代碼。
回頭想一想锥累?那時候完全走得通征懈,或者不得不這么做而且還能做得下去是因為服務器太少的緣故,全站的服務器不過200臺揩悄,web服務器也就50臺上下,我人肉完全搞的定鬼悠,甚至我能記住每臺機器的IP地址删性。但是當時隨著業(yè)務的增長也是感覺到必須要自動化了,于是有個自動化開發(fā)的團隊焕窝,幫我的腳本功能做到web平臺蹬挺,再后來變成了開發(fā)自助,天了嚕它掂,完全沒有我們什么事了巴帮。但是我還是在OPS,DEV有運維開發(fā)在做虐秋,我提需求就是了榕茧,我依然過得很快樂。
不得不DEV
記得后來專職做DBA后客给,第一件事就是寫個全站的MySQL監(jiān)控用押,因為基礎監(jiān)控用的zabbix,監(jiān)控維度是物理主機靶剑,而我們MySQL的監(jiān)控維度是單個實例蜻拨,不能依賴zabbix,不得不去寫一個監(jiān)控程序桩引,后來又寫了redis的監(jiān)控缎讼,redis的高可用組件,最后還得寫一個web平臺來把這些監(jiān)控平臺化坑匠。
用的人不開發(fā)血崭,開發(fā)的人不用
對比之前的OPS,或者完全依賴運維開發(fā)有什么區(qū)別
1,想要什么功能功氨,上午想到序苏,下午就能加上去,完全自己把握
2捷凄,功能上午用的不爽忱详,下午就能改爽,無需運維開發(fā)排期
3跺涤,了解了一些開發(fā)的思路匈睁,和開發(fā)撕逼更加得心應手
4,寫代碼的獲得的成就感遠大于一直做重復的OPS
那么桶错,這些好處是支撐我們必須dev的理由嗎航唆?其實我覺得不是。
真正讓我們運維走向DEV之路的是我們再也無法忍受了院刁!大量重復的工作,面對開發(fā)各種瑣碎的小事退腥,OPS面臨著7*24小時的不間斷打擾,還有管理越來越多的服務器享潜,越來越復雜的運維環(huán)境嗅蔬,我們沒有那么多精力去保證自己負責的業(yè)務7*24的穩(wěn)定,我們的KPI收澜术、受到了嚴重的挑戰(zhàn)。所以吴趴,我們需要CMDB來管理我們的服務器資產(chǎn)侮攀,需要監(jiān)控系統(tǒng)讓我們時刻知道我們的服務是否穩(wěn)定,需要工單來收集研發(fā)的各種需求撇叁,更需要自動化的部署服務畦贸,處理日常工單楞捂,解放我們的雙手趋厉,來做更多的DEV工作,讓運維變成一個有產(chǎn)出的部門繁堡,而不僅僅是一個支持部門乡数。
工具化净赴、平臺化、自動化玖翅、可視化
我們沒法一上來DEV就很高大上,做一個非常完美的系統(tǒng)平臺写妥∩笮眨可能魔吐,一開始僅僅就是寫了一個幫我們處理重復工作的一個腳本莱找,后來大家發(fā)現(xiàn)其實每個人都可以用到這個腳本,就改成了一個通用工具辞色,工具越來越多浮定,我們就把這些工具放到一個平臺里桦卒,讓更多的人能夠自助的使用這些工具。這時候會發(fā)現(xiàn)方灾,原來碌更,早已經(jīng)走在了DEV的道路上了痛单。那么劲腿,總結起來DEVOPS的工作重心是工具化、平臺化快压、自動化垃瞧、可視化,圍繞質量(穩(wěn)定性)脉幢、效率嫌松、安全、成本展開的萎羔。