運維

運維

對網絡等的生命周期的運營與維護
運維,本質上是對網絡、服務器、服務的生命周期各個階段的運營與維護,在成本、穩定性、效率上達成一緻可接受的狀态。[1]
    中文名:運維 外文名:Operation and maintenance 定義: 運維工程師:運維從業人員 SRE:Site Reliability Engineer 運維平台:運維相關工作平台 DBA:Database Administrator

産品生命周期

産品發布前

這個階段運維工程師的職責是參與設計并把關運維準入,主要包括:

(1)産品的業務熟悉。

(2)産品架構設計的合理性評估,包括是否存在單點,是否可容錯,是否有強耦合等,同時需要提供産品設計的合理性建議以使産品能夠滿足上線發布并穩定運行的基本要求。

(3)資源評估,包括所需的服務器資源、網絡資源以及資源的分布等,同時把關産品對資源預算申請的合理性,控制服務成本。

(4)資源就位,将申請的服務器及基礎環境/域名準備就位。

産品發布

這個階段運維工程師負責發布的具體工作,将具體的軟件和系統/硬件資源整合形成産品并對外提供服務。

對于已在線服務的更新也屬于發布範疇,這個時候的産品發布一般要保障在線發布,在不中斷對外服務的情況下完成産品的升級。

對于大型複雜的變更也存在中止服務部署完成後再重新提供服務的情況,但這種情況需要運維工程師通過盡可能的技術手段來避免。

産品運行

這個階段的主要工作包括:

(1)監控:對服務運行的狀态進行實時的監控,随時發現服務的運行異常和資源消耗情況;輸出重要的日常服務運行報表以評估服務/業務整體運行狀況,發現服務隐患。

(2)故障處理:對服務出現的任何異常進行及時處理,盡可能避免問題的擴大化甚至中止服務。

這之前運維工程師需要針對各類服務異常,如機房/網絡故障、程序bug等問題制定處理的預案,問題出現時可以自動或手動執行預案達到止損的目的。

除了日常小故障外,運維工程師還需要考慮産品不同程度受損情況下的災難恢複,包括諸如地震等不可抗力導緻大規模機房故障、在線産品被删除等對産品造成緻命傷害的情況。

容量管理:包括服務規模擴張後的資源評估、擴容、機房遷移、流量調度等規劃和具體實施。

産品性能優化

産品對外提供服務最重要的一點是用戶體驗,用戶體驗中非常重要的是産品的可用性和響應速度。而如何用最合理的資源(如機器、帶寬等)支持産品提供高可用和高速度的用戶體驗,這也是運維工程師的重要職責。

産品下線

發展良好的互聯網産品将始終在線對外提供服務,但互聯網産品快速叠代,也存在相當多孵化的産品最後被淘汰的情況,這些産品都需要做下線處理。

這個過程運維工程師主要做好資源回收的工作,将機器/網絡等資源回收後納入資源池中供其它服務使用。

技術方向

産品的整個生命周期裡運維的職責重要而廣泛,但運維工程師們的職責不僅限于這部分工作,還需要總結工作中遇到的問題。

抽取出相關的技術方向、研發相關的工具和平台以支持/優化業務的發展并提高運維的效率,相關技術工作主要包括:

服務監控技術:包括監控平台的研發、應用,服務監控準确性、實時性、全面性的保障。

服務故障管理:包括服務的故障預案設計,預案的自動化執行,故障的總結并反饋到産品/系統的設計層面進行優化以提高産品的穩定性。

服務容量管理:測量服務的容量,規劃服務的機房建設,擴容、遷移等工作。

服務性能優化:從各個方向,包括網絡優化、操作系統優化、應用優化、客戶端優化等,提高服務的性能和響應速度,改善用戶體驗。

服務全局流量調度:接入服務的流量,根據容量和服務狀态在各個機房間分配流量。

服務任務調度:服務的各種定時/非定時任務的調度觸發及狀态監控。

服務安全保障:包括服務的訪問安全、防攻擊、權限控制等。

數據傳輸技術:包括p2p等各類傳輸技術的研發應用,也遠距離大數據傳輸等問題的解決。

服務自動發布部署:部署平台/工具的研發,及平台/工具的使用,做到安全、高效的發布服務。

服務集群管理:包括服務的服務器管理、大規模集群管理等。

服務成本優化:盡可能降低服務運行使用的資源,降低服務運行成本。

數據庫管理(DBA):通過設計、開發和管理高性能數據庫集群,使數據庫服務更穩定、更高效、更易于管理。

平台化的開發:類docker和google borg平台的開發管理,及服務接入技術。

分布式存儲平台的開發優化:類google gfs等分布式存儲平台的研發及服務接入。

凡是關系到服務質量、效率、成本、安全等方面的工作,及涉及到的技術、組件、工具、平台都在運維的技術範疇裡。

做好每一個技術方向、完成相應的組件、工具、平台研發都能對履行運維職責起到積極的作用,對業務的發展發揮關鍵影響。

使用的平台工具

運維工程師使用的運維平台和工具包括:

Web服務器:apache、tomcat、nginx、lighttpd。

監控:nagios、ganglia。

自動部署:ansible、sshpt。

配置管理:puppet、cfengine。

負載均衡:lvs、haproxy。

傳輸工具:scribe、flume。

備份工具:rsync、wget。

數據庫:mysql、oracle、sqlserver。

分布式平台:hdfs、mapreduce、spark、storm、hive。

分布式數據庫:hbase、cassandra、redis、MongoDB。

容器:lxc、docker。

虛拟化:openstack、xen、kvm。

安全:kerberos、selinux、acl、iptables。

問題追查:netstat、top、tcpdump、last。

廣義上所有開源的軟件都是運維工程師會使用到的平台和工具,同時也包括運維各個技術方向上自行研發的各類平台。

業務

業務管理:包含對企業自身核心業務系統運行情況的監控與管理,對于業務的管理,主要關注該業務系統的CSF(關鍵成功因素CrITical Success Factors)和KPI(關鍵績效指标Key Performance Indicators):

面向整個組織針對各業務系統,提供業務需求整理、需求變更和用戶體驗優化的加載、維護、配置、升級、補丁等方面的實現服務。

面向整個組織提供各業務系統的問題受理、響應、處理和轉交等方面的服務。

面向整個組織的各級機構和各業務部門提供各類業務系統的操作指導、數據應用、模塊分配、參數設置等。

面向整個組織提供客戶端安裝、配置、升級等技術支持。

面向組織以外的部門提供相關信息(按機關相關部門要求)、回答網站稅務咨詢、局長信箱和納稅人電話提出的各類業務問題。

日常管理

日常工作管理:

該部分主要用于規範和明确運維人員的崗位職責和工作安排、提供績效考核量化依據、提供解決經驗與知識的積累與共享手段IT運行維護管理的每一個子系統中都包含着十分豐富的内容。

實現完善的IT運維管理是企業提高經營水平和服務水平的關鍵。

運行/維護階段與服務/支持階段的分界線為前者是面向IT部門内部的管理,而後者是面向業務部門、企業中的其它人員或直接面向客戶。

面向整個組織提供針對各業務系統的運行狀況監控、問題定位、故障排除等方面的運維服務。

面向整個組織提供針對各業務系統的需求變化,即數據項、元數據、管理流程、數據空間等方面的管理和标準化。

面向整個組織提供針對各業務系統的運行狀态和需求變化和不同的記錄、跟蹤、保存、分析的方面的管理。

相關詞條

相關搜索

其它詞條