閱讀667 返回首頁    go 小米淨水器


運維之殤

引子
早上醒了,百無聊賴,刷了下微博,一微博號發了如下一條信息:

今天就發生2起故障,連續受驚。國內外有沒有運維天王寫的什麼書或者資料學習一下啊。我現在這個情況怎麼提高了,搞來搞去也是小學生水平。歎息阿,現在估計要從大廠招一個天王級運維,沒有80萬是拿不下了


後有一資深專家總結的很精辟:
運維工作無非三大塊,配管、監控、數據分析。@itnihao 的zabbix 的書、@守住每一天 puppet相關的,已經@argv 的ETL Stack相關的書。 我覺得@梁斌penny 都可以看看。像google的sre book啊,更早之前yahoo的webops book啊,層次雖然更高,落地還是要實在點。當然鳥哥私房菜肯定是基礎

不過顯然是從運維工程師的技能出發點來說的。而原博的訴求點顯然是:
  1. 自己學習還是有難度的
  2. 請大廠運維現在又太貴了
  3. 我實在是好糾結,好難受。

讓人推薦快速學習的方式,卻也是極度無奈之舉。而且運維也不是一日練成的。就算大師提供了很好的指導,也終究是拿自己的線上產品練手了,這樣顯然是得不償失的。現如今,一個創業公司的產品不穩定,造成的問題是巨大的。比如摩拜單車最近就故障頻仍,造成的不良影響其實是非常大的,但是因為整個市場發展是往前走的,倒不會因為一兩次的故障而改變這種趨勢。但是如果沒有這些故障,想必會更好吧。


問題在哪裏

運維理論上不應該那麼依賴於人的技能。但是現實情況是,你必須要有好的運維,才能保證係統更加穩定。而對於一個初創企業,顯然陷入了一個困難的處境。如何讓一個普通的開發也能搞好的運維呢? 核心是一個


按前麵那位大神說的,運維無外乎三大塊:
  1. 配管
  2. 監控
  3. 數據分析
我再加一個:
  1. 部署(包括擴容)
  2. 配管
  3. 監控
  4. 數據分析
應用的生命周期管理自然是包括在每一個大塊裏的。滿足這四點的運維平台其實就是一個分布式操作係統。 Zabbix 你可以認為是特定的一個視窗軟件,Puppet 可以認知為分布式shell。ELK則是基於這個分布式操作係統的一個分布式日誌應用。ELK是高度靈活的,所以每個人玩法一樣,但是做實施起來迥異。我所看到的是ELK的實施難度還是頗高的,ELK如果想做輕鬆了,其實還連帶一係列要求的,比如日誌的規整化。而且裏麵除了E以外的模塊,都是在特定場景需要替換的。

然而似乎現在運維界缺乏這麼一個分布式係統。導致普通開發無法像在windows操作係統一樣,點擊點擊就可以管理起所有服務器以及各種應用了。


問題解決之道
工具化是王道。然而如何工具化是難點。方向不對,謬以千裏。比如運維之前也做過大量的工作,做了各種工具,但是存在我之前在 運維=平台+數據

提到的問題:
  • 工具碎片化
  • 工具難以標準化
  • 工具不可複製
  • 生態積累難度大
分布式係統基本就可以解決這些問題了。分布式係統自己可以解決部署,配管,以及部分監控。數據分析則需要基於分布式係統之上的應用解決(基於該分布式係統調教出來的ELK套件)。這樣,基本就完美解決了所有的問題。分布式係統提供了一個一致的交互界麵-web。同時也暴露了底層的分布式shell引擎以及可供應用交互的係統層級API。

這塊這兩三年我們已經有了一定的實踐。期望未來能夠很快推出,造福大家。

最後更新:2017-04-01 17:13:51

  上一篇:go ELK的崛起(Rise of the ELK)
  下一篇:go StreamingPro添加Scala script 模塊支持