1. 程式人生 > >京東運維工程師談網際網路運維的三要素:理念、工具、人

京東運維工程師談網際網路運維的三要素:理念、工具、人

作者:網名“Bigger彪”,京東運維工程師,建立公眾號:有逼格的Opser

前言:作為運維行業中的一線運維人員,經常會苦惱於做重複且瑣碎的事情,隨著DevOps以及自動化運維甚至運維開發這些字眼的捧紅,越來越多的人在宣稱他們要做DevOps,要做一整套自己的運維體系。然而如何去做,可能更多人都還是處理嘗試階段,小編根據自己的成長經驗以及各位大牛們的理論和實踐做以總結,一個成功的運維體系建設必須包含三個要素:理念+自動化工具+人,三者缺一不可。人主要就是我們所熟悉的運維人員,亦或者SRE(Site Reliability Engineer) or PE(Production Engineer),所以下面簡要總結下我自己理解的運維理念和工具實踐。

DevOps

DevOps理念:期望通過一套方法論與工具實踐來填補開發與運維之間的鴻溝。
在企業內部,一個穩定的產品上線執行需要依靠研發、測試以及運維三者來共同保證,然而三個領域各自有自己的目標並且處於不同的團隊,這個時候如果線上不出事故則已,出事故便很可能團隊之間各種扯皮,並且最終也不能快速定位修復,因為在整個軟體產品生命週期中,由三個相對獨立團隊去分別管控某一個階段,很多細節並不在明面上為大家所知。那麼如何去有效的優化現狀,讓產品能夠更快速地迭代,更穩定的執行呢?這就是DevOps思想或者理念的存在價值。

DevOps, 自動化運維

(DevOps模型)

DevOps旨在為研發、測試、運維三者之間建立某種共同認可的契約,通過某些方法論的實踐來完成以下目標,最終實現產品的快速優質交付以及穩定執行,進而以最小化優化成本實現最大化效益。

  • 更小、更頻繁的變更意味著更少的風險
  • 讓開發人員更多地控制生產
  • 更多地以應用程式為中心來理解基礎設施
  • 定義簡介明瞭的流程,儘可能自動化
  • 促成開發人員與運營人員的協作
  • Dev、Ops、QA三者之間流程、操作透明化

自動化實踐:

DevOps, 自動化運維

流程管控:

所謂無規矩不成方圓,雖然現在強調敏捷和精益,但並不是說可以肆意為之。在一整套的產品生命週期管理過程中,流程規範、標準以及結構邏輯的設計還是至關重要的。因為此處的設計會決定了產品的設計邏輯以及實現方式,如果設計不妥也直接影響最終的使用者體驗。當然在流程管控方面,每個公司環境不一,場景也有差異,需要根據實際情況進行制定。

產品模型:

一個好的產品一定是建立在好的規範之上的,因為一個好的產品模型至少不能違背以下幾點:

  • 規範工具間的標準
  • 在當前工具可用的基礎上優化增加功能
  • 以增加未來複雜度來解決當前複雜問題
  • 在滿足使用者體驗的同時儘可能做到簡約

工具與架構:

DevOps, 自動化運維

資料運營:

在上述工具與架構設計中,如果各個平臺能夠優質服務並且能夠互相聯動,就可以通過各個工具平臺提供的資料進行分析決策,而最普通的實踐莫過於容量規劃,進一步也可以通過多維度多層次的資料聚合分析對目標單元進行預診決策(智慧運維思路)。

以上的總結也是根據學習各種大牛的經驗並結合自己目前的場景進行理解的,如有不同見解希望一起交流。

最後,來一些雞湯給讀者吧(也是給自己的