DevOps之我見

運維的前世此生將來

運維職業發展到今天,須要學會的技能愈來愈多,已不能僅僅以運行維護來歸納。DevOps的出現是技術快速發展的必然產物,也是將來AI技術融入運維體系的基石。docker

從目前已知的運維概念能夠將整個運維發展劃分爲4個階段:安全

  • Ops: Operations (Operator), 即你們熟知的系統運維。Ops的職責一般和Developer是分開的,Ops須要部署Developer開發的系統並維護線上運行,監控報警也由Ops處理。Ops一般使用腳原本簡化平常繁瑣的操做,當業務規模不大時,Ops通常身兼數職,涵蓋機器,網絡,配置,安全等等。簡而言之,Developer只須要專一於開發業務系統,其餘相關的環境問題均可以交由Ops。
  • PE: Production Engineer,應用運維或者業務運維。當業務發展到必定規模時,會出現專門的DBA,配置管理員,網絡工程師和安全工程師等等,這個時候的部分運維開始專一於業務,PE的概念最初來自於雅虎而後經由阿里巴巴發揚光大。PE須要關注業務的整個生命週期而不只僅是業務的運行環境,這個時候的PE須要瞭解業務,保障業務的穩定性,梳理業務鏈路,分析性能瓶頸,進行容量規劃,以及做爲開發人員和DBA,網絡工程師,配置管理員之間的協調者。同時PE須要和開發人員合做或者自主開發簡單的運維工具,主持故障恢復及問題分析。
  • DevOps: Development and Operations,突出重視開發人員和運維人員的溝通合做,經過自動化流程來創建流水線式的業務流程。DevOps的概念最先來自於歐洲,近幾年因爲微服務,docker等技術的成熟興起於美國互聯網公司如Google,facebook。DevOps不只僅是運維的工做,不能簡單理解爲運維開發,它其實涵蓋開發、測試和運維。DevOps既然是運維和開發的結合,就必然會出現兩個方向的融合。從運維到DevOps,須要運維人員開發自動化運維繫統實現自動部署,持續交付,自動測試,監控報警等等,將平常運維工做交由系統完成,解放生產力從而專一於將更多的運維經驗落地成DevOps自動化系統;而從開發到DevOps,則須要開發人員會熟練使用自動化運維繫統管理本身的應用的整個生命週期,實現高效交付,高可用。SRE: Site Reliable Engineer,可靠性工程師。SRE的概念是由Google提出來的,它是DevOps落地的產物。SRE不只要平常運維和工程研發,還要負責應急響應和業務規劃。一般SRE團隊成員來自於運維團隊和各業務線,他們須要熟悉所負責的整個業務架構和流程,當天值班成員能夠自行處理緊急問題。
  • AIOps: Algorithmic IT Operations 或者 Artificial Intelligence Operations, 智能運維。隨着大數據和AI的興起,AIOps也被提了出來。運維工做的核心概括起來就三點:發現問題,分析問題和解決問題。當自動化運維繫統落地以後,人的主要做用就是根據問題做出決策,所以AIOps就是基於人的經驗到基於機器學習的轉變,經過人工智能對大量運維數據的學習來做出準確的決策。AIOps能夠根據監控數據預測故障發生並及時定位和恢復,也能夠根據業務數據預估容量。

三大件

運維的全部工做都是圍繞三大件展開的:成本,效率,可用性,找到三者的平衡點是運維的終極目標。網絡

成本

顧名思義,公司要提升利潤,除了增長收入就是縮減成本。運維最頭疼的事之一就是一面要拼命壓縮成本一面又要說服老闆投入資源。在數據爲王的時代拿出數據是最具說服力的,這時一個好的資源管理系統就很重要了,一邊是減量一邊是提升利用率。除了衆所周知的硬軟件資源,人力成本每每被忽視,有時候爲了一點機器資源把一堆應用堆在一塊兒形成的問題排查費時費力,消耗的人力成本比機器成本要高的多。架構

效率

在互聯網時代要想打敗對手只有一個絕招那就是快。在業務的整個生命週期中,除了開發功能要快,不管是申請機器資源仍是CI/CD、測試也要快。可是快就意味着不穩定,若是一個業務故障頻發即便功能再領先也會被對手後來居上。快和穩自己就是矛盾的,又快又穩只能無限趨近。運維

可用性

談到可用性,從之前的主備切換到如今流行的同城雙活,異地多活,都是用的冗餘的方案,至少要保證一個區壞了還有一個區能扛住,即便線上沒準備,資源池裏面也要準備。既要可用性又要降成本,異地多活的優點就是區越多冗餘越少,總不能全世界都癱瘓了,那時也談不上業務了。既然是冗餘,那就意味着在正常狀況下多了,因此阿里會作離在線混布提升冗餘的利用率。另外一方面,還要保障正常狀況下的可用性,發佈流程、回滾方案等等這些又和效率相沖突。機器學習

系統設計

按照依賴關係,我把常見系統分爲三層,第一層是基礎系統層,沒他不行;第二層是業務系統層,都是爲業務服務的;第三層是統籌系統層,除了更全面還要更智能。 微服務

後話

如今大部分公司都上雲了,雲確實很方便,可是也帶來了管理問題,特別是使用多個公司的雲的狀況下,用法不一致就不說了(微軟雲就是另類)甚至同個公司的不一樣區功能還不一致(亞馬遜國區和國際區)。因此該有的系統仍是要有的,把雲當成之前的機房就好了,若是有個標準能把全部的雲都統一了就行了,感受找到了發家致富的新道路呢。工具

相關文章
相關標籤/搜索