軟件研發(fā)管理系列文章(運維服務(wù))
前面分享了需求管理,版本管理,研發(fā)流程,績效管理,這里分享運維服務(wù),產(chǎn)品開發(fā)完了,就該銷售或者上線運營了,下一步就交給運維團隊,也就是售后服務(wù)團隊。
導(dǎo)向,運維自動化,自動化運維,通過技術(shù)解決問題,而不是人工解決 運維從背鍋俠變成技術(shù)專家的轉(zhuǎn)型。
1、概念性的內(nèi)容
1)運維的工作就是系統(tǒng)交付,就是把系統(tǒng)運行起來,再一個就是日常維護,通過日常的維護、巡檢,提前發(fā)現(xiàn)問題,防止系統(tǒng)出故障;再有就是出故障時快速恢復(fù),盡量少的避免客戶損失。
2)現(xiàn)在運維團隊的工作已經(jīng)進化了非常多,從devops到谷歌的sre,運維團隊對于架構(gòu),開發(fā)和問題解決等的工具化,平臺化,把工作融入到前端開發(fā),而不是后端的被動救火。
3)sre,站點可靠性工程師,從名字就知道了,這是讓站點故障讓客戶無感知的崗位,谷歌是全球top級的互聯(lián)網(wǎng)公司,他的業(yè)務(wù)以自運營為主,這樣在全球有無數(shù)的節(jié)點來服務(wù)用戶,這些節(jié)點的故障必然導(dǎo)致用戶的影響甚至損失,所以可靠性非常重要。說到可靠性,大家耳熟能詳?shù)碾p機冷備、熱備、溫備,分布式負載均衡,冗災(zāi),兩地三中心,多鏈路,多副本。
4)可靠性的本質(zhì)是冗余,就是通過多個工作單元之間的有機組合,在部分出問題時,不影響或者盡量少的影響用戶。
2、技術(shù)性的方案
運維工作很多的印象中是工程問題,是操作問題,實際應(yīng)該是技術(shù)問題,通過技術(shù)讓系統(tǒng)不出問題,出問題能自愈,不能自愈的要及早發(fā)現(xiàn)并能通過工具快速恢復(fù)。接下來我要把完整方案給大家羅列羅列。
1)安裝部署平臺,環(huán)境即代碼
在devops以前,開發(fā)環(huán)境與測試環(huán)境和運行環(huán)境是分離的,環(huán)境配置都是按照指導(dǎo)手冊完成的,devops提出了環(huán)境即代碼的方法,就是把環(huán)境的所有操作象代碼一樣管理起來,通過配置系統(tǒng)進行管理,跟著系統(tǒng)走,這樣每一套環(huán)境就可以是一樣的,這樣就不會存在不一致的情況。環(huán)境管理涉及到物理服務(wù)器,虛擬服務(wù)器,容器,數(shù)據(jù)庫,操作系統(tǒng),分布式微服務(wù)等的腳本和配置,這些系統(tǒng)的打包,安裝,配置的腳本,文件都一起打包、歸檔、發(fā)布。
2)告警
告警平臺,告警收集腳本,應(yīng)用系統(tǒng)打點,告警通知機制,根據(jù)告警實現(xiàn)自動處理,自動工單,不能自動處理的,生產(chǎn)人工工單。及時檢查系統(tǒng)健康度,給系統(tǒng)體檢,及時發(fā)現(xiàn)和告警和自動處理問題。
3)日志
日志分級,應(yīng)用系統(tǒng)日志打點,日志分析平臺,根據(jù)日志了解系統(tǒng)的健壯性,研發(fā)埋點質(zhì)量變得很重要,要把設(shè)計系統(tǒng)健康度的信息 ,以最小化信息量,最小化頻率產(chǎn)生出來,產(chǎn)生一般在內(nèi)容 由日志服務(wù)到存儲盤,再由工具進行分析。分析工具要把日志在立體化建模出來,能復(fù)原每一個業(yè)務(wù)操作流程,進而反應(yīng)系統(tǒng)健康度。
4)巡檢,巡檢腳本,巡檢分析平臺
周期性給系統(tǒng)體檢,把關(guān)鍵必要的點 ,甚至模擬業(yè)務(wù)操作來觸發(fā)業(yè)務(wù)流程。巡檢與人的體檢一樣主動發(fā)現(xiàn)問題,并告警解決。
5)配置服務(wù),配置即代碼
配置文件弊端很多,是上一個時代的做法,每次需要重啟系統(tǒng),這個會導(dǎo)致很多問題,配置錯誤,配置不一致 配置不同步等等等。配置服務(wù),建立配置管理,配置刷新,配置版本,配置回滾的服務(wù),避免了重啟和多系統(tǒng)配置不一致,不同步的問題。
6)itsm,運維管理系統(tǒng)
運維組織需要一個管理系統(tǒng),實現(xiàn)運維管理的及時有效,可記錄課考核的流程平臺。
7)服務(wù)治理平臺,微服務(wù),容器,容器治理,服務(wù)治理
實現(xiàn)服務(wù)的注冊、發(fā)現(xiàn)、啟停、擴容、減容,通過服務(wù)管理實現(xiàn)系統(tǒng)的自愈能力。
8)在線升級,灰度發(fā)布/特性開關(guān)/金絲雀發(fā)布
通過分布式負載均衡服務(wù),通過新老系統(tǒng)的并存,來檢查新系統(tǒng)的正確性,再逐步切換,實現(xiàn)不停機升級。
9)監(jiān)控,作戰(zhàn)室,作戰(zhàn)大屏
大的運維組織需要有一個作戰(zhàn)室和大屏 掌握全球的系統(tǒng)運行情況,并及時協(xié)調(diào)解決問題。
10)備份,冗災(zāi),恢復(fù)
最后一招,也是底褲,是不能脫的,就是備份容災(zāi)和恢復(fù)工具,系統(tǒng)出問題,又不能短時間解決的時候,就回到上一個健康狀態(tài) 這個很重要,很多系統(tǒng)沒有,所有的惡性事件都是沒有這個系統(tǒng)模塊。