UC運維工程師老王:深入聊聊你不熟知的網際網路應用運維,我在UC的運維

2021-02-23 ITIL之家

公眾號回覆:乾貨,領取IT管理體系文檔

公眾號回覆:ITIL教材,領取最新ITIL4中文教材

由於自己一直是做應用運維的,所以今天主要是和大家講應用運維相關的,我個人總結了一些體系和方法論,希望能對你們有幫助。

第一部分:我講應用運維是什麼;

第二部分:我講應用運維需要什麼樣的團隊;

第三部分:給個案例講講運維能做什麼?

第一部分:應用運維是什麼


其實很多時候非運維的人員不知道運維是什麼,他們都理解你們是網管、提供伺服器的,處理故障的,其實這些都不是。

恰好這幾天有個產品經理社區說讓我去講運維,那麼我要把運維和他們講清楚,我不斷在想運維是什麼?


對於我來說,運維就是技術運營,和產品運營差不多。

對於用戶的需求,一方面有實際的產品實現服務交付,另一個方面需要技術去支撐產品,無論是客戶端還是服務端、無論是網絡還是伺服器,涉及的技術很多,因此我覺得對於運維來說,如何把你維護的技術棧運營好是非常重要的。而把產品和技術拉到同一個點上的就是用戶價值。那什麼是用戶價值呢?


我把客戶的價值是獲取服務需要一定的成本之上,所獲得的服務能力。這個裡面有產品提供的功能能力(產品指標)、獲取的可用性(運維指標)、體驗(產品+運維指標)和成本(產品+運維指標)。

其實這個思路確定之後,會影響我們後續很多應用的方法論以及團隊之間合作的感覺。我們運維和產品、技術等等都是服務於用戶,最終的價值點都是用戶的,這樣把我們的合作點都拉到了相同的對象上來了。

接下來我講我整個應用運維的方法論。我把它理解成幾部分,

第一:運維整體的原則;


我很多時候都看這個,一定是價值導向。前面講了用戶的價值導向,我們技術運營的好,就是讓用戶使用我們的產品很爽。

設計這麼多的技術棧靠人肉一定是沒法運營好的,這個時候必須要平臺支撐,我把平臺分成兩部分,一部分是自動化平臺(實現價值交付),一部分是數據化平臺(實現價值衡量)。

服務透明,分成兩部分,一部分是離線服務,一部分是在線服務。離線服務比如說運維伺服器資源提供,運維擴容能力,甚至是ITIL的服務等等,這些服務能力一定要對研發和業務部門透明。千萬別設置很多的表格來研發或者產品理解。

在線服務的透明,我其實講得更多的是服務公共化能力,打造公共化的服務平臺。原生memcache、mysql都是組件,而不是服務。而需要在此基礎上讓他們具備可運維性,一個重要衡量基準就是透明性。

最後一定要數據來驅動,別動不動跑到研發那邊說,你這個不好那個不好,拿一些數據出來,告訴他們那個地方不好,包括我們自己哪兒不好,其實這個和服務部分也有些關聯。我們的數據驅動可以驅動我們內部的服務優化,另外一個就是驅動線上的服務優化了。

用戶價值已經說了,接下來說說平臺。

在很多運維人的眼裡,ITIL就是運維的平臺,而我說不是,我很多觀點都在講去ITIL化,去ITIL到底要去什麼呢。



一個是去流程化的意識,一個是去服務化的意識。

在一個故障發生的時候,不要埋怨人做錯了什麼,我是不是可以通過流程或者加入什麼審核機制來規避掉,那是傳統的做法,不建議。建議找技術驅動優化的方法,待會兒後面有個案例會說這個觀點。

去服務化,是因為現在的運維服務範疇已經大大的發生了變化,這個服務的邊界已經拓展了很多。最低級的如果你還按照服務某個研發或者業務的方式去做運維的,最後運維是沒有出路的。高級一點,我把ITIL裡面涉及到的一一幾個流程做成產品,封裝服務,其實你會發現很多服務在網際網路化下已經發生變化了。

因此我自己把運維平臺做了一個總結,我覺得可以適用大部分團隊。


(注意這個圖中寫了「此服務非彼服務」,這個服務是將的一種動態能力,而ITIL服務講的是一種靜態能力。)

裡面你可以理解有幾個部分,基礎架構及服務(IAAS及私有IT設施),配置及服務(CMDB)、架構及服務(公共服務能力那塊)、數據及服務、監控及服務、持續集成服務、適當的考慮一下ITIL那塊服務能力的封裝,比如說事件。問題管理就不需要了,做了這麼多家,從來沒有去實現問題管理。

架構及服務,我後面在運維路徑裡面再講一下。數據及服務,我把技術數據的本質理解成指標和事件數據,運維應該有能力去採集這些數據,然後分析、在此基礎上進行告警。甚至我覺得監控是數據服務上一個場景,因為對於很多用戶來說,監控的維度非常複雜,其實想傳統的nagios和zabbix完全不能滿足這種柔性。

剛剛講了整體的原則。接下來我把應用運維三部曲,做應用運維都是在這個路徑上去走。



第一步做標準化,第二步做公共服務化,第三步做服務去狀態化。

這個我之前寫過一篇文章,裡面詳細介紹了每部分的內容,這個地方再簡單的和大家過一下。

一定不要忽略標準化的價值,當你從底向上把運維標準化做好了,你以後的運維成本會大大的降低,比如說自動化,甚至是服務發現等等。我之前把標準化分成:伺服器的、OS的、機房部署的、應用環境的等等。這個裡面發揮一下想像力,能標準化就標準化,小到一個進程的屬主和路徑,達到機房甚至是架構選型。特別是架構選型這塊,一定不要被開發牽著走,特別是有些研發說性能很高,我希望你們給到的回覆是,我多給你幾臺伺服器。

還有一個標準化很重要的是協議,在YY有一個標準化的YY協議,目前我負責的業務這邊都採用http協議,在統一協議之上做一些運維能力封裝特別簡單,比如說監控、數據採集等等。

服務化,我剛才說mc、mysql都是組件化能力,不是服務化能力,真正服務化的平臺一定是運維友好的,一定是對前端應用是無狀態感知的,比如說mysql擴容和遷移等等,都可以做到對APP無感知,這才是服務化能力。

無狀態,等我們所有基礎設施都標準化了,這個時候,我們就要去無狀態化了,去識別架構中的單點問題,挖掘出來優化他。這個裡面有方法論可以遵循,早期騰訊有個海量服務運營之道,大家可以網上找找。

我這次有個項目優化也遵循了這個原則,收到很好的效果。

應用運維也有了路徑,接下來就是怎麼落地了,那麼我會在不同的階段,制定不同的方向,比如說我現在的團隊來說,我的方向如下:

就是做數據化運維、自動化運維和精細化運維。

緊扣當前階段的目標,識別當前團隊的矛盾點,設定具體的KPI方向,持續以周為單位進行跟蹤。

都會有明確的要求,每周滾動。這個群裡面很多我的同事。這個地方的建議,一定不要把擴容變更能力、伺服器提供能力作為指標放到你的KPI中。做得不透明和不好是我們的恥辱,做得好是應該的。所以很多時候我說運維是要帶著恥辱感去工作,每天我做重複的事情,點按鈕,敲命令就該想想什麼地方要改進了。

第一部分什麼是應用運維我講完了,什麼是應用運維--》整體的指導原則--》應用運維的實現路徑--->運維的工作方向---》最後到運維的KPI持續滾動。


這是運維團隊能力要求,裡面有三個部分,業務運維即應用運維、運維研發、運維技術研究。

我希望大家日常的運維工作,在業務運維這塊越少越好,而運維研發和技術研究越多越好。 還有一個非常重要的東西,運維工作是什麼驅動的,這個代表著不同類型的三種團隊。

問題驅動,救火隊員,你天天在救火,有沒有感覺每天半夜要起來苦逼,如果是這樣的話,一定要去把問題找出來,這個階段都有,按照我說的三部走一定可以解決。

事務和需求驅動,我覺得就是一個保姆角色,做內部服務的提供者,研發找我要伺服器,我給伺服器,找我部署,我去部署,找我...我幹...最後一個是價值、優化、用戶驅動的運維團隊,我們需要走出來,把自己的能力放大一下,運維能做的事情很多呢,三部曲裡面那麼多東西可以做,還有自動化平臺建設,還有數據化平臺建設。


個人能力模型,其實這個是騰訊的職級通道體系裡面給的,他分成了10個維度對應用運維提出了要求,其實我覺得寫得不是很好,忽略了運維研發能力要求和運維規劃能力要求。

特別是T3、T4職級,我覺得一定是從運維研發能力走過來的,只有你做過自動化,你才能對運維的東西進行抽象,其實這個和測試一樣,長期做功能測試,你最後都失去了對測試美好願景的想像,運維也是如此的。

技術能力希望大家再全棧一點,很多應用運維一個薄弱的環節就是對數據能力的了解。其實我有時候還建議大家去看看Oracle資料庫呢,這個能力非常重要。恰恰我覺得應用運維做到最後如果能不了解業務就最好了,做到業務無差異化運維。

其實運維開始非常苦逼,是吧!但是你把這個事情當成一個挑戰來看和對自己的一個不斷完美的要求,你會覺得運維是有很多美感的,這個美感我在之前一篇文章裡面講過了。在此就不複述了。


(圖還是要給,強化一下大家對美感的認識)

這一部分我講了團隊能力要求,驅動模型,個人能力要求和運維美感,不全是苦逼。

最後一部分我講一下一個故障看運維的價值。


說一下家醜,去年12月13號,我們一個核心業務,因為交換機故障,導致我們服務終端45分鐘,100%服務不可用,恥辱。

這個故障暴漏了很多問題,我們有冷備中心用不起來,復盤的時候發現很多架構問題。。


問題真的很多很多,這個地方有個經驗,問題是運維最好的老師,特別是線上故障,如果一個故障產生的時候,運維一定要挑頭把這個故障進行復盤(騰訊運維的經驗),最後你能識別出很多需要改進的地方。

好吧,問題已經發生了,我們要解決它,領導說了,別跟我說那麼多沒用的,簡單指標,5分鐘發現故障、三分鐘解決。怎麼解決啊,幾乎是不可能的任務,不過領導說的,咱們硬著頭皮也要挑戰一下。不過UC有一個很棒的地方,團隊合作特別好,一群優秀的人。我們就成立了一個專項組:把產品、測試、運維、研發、還有項目管理都卷進來了。

13號出的故障,14號我們復盤了,15號了,我們就成立項目組了。


簡單而極致的要求是我們平時需要不斷告訴自己的,最怕的心裡狀態是這個故障跟我沒關係,頭都不挑,其次一種怕,就是說技術能力不足,會不會被研發挑戰。

簡單而極致的要求是我們平時需要不斷告訴自己的,最怕的心裡狀態是這個故障跟我沒關係,頭都不挑,其次一種怕,就是說技術能力不足,會不會被研發挑戰。

不要怕呢,我們都是為用戶服務的。


其實從這個節奏來說,UC的響應速度非常快。

我在項目一開始,也確定了一些原則,其中總結起來最核心的就是」技術驅動優化「,而不是流程優化。


這個裡面分成了六個方向:服務降級、雙中心、統一調度、過載保護、業務分離、立體化監控。

為什麼需要這些簡單的原則?這個有利於項目一致的理解。其實剛剛頭條新聞也發生了500錯誤,從服務影響時間來看,30分鐘左右,我猜是後臺資料庫壓力過大導致,在這些原則裡面都能找到解決方案,比如說過載保護,服務分離等等。

這些原則和方向許多都是運維參與的,比如說雙中心就涉及到運維參與方案的討論,給出數據雙中心的方案、立體化監控也是80%是運維來做的,統一調度,我們藉助了天雷調度(httpdns)。

然後在這六個方向上我們就制定了具體的改進措施,最終完成了剛才說的5+3目標。

這個故障其實可以看到運維很多東西可以做的,首先運維一定牽頭,第二運維一定要提出自己的要求,第三運維跟進參與整個改進方案的實施,第四,運維要最後給出最終的結果報告,我們做了這麼多到底怎麼樣。


自己希望的一個願景吧,沒有操作就是好的運維,最後應用運維沒有運維就是好的運維。

其實許多時候不要讓大家感受到我們運維,我們運維就是成功了,運維的SAAS化一定是未來的趨勢。


接下來是問答環節:

1、目前自動化運維這塊有什麼好的學習建議嗎?

王:我對自動化有分層化的理解,我建議應用運維第一個把持續集成作為重點,其次是把配置管理作為方向(比如說puppet、saltstack)等等。

持續集成帶來的收益非常大,可以吧運維從日常繁瑣、低價值的任務中釋放出來,並且是跨越了研發、測試和運維三個團隊,這個裡面解放了幾個團隊的生產力,收益很大。

但我建議你們持續集成一定以標準化為前提,否則做起來很累。具體的表述見文章:

2、問題類似:技術驅動,那些技術?

王:這個技術驅動,其實是一些技術的方法論,基於這個方法論,當然你也需要很多的技術儲備,無論是存儲的、還是應用的,還是協議的,還是程序研發的,甚至是測試的,都需要了解了,全棧。

3、請問,很多企業把運維細化到分片分區管理,你說的運維理念又很難實施了。

王:這個應該是傳統企業來的吧,這個變革力就看大家的要求了。我的預見是總有一天用戶會逼著你做出改變,這種外力比內力推動力更強。

4、具體的學習路線

王:如饑似渴的學習和運維相關的一切知識,ITIL、網絡的、作業系統、應用組件的沒有好的學習路線來遵循,把你崗位上做到機制,把周邊知識都吸收進來,比如說你從網絡上去看應用運維

5、學習建議

王:我的建議不要浮於表面做運維,當你遇到一個不懂的問題時候,你要深究到底,然後順著他就可以打開知識體系了,舉兩個簡單的例子,top命令看到的那些CPU佔用的指標,user、sys、idle、io....我以前面試就經常問這個,可惜很多人都不知道。

如果你能說出來原理,就說明你把知識地圖打開了。其次我們經常定位問題用的strace,但你真正的去了解strace原理的時候,裡面有很多作業系統的知識涉及到,當年因為strace,我還把作業系統的書重新看了一遍。不放過任何一個細節,總結和思考自己目前正在做的。我覺得其他的東西都好解決了。

6、請教:運維人如何做績效考核?東西很難量化,主觀意識太強?

王:去掉主觀的東西,識別自己需要優化的地方,平時記錄下來,然後要求組員也記錄下來,到每個Q制定規劃的時候,大家一起提。

在此很感謝老王為大家帶來這次分享。

來源於網際網路運維雜談


相關焦點

  • 運維雜談|IT運維工程師的價值
    每當我們聊到運維工程師時,人們想到的可能就是「修電腦的」 、」打雜的」,如果你這樣想說明你對運維工程師這個職業有很大的誤解,那運維工程師都起到了哪些作用呢。服務的穩定性:公司網絡由軟體硬體以及一些中間件組成,他們又來自不同廠家不同的類型不同的版本,而我們要保證整個服務的穩定性就要對這些不同廠家不同類型不同本版的軟體以及中間件進行監控維護,並且要熟知他們之間的兼容關係進行調試,一旦出現問題能夠快速解決。
  • 運維工程師的未來——Python
    【IT168 評論】網際網路的應用,極大地方便了我們的生活,通過PC端,手機端等進行購物、訂餐等早已不是什麼稀奇事,然而在我們享受著這一便利的同時有沒有想過是什麼換來了我們如此的便利?
  • 雲計算運維工程師的崗位發展前景如何
    首先,雲計算運維工程師的崗位發展前景還是不錯的,隨著雲計算逐漸普及應用,雲計算領域會釋放出大量的雲計算運維工程師崗位,而且隨著一部分企業陸續建立自身的數據中心,雲計算運維工程師的就業渠道也會逐漸增加。雲計算、大數據、物聯網和人工智慧是產業網際網路的核心技術,在產業結構升級的大背景下,這些技術將逐漸深入到傳統產業領域,為傳統產業領域的創新進行賦能,而且雲計算作為承載服務的重要平臺,必然會得到率先的發展和應用。
  • 遠程運維是什麼?運維是什麼?運維工程師是幹嘛的?
    大家眼中的運維工程師是這樣的:修電腦、裝網線、背鍋的。然而實際的運維除了包攬上面這些活之外,開發項目正式上線後,後續的所有工作都是運維的。運維,顧名思義負責運行、維護。Android客戶端還支持觸控、光標、懸浮球三種方式控制,我推薦使用懸浮球,體驗感很好。場景二:業務出現bug,需要更新文件修復,在公司外通過向日葵遠程文件功能將文件傳輸至公司電腦,再從公司電腦將文件發布,修復bug。
  • Linux運維工程師前景如何?
    Linux運維行業前景在這裡我們主要從就業機會、企業需求、Linux應用這三方面說起。Linux系統以安全、穩定、免費、高效、可自由更改原始碼的特點佔據了1-2線城市90%以上的網際網路企業以及移動網際網路企業的系統應用。例如:百度、騰訊、阿里巴巴、淘寶網、京東商城、小米網、58同城、Sina、網易、滴滴打車、摩拜單車等都在大量使用Linux作業系統。
  • 你到底懂不懂什麼是Linux運維工程師?
    作為網際網路的幕後英雄,Linux運維工程師長期隱匿在大眾認知範圍之外,關於運維的討論仍舊是一片無人涉足的荒漠。在某知名行業研究調查結果中,非網際網路從業者對於運維相關問題的回覆有三個高頻詞彙是:不知道、沒聽過、網管。
  • 解放運維工程師 你需要伺服器智能運維
    隨著網際網路、5G、IoT等技術的飛速發展,全球大型數據中心數量將以3.6%的複合年增長率增長,數據中心規模不斷擴大,數據中心伺服器規模已經達到10萬級,這不僅需要更多的運維工程師,給企業增加運維成本,同時給運維工程師也帶來了極大的難度和挑戰:如何及時發現異常設備?異常根因是什麼?故障是否能自愈?是否能預測故障?
  • 年薪50萬的運維工程師學習成長路線
    今天就來聊一聊我的想法,本人8年linux運維一線經驗,呆過很多網際網路公司,從一線運維做到運維架構師一職,也見證了中國運維行業從無人問津到可圈可點的整個演變過程。Linux系統目前主要應用在企業伺服器上,學習linux,更多的是向linux系統/運維工程師方向進軍。比如雲計算系統工程師,大數據運維工程師,運維開發工程師其職位都是linux運維工程師的進階。
  • IT運維工程師的現狀
    大家都說運維就是背鍋俠,受累不討好,工資低……為了更加深入地了解這個行業特意做了一些工作(期間瀏覽了多個網站,論壇以及貼吧還加了一些IT運維相關的QQ群微信群),對IT運維人員目前的現狀進行一個總結,全部都是真實案例,作為「搞運維」的你是否也對以下情況呢?
  • 運維工程師轉型大數據怎麼樣
    運維工作沒意思,運維沒有前途,運維會被取代……讓很多的運維工程師感受到前途無「亮」,隨著資本寒冬的來臨,以及各種新技術的不斷出現,很多運維工程師開始走向了轉型的道路。 從去年開始,網際網路上一直存在著這樣的言論,比如:雲服務普及了,運維工程師就要失業了;等 DevOps 或者 SRE 落地了,運維工程師也要失業了;容器技術普及了,運維工程師也該失業了……這些言論的出現可能並不真實,但,也對運維人員敲響了警鐘,在這科技快速發展的年代,你不進步,不去追趕時代發展的潮流,那麼你就註定了會被淘汰。
  • IT運維工程師,主要是做什麼的?
    2020年春季的一場疫情,讓我們這些宅在家裡的人們充分意識到了網際網路的重要作用,醫院遠程雲看診,學生雲直播上課等等方方面面體現了互聯的重要性與實時傳輸信息對等的重要性。但是IT運維工程師是必須要有的,也許他在公司裡的職務眾多,但他卻充當著IT運維工程師的工作,只要涉及到IT方面的問題大家都會想到他。
  • 運維小白成神之路1-什麼是Linux運維
    電腦上有各種應用軟體,手機上也有各種應用軟體(或者叫APP)。那麼這些應用軟體是哪裡來的呢?當然是各個公司開發的,這些軟體需要專業的開發工程師通過編寫電腦程式將其開發出來,但是軟體的運行與維護就需要運維工程師了。在電腦與手機上安裝的應用軟體一般稱為客戶端程序, 如遊戲APP,購物APP等。
  • IDC機房運維經驗淺談
    應用服務維護在這個層面主要是客戶對自己應用的維護,在這個層面裡客戶對自己運行的運營軟體進行維護。當然這個分層的維護只是個萌生概念,如果有一天這個理論可以被建立,相信會被更加的完善。並且為我們更好的理解運維體系服務。在我之前有很多人都對運維工程師進行過很多定義,大家都說運維工程師是神仙,不是人幹的活。
  • 網際網路運維 大數據 - CSDN
    所以,在某個或多個垂直行業的經歷能為應聘者積累對行業的認知,對於之後成為大數據工程師有很大幫助,因此這也是應聘這個崗位時較有說服力的加分項。想系統學習大數據的話,可以戳我加入大數據技術學習交流群,私信管理員即可免費領取開發工具以及入門學習資料
  • 如果你的女朋友是IDC運維工程師
    我叫王婷雯(網挺穩),性別女,今年 27 歲,身高xxx,三圍xxx,單身,單身,單身······等等,歪樓了,我不是來相親的。我的職業呢是一名IDC運維工程師,IDC是Internet Data Center的縮寫,就是數據中心機房的意思,運維工程師就是守護機房的工兵。
  • 網易資深工程師詳解運維面經!
    此外要告訴面試官自己會什麼,比如運維崗位,所需要的技能非常之多,一個人不可能所有的技能都掌握的非常深入,挑你最擅長的方向介紹,此外最好要有數據支撐,用數據說話,有的人會直接說我之前做過運維相關的工作,然後就是把自己的崗位職責照著簡歷複述一遍,這個很寬範,無法給面試官一個非你不可的理由。
  • 網際網路企業安全運維實踐
    這個階段還網際網路不了,因為團隊裡基本上不具備開發能力,主要是以商業安全設備為主,外加少量的安全工具自研,提升運維的效率;這個階段也可以考慮參考ISO27001體系出臺三、四級的管理規範,並推動落地,這樣確保從源頭解決問題,否則你永遠處在擦地板的過程,因為水桶有洞,水在不斷滴出來,擦一次是乾淨了,過一會兒又流出來了。
  • 月入過萬,關於運維工程師你必須知道的四件事
    運維這個詞對於學習通信、計算機專業的學生來說不會陌生,因為畢業後我們找的工作很有可能就是運維,但我們對運維了解有多少呢,接下來小u就跟大家聊聊運維。先來上一張運維的招聘信息,這個是在招聘網站的關於運維工程師上的一個截圖。
  • 運維工程師的「情人」
    在2月14日情人節到來之際,小編在此把在線監測運維工程師和他「情人」的哪些情史給大家曝光一下,讓大家認識運維工程師整天在各個「情人們」之間奔波的辛苦和不易,希望運維工程師的情人能夠理解,同時也感謝情人和家人的支持。運維工程師們一年到頭,早出晚歸,出門的時候孩子還沒醒,回家的時候孩子和媳婦都睡著了,往往是悄悄的回來,悄悄的走,生怕被媳婦和孩子發現了。
  • 59秒看懂IT運維的發展方向及職業規劃
    我的天吶他才二十四五歲,從事這個行業也有兩三年了,怎麼就放棄了這個行業,難道這個行業真的是落寞了嗎?事實上不是的,近年來隨著網際網路的發展,企業對網際網路的依賴程度不斷加大,市場對IT人才的需求其實是一個巨幅增長的狀態,可以說發展前景一片大好,可是就是在這樣好的大環境下仍然有很多人對這個行業不報樂觀態度。