【大咖講堂-172期】三瘋:從應用運維到Devops你只差一點點

【大咖講堂-172期】三瘋:從應用運維到Devops你只差一點點

大家好,我是今天主播的“主播” — 三瘋,今天由我來給大家做《從應用運維到Devops你只差一點點》分享,希望期間大家保持安靜,有問題我們在分享結束后統一有Q&A環節,Let’s begin。

個人簡介:

我是馬哥教育的三瘋老師,之所以取名“三瘋”,是因為“三瘋”有著獨特的含義,也算是激勵自己趁著年輕“瘋狂一把”

* “瘋狂”的學習

* “瘋狂”的總結

* “瘋狂”的提升,所以“三瘋”又蘊含著“野蠻生長”。

年輕人要對自己狠點,如果你按照平常的步伐就輸了。本人7年Linux一線經驗,歷任我圖網,百勝,阿里巴巴開發運維相關工作,目前主要負責移動互聯網技術及運維平臺開發;

個人對于自動化運維、Linux系統架構、MySQL數據庫管理、集群、緩存系統、移動互聯網技術、電商業務架構、運維體系建設略有研究,能獨立運維的開發,會寫點代碼的運維。

【大咖講堂-172期】三瘋:從應用運維到Devops你只差一點點

上圖是我今天分享的主要內容。

這六部分其實也是一個運維人員逐步轉為運維開發的過程,最后通過一定的方式來踐行DevOps,DevOps大家都不陌生了,這幾年一直比較火熱,其實對于DevOps一出來,大家都最直觀的感覺是“開發&運維”綜合體,其實從我個人理解他更像一種文化。

任何概念和事物的出現都有其背后的含義。

舉個簡單例子:

– 四流的企業賣苦力;

– 三流的企業賣產品;

– 二流的企業賣品牌;

– 一流的企業賣標準;

而DevOps出來其實只是出了個標準,然后各家公司借助這個概念在自己內部公司實現,這也和Java里面的接口和實現關系。很多公司也在極力的去追隨,尤其是一些小公司連CI/CD都還未解決的,就在往概念上靠攏,其實是有些為時過早,甚至不切實際,而對于中等以上規模的公司他其實是一項新挑戰,畢竟對于運維來說,他們的痛苦也只有自己知道,他們也需要自我救贖,即使你找個沒干過運維的開發來,雖然能短暫的解決運維的痛,但是長久的苦還需要運維自己去吞咽。當然開發也是一樣,他們也必須知道運維體系,畢竟在一個有著道德底線的社會時代,還是要“有娘生就要養”的。

好的,接下來開始正式的分享,回顧一下我們做應用運維的都干了點什么?時間都花費在什么地方?自己在這些地方又有哪些成長?未來你去下一家又有哪些東西可以讓你在日益競爭激烈的社會中獲得更多的機會。

【大咖講堂-172期】三瘋:從應用運維到Devops你只差一點點

這張PPT上的我相信大家都做過,而且還不止一次的做,基本上大部分時間都消耗在這上面,因為這部分算是運維日常工作中最占時間的部分,有些人甚至70-90%的時間都在這上面,然而這些事情對你自己來說又有什么成長呢?這也是很多做運維時間長的會覺得沒有成就感,甚至認為沒有價值的地方,這也就給運維帶來了很多痛苦。

【大咖講堂-172期】三瘋:從應用運維到Devops你只差一點點

從圖中可以看到其實時間被打斷,半夜還在處理故障,個人的收獲有哪些呢?

– 機械重復

– 繁瑣無趣

– 沒時間學習

– 沒時間陪女票,甚至沒時間找女票

– 沒時間休息

– 沒有成就感

ROI太低,那如何擺脫現狀,尋求新的突破呢?

對于傳統運維來說,他更像是照顧研發開發產物的線上維護的“后媽”,原本是誰生誰養,但是規模變大后就有了專人維護,對于這個“后媽”,他養活的可不只是一個兩個小孩,而是一群,甚至幾百上千的,要想管理好他們怎么辦呢?所以運維不能算是一個工種,他應該算是一種立足線上規范、穩定,而以一種新的方式來驅動研發,提高研發效率,業務發展速度的“助推劑”

【大咖講堂-172期】三瘋:從應用運維到Devops你只差一點點

發個小圖調侃一下。

設想:如果你負責的東西沒有一個規范,沒有約束,十條業務線都難管理,所以這里就顯得運維制度,規范化,自動化,標準化的重要性了,很多小公司沒有標準化,因為他們沒有遇到海量運維的場景,隨便一個應用幾千臺服務器,如果還停留在單臺維護的階段,那基本上沒得玩,畢竟2%的宕機率也夠你好好的“喝一壺了”,所以個人理解運維應該具備“四像兩學”的能力。“四像兩學”是什么?

“四像兩學”

* 像PD一樣指導開發  

    *運維不是一個工種,而是一種文化,他是照顧線上業務的“后媽”

    *既然要批量照顧,就要徹頭徹尾的按照運維的規范來,否則自己養。

* 像運營一樣數據化運維

    *關注線上核心數據指標和鏈路依賴關系

* 像PM一樣統籌全局

    *關注穩定性,容量,成本,效率,性能

* 像商人一樣“販賣”技術能力

    *技術服務化,產品化

* 學會懶人思想去自動化

    *運維從機器啟動開始就已經不需要人為介入

* 學會庸人模式去規范化

* 簡單即是美,簡單反而更容易管理

簡單來說應該把運維日常的能力綜合起來,并能對外提供服務,那么除了日常運維工作,還有哪些是運維需要經常去做的呢?

【大咖講堂-172期】三瘋:從應用運維到Devops你只差一點點

大家先看半分鐘上圖,然后結合自己的工作看看自己實際情況。我將稍后分享我個人體會。

好了,我們繼續,與其說運維是一個工種,倒不如說運維是一種文化,而這種文化其實貫穿著整個線上服務運行甚至運營周期,比如:故障梳理和日常自動化這算是運維基本必備能力,當然這背后不只是運維經驗的沉淀,還需要借助工具平臺來支撐。再比如對于業務梳理、資源成本、應用穩定,這部分算是一名高級運維必備技能,如果想做好一名應用運維,這部分是必不可少的,畢竟在這個過程中才能逼迫一名普通的系統運維熟悉整個業務流程和服務穩定性;對于服務化、數據化運營,這部分就要求我們具有全局意識,并能結合我們負責的業務提供必要的產品改進支撐,做到數據驅動運維,數據驅動業務,數據驅動產品。當然從運維角度來講,終極目標是:“運籌維幄,決勝千里”。

好了,這些是我對運維的理解,接下來我將選擇幾個主要的關鍵點詳細說明一下。

首先,梳理業務:把負責的業務想象成一個人,那么硬件就是支撐起這個人的骨架,網絡就是血管,各個應用就是人身上的各種器官,各個器官間存在著某種聯系,只有各個器官都工作的正常,人才會健康,業務的整體結構也一樣,各個系統間存在千絲萬縷的聯系,理清各個系統間的關系,這個是運維最重要的事情,也是很多工作的前提,并且這個工作開發做起來很麻煩,大部分的開發只是了解自己編寫的部分而沒有一個系統的概念。

其次,故障處理:解決線上的問題首先是要了解業務邏輯,如果線上業務不熟悉,你的監控覆蓋率就更難提高,進而故障發現率也很低,解決線上問題根本無從下手。那么運維面對故障該怎么做呢?

1、運維思路轉變:由出問題了找報警 轉變為 任何一個報警都會出什么問題。

2、功夫在平時:平時多思考每個報警的意義和想象著可能出現什么問題?出問題了怎么解決。

3、必要的業務日志是否完善?

解決故障的能力是一項基本的必備能力,其中有自己的套路和方法,我們之前的公開課也做過分享,這邊就不再累贅了,后期大家感興趣的話可以再做分享。

然后,自動化和服務產品化:技術能力的輸出需要有服務平臺產生,這樣一方面能借助平臺規范操作,規范平臺架構,甚至定義標準,另一方面自動化的前提是先標準化,所以標準的規則定義其實是由運維來主導的,這也對運維提出了新的挑戰,畢竟未來“養娃”的活要靠自己,你想怎么帶就要先制定標準。

最后,穩定和性能優化:這部分其實主要發力點在強弱依賴,容災方案,降級方案,限流,業務解耦,監控完善方面,很多同學找到我然我幫看簡歷,寫了很多關于性能優化的東西,簡單的描述了幾個參數就覺得是優化了,其實不然,優化遵循:監控—>分析—>優化—>監控,整個是一個閉環,你的任何變動都是需要有數據支撐的,否則談優化那就有點牽強了。

由此可見,隨著工具平臺,自動化,包括現在比較火熱的DevOps概念的發展,甚至包括AIops的發展,傳統運維的發展道路越來越受限,當然很多人也借助DevOps去做一些事情,畢竟“站在互聯網的風口上,豬也能飛起來”嘛,所以瞅準時機,緊跟潮流,并能果斷涉足進去也不至于英雄末路,中道崩殂,如果有機會還是去做一次轉型,畢竟運維經驗是單純的開發不可替代的。

既然提到單純的開發,那我們來看看單純的開發他們究竟在做什么?

– 方案

– 代碼

– 改BUG

– 優化

其實開發來說更關注業務的發展,而如果讓一個業務開發來寫運維平臺,工具平臺寫出來通常會有兩種情況:

一、自我感覺是這么回事,但是實際操作不太像樣;

二、不懂運維的整體操作流程,寫的工具平臺不符合運維使用習慣,最終被吐槽,然后運維還是回到最原始的方式,打開Terminal,shell腳本處理。

鑒于以上的情況,一個運維平臺必然是具備運維,研發能力的人去承擔,而不是單一方面的人去處理,自然運維做運維開發貌似成了順理成章的事情了,那這時候就需要我們運維同學去跨界學習一項新的技能—“研發能力”。

對于一門語言的學習,這里我就不再累贅,畢竟“程序=算法+數據結構”這個大家都知道,數據結構通常指表結構,對象等,而算法也通常是指業務處理流程,對于運維平臺的業務處理流程,其實更多的是運維的經驗流程化。所以,對于新學開發的運維同學來講,通常看看基礎語法和一個簡單的web框架其實就可以去寫起來了。

這時就有很多同學開始問:我究竟學什么語言呢?什么語言更適合運維入門呢?

每一門語言入門都不難,語言類的學習,其實就是基礎語法+后期多練習,很多同學寫Python,Java,Go,Ruby這些后端語言學習的知識點都差不多,當然還有一些像BootStrap,React,VUE.js,AngularJS前端框架語言等,雖然前端的東西比較多,但是認真對比其實可以和后端一起通學的。不管哪門語言,只要即刻著手,寫起來,不要等到需要了你才現學,時間不我待,抓緊時間。

好了,鑒于開發學習方法各異,我就不在此過多描述,如果后期有關于開發學習理論的需要,可以再做分享,那我們今天最后一個主題是DevOps的賦能,究竟什么是DevOps呢?

大家有了解java的同學都知道接口和實現的關系,DevOps就相當于接口,然后各家公司根據自己的情況去實現,實現的過程和方式其實是不同的,比如說對于一些連CI/CD都沒有的,也想去借助DevOps去建立運維流程,其實是有一些盲目的,畢竟未來是沒有單純的運維和單純的開發,有的是這兩者的結合,運維的對開發的支撐方式由原來的手工支持編程了平臺能力支持,開發由原來委托式維護變成借助現有的運維工具平臺去自助運維。

如果說對于DevOps賦能,其實從我個人角度來講前期模式就是“運維會開發,開發會運維”,這是所有的先決條件,當然兩個角色側重方向不一樣,對于開發來講能把基礎的操作搞明白,比如簡單的shell,常用的服務,知道DNS,LVS,Nginx等的管理和維護,而對于運維來說就需要懂開發,懂產品,懂交互,懂設計,當然如果懂一點用戶體驗就更好了。

【大咖講堂-172期】三瘋:從應用運維到Devops你只差一點點

 DevOps終極目標其實就是他的實踐,提高綜合能力,打破職業邊界,讓公司技術迭代的速度更快,當然也能讓自己的人生更有價值。“掙錢是你追著錢跑,值錢是錢追著你跑”,所以不管什么概念出來,建議大家透過現象去看本質,趁著年輕去拿到該拿到的東西,每個人的時間都是一樣的,但是時間利用率就取決于自己,如果要個DevOps附能的話,我覺得兩個維度:

* 個人維度:時刻保持激情提升自己的技能,對新生事物的保持好奇并堅持學習。

* 公司維度:把運維的技能產品化并服務化的方式提供出來,讓運維的文化普及到公司,讓每個研發同學都有自我運維的意識。



————廣告時間————

《馬哥Linux云計算及架構師》課程,由知名Linux布道師馬哥創立,經歷了8年的發展,聯合阿里巴巴、唯品會、大眾點評、騰訊、陸金所等大型互聯網一線公司的馬哥課程團隊的工程師進行深度定制開發,課程采用 Centos7.2系統教學,加入了大量實戰案例,授課案例均來自于一線的技術案例。

開課時間:11月06號

【大咖講堂-172期】三瘋:從應用運維到Devops你只差一點點【大咖講堂-172期】三瘋:從應用運維到Devops你只差一點點課程咨詢請長按即可咨詢【大咖講堂-172期】三瘋:從應用運維到Devops你只差一點點【大咖講堂-172期】三瘋:從應用運維到Devops你只差一點點

【大咖講堂-172期】三瘋:從應用運維到Devops你只差一點點

【大咖講堂-172期】三瘋:從應用運維到Devops你只差一點點

相關新聞

聯系我們

400-080-6560

在線咨詢:點擊這里給我發消息

郵件:[email protected]

工作時間:周一至周日,09:00-18:30

QR code
云南快乐10分开奖直播