01-智能運維簡介

要想了解智能運維,首先須要知道幾點:

  • 運維是什麼?
  • 運維幹什麼?
  • 爲何重視運維?

運維是什麼?

要說運維,我先說說目前中國互聯網的發展。算法

中國互聯網的發展

  • 第一階段:
    • 新浪、搜狐、網易等門戶網站,解決了新聞信息的傳播問題
  • 第二階段:
    • 騰訊、阿里、百度等科技型,解決了社交、信息獲取及電商等需求問題
  • 第三階段:
    • 須要解決心理需求問題,直播、短視頻、綜藝、電視劇等
  • 第四階段:
    • 區塊鏈、自動駕駛、智能機器人等

我本身內心認爲,運維的水平能夠成爲衡量一個公司(IT公司)技術實力的標準
(由於無論是系統仍是機器,實現功能只是一部分,穩定性更加劇要!)數據庫

從系統運行的各類環境,機房、網絡、存儲、物理機、虛擬機這些基礎設施,再到數據庫、中間件平臺、雲平臺、大數據平臺等,運維的側重點不在於編程,而是對這類平臺的使用和管理
(企業管理也是同樣的,產品再好,管理不行,最終也是失敗的。)編程

運維幹什麼?

運維工程師(Operation Engineer)緩存

  • 工做範圍:
    • 服務器購買、租用和上架等基本管理
    • 調整網絡設備的配置管理和部署
    • 服務器操做系統安裝調試
    • 測試環境和生產環境的初始化與維護
    • 代碼部署和管理(Git和SVN等)
    • 設計和部署線上服務的監控和報警
    • 服務安全性檢測(防止漏洞和攻擊)
    • 數據庫管理和調優
    • 公司IT設備的資產管理和分配
  • 大型公司中,可根據工做內容被細分爲
    • 網站和業務服務運維
    • 系統運維
    • 網絡運維
    • 數據庫運維(DBA)
    • 運維開發(DevOps)
    • 運維安全
  • 優點:
    • 更容易誕生架構師
    • 知道如何優化服務
    • 如何使用資源利用最大化

爲何重視運維?

在業餘的運維眼裏,運維這個工做是什麼特色?

  • 處於軟件生產鏈最末端
  • 容易被「鄙視」
  • 遠離業務部門
  • 老背鍋

在專業的運維眼裏,又是什麼特色?(我不算專業的,我只是總結)

  • 能夠從運維升格爲技術運營
  • 可經過改善產品用戶體驗,從而提升DAU(Daily Active User)日活躍用戶數量、營收和利潤
  • 和其餘業務部門創建普遍而又建設性的合做

運維發展

  • 人工 --遇到什麼問題就解決什麼問題,整理一堆的重複性高的資產臺帳
  • 工具 --提升運維工做的效率(用別人開發好的工具,直接敲命令或雙擊運行)
  • 自動化 --規範化、快速解決能力,須要必定的開發能力
  • 平臺化 --自動化腳本和工具的整合,下降了運維成本、下降系統風險機率、提升可用性
  • 智能化 --創建在大數據和機器學習的技術上

運維的現狀

  • 故障率高
  • 系統的複雜性高
  • 大數據的環境
  • 數據的採集
  • 數據存儲
  • 數據的分析和建模 (數據不用來分析使用,存着來幹嗎?)

最後我就總結一句:智能運維 AIOps安全


智能運維 AIOps (Algorithmic IT Operations)

利用大數據分析、機器學習等人工智能技術來自動化管理運維事務。Gartner公司提出來定義標準。服務器

Gartner公司

  • 全球最具權威的IT研究與顧問諮詢公司
  • 主要是迎合中型公司的須要
  • 它但願使本身的業務覆蓋到IT行業的全部領域
  • 讓本身成爲每一位用戶的一站式信息技術服務公司

智能運維幹什麼?

  • 實時監控
  • 實時報警
  • 異常檢測
  • 故障根源分析
  • 趨勢預測
  • 數據關聯

智能運維的難題

  • 海量數據的存儲、分析和處理
    • 實時數據和非實時數據
    • 格式化數據和非格式化數據
    • 須要索引的數據和只須要運算的數據
    • 全量數據和抽樣數據
    • 可視化數據和告警數據
  • 多維度、多數據源(主要是分析故障和預測趨勢)
    • 監控數據
    • 告警事件
    • 分析報表
    • 日誌檢索
  • 信息過載(告警數據過多)
    • 數據的聚合
    • 下降維度:聚類和分類
    • 標準化和歸一化
  • 複雜業務模型下的故障定位
    • 日誌標準化:包含內容、格式、本身的業務線、服務層級等
    • 全鏈路追蹤
    • SLA規範化:例如用響應時間來約定性能指標、用慢速比來衡量系統健康度。

智能運維基礎設設施

  • 開源數據採集技術 Filebeat、Logstash
  • 分佈式消息隊列 Kafka、Redis、RabbitMQ
  • 大數據存儲技術
  • 大規模數據離線計算分析 ETL、Hadoop
  • 實時計算框架
  • 時序數據分析框架
  • 機器學習框架 TensorFlow

智能運維的技術

  • 數據聚合與關聯技術
  • 數據異常點檢測技術
  • 故障診斷和分析策略
  • 趨勢預測算法

系統可用性(Availabiity)

Availability = MTBF/(MTBF + MTTR)網絡

  • MTBF --平均故障間隔時間
    • 相鄰兩次故障之間的平均工做時間
    • 間隔時間越短說明系統可靠性越高
  • MTTR --平均修復時間
    • 故障修復所須要的平均時間
    • 越低說明故障修復越及時

運維在產品研發的主要職責

產品階段 運維職責
設計階段 穩定性評估、資源評估、資源申請和準備
開發階段 環境部署、依賴庫及包管理、操做系統維護、數據庫準備等
測試階段 測試環境部署、穩定性評估,從系統的穩定性和可運維性的角度提出開發需求
部署階段 自動化部署、穩定性檢驗、可擴展部署等
線上階段 實時監控、故障處理、容量管理
下線 資源回收、服務終止

運維涉及的常見技術和框架

功能描述 技術和框架
操做系統 Linux Ubuntu Window CentOS Redha
Web Server Nginx Tomcat Apache
網絡工具 tcpcopy curl
監控和報警系統 Grafana zabbix cacti
自動部署 Ansible saltstack
配置管理及服務發現 Puppet Consul Zookeeper
負載均衡 LVS HAProxy Nginx
傳輸工具 Scribe Flume
集羣管理工具 Zookeeper
數據庫 MySQL Oracle SQLServer
緩存技術 Redis Memcache
消息隊列 Kafka ZeroMQ RabbitMQ Redis
大數據平臺 HDFS Spark Hive Storm
大數據存儲 HBASE MongoDB LevelDB
時序數據 Druid OpenTSDB
容器 Docker LXC
虛擬化 Openstack XenServer KVM VMWare

(參考書籍彭東等編寫的《智能運維--從0搭建大規模分佈式AIOps系統》)架構

相關文章
相關標籤/搜索