軟件項目的生命周期通常分為六個階段如:項目前期、項目啟動、項目藍圖、項目實施、項目驗收、項目運維。在項目生命周期的最後一個環節就是項目運維,項目運維不僅是對一個項目裡程碑節點的标識,項目運維是項目中的重要環節。
前幾周運維工作中,客戶反饋了一個問題,就是我在寫解決方案時,隻寫了調整策略,沒有寫升級方案。而且對于運維的邊界沒有寫清楚,比如産品的改動,需要評估的時間,後續對使用的影響等。在此對本次工作進行反思。
内容描述首先來回顧下事情的起因,同步分發邏輯和定位分析思路,描述事情的前因後果,方便後續人員快速了解。
1.起因概述
這是一個由我負責的運維項目,客戶在使用我們産品的過程中,發現HR人力管理系統和IDM統一認證系統人員數據不一緻問題,于是希望我查明原因并解決問題。
2.邏輯簡述
邏輯說明:
1.HR分發數據到ESB服務器,以json數據格式儲存;
2.定時讀取json文件,調用IDM接口更新到IDM數據庫;
3.同時更改IDM同步狀态,此時沒有更改分發狀态;
4.進行分發任務操作,業務系統回寫狀态;
5.當所有系統分發完成後,調整分發狀态,頁面與HR顯示一緻。
3.定位分析
HR同步到IDM系統數據沒有問題,原因在于IDM分發到業務系統過程中存在問題,導緻沒有改變IDM的分發狀态,結果IDM系統頁面還能看到被HR删除的人員信息,具體原因如下:
1.下遊業務系統的接口,如果接口調用不通,會導緻流程調用超時,流程終止,無法回寫IDM分發狀态;
2.下遊業務系統的接口,如果接口報錯,流程被迫停止,無法回寫IDM分發狀态;
3.有些業務系統分發成功還是失敗,就結束了,沒有回寫的操作,所以無法回寫IDM分發狀态。
正确做法我在處理這個問題時,設想的是直接調整産品代碼,來實現HR和IDM保持一緻,但對于後續影響的風險考慮不周。正常的方式應該是先提出幾種處理方法,經過領導确認,再引導客戶推進工作。
1.對比分析
提出的方案至少要有2種,例如本次運維,對于IDM數據與HR數據不一緻問題,原因在于IDM自身邏輯需要分發系統回寫日志,但實際沒有回寫導緻。基于數據不一緻的問題,為此提出兩套解決方案,一套是在現有IDM版本基礎上的調整方案,另一套是部署新版本IDM的升級方案。
2.方案大綱
對于方案整體内容可以分為如下幾項:
1.問題描述:說明是什麼原因導緻需要對産品做調整
2.原因定位:明确定位問題的原因
3.原版本調整方案
a)處理方法:解決問題的方法
b)處理目的:說明處理的目的
c)分析優缺:說明這種調整方案的優劣,如果推薦這種就多說些優點
4.新版本升級方案
a)同步邏輯:說明新方案的處理邏輯
b)處理目的:說明處理的目的
c)分析優缺:說明這種調整方案的優劣,如果推薦這種就多說些優點
5.對比分析:闡述兩種方案對比内容,這裡給出樣例表格如下:
同時需要分别給出2種方案的人天數。
3.善于引導
面對客戶提出的需求,我們可以根據自己的理解和落地方式,再次和客戶進行溝通,将實現方式和理論進行結合,通過我們自己的理解和通俗易懂的語言對客戶進行說明,并引導客戶通過我們既定的實現方式進行引導。
運維思考之前也出過運維相關的問題,都是一些運維方法方面的,本次遇到的問題其實是從另一個方面說明的運維工作,下面說下本次事情引發的思考。
1.意識方向
對于一個已經運維很長時間的項目,在做調整時,一定要下意識考慮運維邊界的問題。如果是調整産品方面的,要優先考慮産品升級。因為舊版本基本已經停止運維,有些功能已經被新版替代,如果在舊的版本上做調整,間接導緻的風險需要預防。而且對于升級來說可以走商務,變相推動後續項目的開展。
2.獨立思考
在和客戶溝通時,客戶往往會提出自己的想法,我們要明确他們的想法隻是就本次問題提出的解決方案,他們是不會從産品整體的角度考慮的。所以我們要有辨别的能力,不能被客戶的想法帶偏。要有獨立思考的能力和意識,反客為主引導客戶來實現我們的方法。
3.做好備份
建立運維流程,運維人員要按照流程與既定規則,避免個人不良操作習慣帶來的風險。每次解決客戶問題後,都要及時保留解決文檔,上傳到SVN服務器上,群裡的對話如果是客戶确認的信息,必要時需要截圖留下證據。當客戶忘記時,可以及時給予提醒。
工作職責運維工作職責包括:協助完成IT系統基礎架構的設計規劃;負責系統硬件架構的實施部署工作;負責Windows、Linux以及Unix服務器系統的日常運維工作;負責數據庫的日常運維;承擔機房的運維工作;負責備份系統的日常維護。
1.系統穩定
運維的主要工作是保證系統的可用性和穩定性,應用上線後,運維工作才剛開始,具體工作可能包括:升級版本上線工作、服務監控、應用狀态統計、日常服務狀态巡檢、突發故障處理、服務日常變更調整、集群管理、服務性能評估優化、數據庫管理優化、随着應用增減進行應用架構的伸縮、安全、運維開發工作。
2.明确界限
心中要明确運維的邊界,什麼是需要運維做的,什麼是不需要運維來做的,隻有分清邊界,才能更快更好地完成運維工作。具體内容如下:
負責内容:調整安全、jvm、查數據、拉取推送數據等項目級工作;
不負責部分:涉及到産品的改動運維沒有權限做處理。
3.二次銷售
下意識對客戶進行二次銷售,在運維過程中,向客戶滲透公司其他産品,推動後續合作。如果隻是解決客戶反饋的問題,隻能說明你是一個合格的運維人員,想要進一步提升自己,學會二次銷售是必不可少的技能。通過二次銷售,推動客戶與公司的合作,進而提高自己在公司的能力和地位。
總結反思以我當前的工作能力來看,以上所述隻是運維工作的冰山一角,還有更多的内容有待總結。希望通過我這次暴露的問題,幫助運維部門其他同事少走彎路,推動部門的建設。
1.彌補不足
其實這次工作最主要的問題就是沒有想到推動升級,沒有從公司的角度推動項目,我隻是想調整代碼來解決,對于風險的評估不到位。之前也是嘴上說要二次營銷,但實際工作中卻沒有想到,确實是工作上的失職。說和做還是有一定的差距,後續要時刻警醒自己。
2.繼續磨練
了解自身有哪些優缺點,意識态度要端正、去除劣根性,從一次次暴露的問題上,學習正确的處理方法。這樣才能讓你在工作中發光發熱,才能讓你在職業生涯中走得更遠。目前還需要繼續磨練自身的能力,隻有自身能力強了,才能在運維工作中以正确的思考方式完成工作,為公司赢得利益。
3.運維展望
對于未來部門發展,運維工作是需要分配給其他部門成員的,隻有自己掌握運維知識是遠遠不夠的,還需要制定運維規範和流程,幫助其他人學會标準的運維。
IT運維已經在風風雨雨中走過了十幾個春秋,如今它正以一種全新的姿态擺在我們面前—自動化,這是IT技術發展的必然結果。現在IT系統的複雜性已經客觀上要求IT運維必須能夠實現數字化、自動化維護。
運維自動化是指将IT運維中日常的、大量的重複性工作自動化,把過去的手工執行轉為自動化操作。自動化是IT運維工作的升華,IT運維自動化不單純是一個維護過程,更是一個管理的提升過程,是IT運維的最高層次,也是未來的發展趨勢。
本文由@數通暢聯原創,歡迎轉發,僅供學習交流使用,引用請注明出處!謝謝~
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!