IT運(yùn)維心得分享_第1頁(yè)
IT運(yùn)維心得分享_第2頁(yè)
IT運(yùn)維心得分享_第3頁(yè)
IT運(yùn)維心得分享_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、360公司運(yùn)維心得分享在很多“外人”的眼中,運(yùn)維工程師的工作不過(guò)是搬機(jī)器、調(diào)網(wǎng)絡(luò)、裝軟件、處理故障、724小時(shí)值班,簡(jiǎn)單而又枯燥至極。但事實(shí)并非如此,運(yùn)維工作涵蓋很多技術(shù)領(lǐng)域,運(yùn)維工程師要掌握硬件、軟件、操作系統(tǒng)、開(kāi)發(fā)等多方面的知識(shí),核心目標(biāo)是為億萬(wàn)用戶使用的產(chǎn)品保駕護(hù)航。當(dāng)今互聯(lián)網(wǎng)行業(yè)的發(fā)展日新月異,新技術(shù)層出不窮。為了適應(yīng)發(fā)展趨勢(shì),運(yùn)維工程師只有提升技術(shù)能力才能更好地完成艱巨的運(yùn)維任務(wù),必須要對(duì)傳統(tǒng)運(yùn)維發(fā)出自我挑戰(zhàn)。在360,運(yùn)維團(tuán)隊(duì)由基礎(chǔ)運(yùn)維團(tuán)隊(duì)、網(wǎng)絡(luò)運(yùn)維團(tuán)隊(duì)和應(yīng)用運(yùn)維團(tuán)隊(duì)三部分組成。我們將運(yùn)維從技術(shù)支持領(lǐng)域升級(jí),進(jìn)行產(chǎn)品化改進(jìn),核心目標(biāo)是為了降低運(yùn)維成本、 縮短研發(fā)周期、讓產(chǎn)品試錯(cuò)更廉

2、價(jià)。理想很豐滿,現(xiàn)實(shí)很骨感,從最初服務(wù)少量項(xiàng)目、幾十臺(tái)服務(wù)器,發(fā)展到大量具有數(shù)億用戶的項(xiàng)目,我們也在不斷摸索,在試錯(cuò)中成長(zhǎng)。在這個(gè)過(guò)程中,我們經(jīng)歷了兩次重要的升級(jí)。第一次升級(jí):運(yùn)維工具化運(yùn)維工作中有很多瑣碎的、重復(fù)的事情,初期我們只有兩個(gè)IDC,服務(wù)器數(shù)量有限,項(xiàng)目數(shù)量也較少,靠純手工勞作還可以應(yīng)付。但隨著時(shí)間的推移,項(xiàng)目暴增,隨之IDC和服務(wù)器的數(shù)量也成倍增長(zhǎng),同時(shí)360各項(xiàng)目都是小團(tuán)隊(duì)在做, 開(kāi)發(fā)風(fēng)格不同、習(xí)慣各異,但極致要求響應(yīng)速度,如果運(yùn)維工作按照之前方式進(jìn)行,很難滿足需求。大勢(shì)所趨,我們必須進(jìn)行工具化升級(jí),將重復(fù)的事情自動(dòng)化。在工具化過(guò)程中,我們秉著低成本、拿來(lái)即用的原則,借鑒業(yè)界成

3、型的方案,同時(shí)將精力用在對(duì)開(kāi)源軟件的研究中,有開(kāi)源工具就絕不自己憑空創(chuàng)造。初期,我們只圍繞開(kāi)源軟件做周邊腳本開(kāi)發(fā),不動(dòng)核心代碼,在實(shí)踐中總結(jié)經(jīng)驗(yàn)。例如,在最基礎(chǔ)的部署軟件環(huán)境中,我們基于YUM搭建了自己的包管理系統(tǒng),將常用軟件打包, 同時(shí)根據(jù)項(xiàng)目做成模板,這樣無(wú)論是初始安裝還是擴(kuò)容都能在分分鐘完成。配置文件管理利用Puppet完成,服務(wù)器批量操控依賴(lài)SaltStack。就這樣 我們的運(yùn)維兵器譜在不斷地豐富。另外,運(yùn)維工作離不開(kāi)監(jiān)控報(bào)警,這是一件讓無(wú)數(shù)運(yùn)維人苦不堪言的事情。而會(huì)休息才會(huì)工作,監(jiān)控體系必須優(yōu)化。我們的監(jiān)控大概分為系統(tǒng)級(jí)、應(yīng)用級(jí)、項(xiàng)目邏輯和用戶體驗(yàn)四部分。系統(tǒng)級(jí)主要監(jiān)控硬件和網(wǎng)絡(luò)等;

4、應(yīng)用級(jí)主要監(jiān)控常用軟件的健康狀況;項(xiàng)目邏輯監(jiān)控主要模擬用戶行為探測(cè)項(xiàng)目功能點(diǎn)是否運(yùn)行正常;用戶體驗(yàn)監(jiān)控主要聯(lián)動(dòng)博睿和基調(diào)等第三方監(jiān)控一起優(yōu)化用戶體驗(yàn)。我們用過(guò)的工具很多,開(kāi)源工具有Nagios、 Cacti、Ganglia、Zabbix等,同時(shí)自己也開(kāi)發(fā)了一些針對(duì)項(xiàng)目場(chǎng)景的監(jiān)控工具,但萬(wàn)變不離其宗,都是圍繞上述幾個(gè)維度進(jìn)行監(jiān)控,然后再進(jìn)行分級(jí)預(yù)警和報(bào)警。為了減少報(bào)警騷擾,我們分級(jí)處理,將報(bào)警分為郵件預(yù)警、短信報(bào)警和瘋狂短信報(bào)警。以磁盤(pán)空間監(jiān)控為例:每天下午6點(diǎn),統(tǒng)計(jì) 磁盤(pán)使用率超過(guò)80%的機(jī)器,發(fā)出郵件預(yù)警,下班前解決;在預(yù)警的基礎(chǔ)上,超過(guò)85%觸發(fā)短信報(bào)警;超過(guò)90%就要持續(xù)報(bào)警,避免事故的

5、發(fā)生。此外,隨著 服務(wù)器數(shù)量的增多,硬件故障在所難免,架構(gòu)設(shè)計(jì)需要考慮高可用方案,冗余范圍內(nèi)的服務(wù)器故障會(huì)以郵件預(yù)警的方式發(fā)出,避免對(duì)運(yùn)維工程師的騷擾。有了監(jiān)控工具和分級(jí)機(jī)制,還需要有好的制度。為了大部分人可以安心休息,我們每天有專(zhuān)人負(fù)責(zé)處理常規(guī)報(bào)警,遇到無(wú)法解決的問(wèn)題才要求他人協(xié)助。第二天的負(fù)責(zé) 人要針對(duì)第一天的報(bào)警找出根本原因,并盡力解決,因?yàn)槿绻麩o(wú)法根治,困擾將持續(xù)發(fā)生。所謂線上無(wú)小事,實(shí)際工作中復(fù)雜場(chǎng)景引發(fā)的問(wèn)題數(shù)不勝數(shù),所以可以寬 容第一次錯(cuò)誤,但不能接受同樣問(wèn)題發(fā)生第二次,要不斷地總結(jié)和完善。工具化是運(yùn)維的必經(jīng)之路,是向更高層發(fā)展的基礎(chǔ),面對(duì)運(yùn)維這樣復(fù)雜的學(xué)科,這樣一個(gè)極其磨煉人意

6、志的工種,運(yùn)維工程師需要用聰明的方式解決復(fù)雜的問(wèn)題,節(jié)省時(shí)間,去做更有意義的事情。第二次升級(jí):運(yùn)維產(chǎn)品化我剛提出運(yùn)維產(chǎn)品化時(shí),有朋友開(kāi)玩笑說(shuō),你做后端運(yùn)維吃苦受罪這么多年,看著產(chǎn)品經(jīng)理吃香的喝辣的,羨慕嫉妒也想轉(zhuǎn)行做產(chǎn)品吧。也有人說(shuō),你是在偷換概念,不就是做自動(dòng)化運(yùn)維平臺(tái)嘛。其實(shí)提出這個(gè)概念,一方面是源于有了足夠的工具化積累;另一方面是想換一種思路做運(yùn)維,培養(yǎng)產(chǎn)品觀,站在用戶的角度思考問(wèn)題, 讓處于后端的運(yùn)維工程師主動(dòng)挖掘需求,圍繞運(yùn)維做更多的探索,提升團(tuán)隊(duì)技術(shù)能力,解決海量用戶帶來(lái)的問(wèn)題。有了這個(gè)想法,就需要將無(wú)形的技術(shù)轉(zhuǎn)變?yōu)橛行蔚漠a(chǎn)品形態(tài),同時(shí)要賦予它好的寓意。我們的產(chǎn)品取名為HULK綠巨

7、人,意在讓小伙伴們借助巨人的肩膀成長(zhǎng),輕點(diǎn)鼠標(biāo),運(yùn)籌帷幄。想到做這個(gè)平臺(tái),源于對(duì)實(shí)際工作需求的觀察。產(chǎn)品經(jīng)理有了創(chuàng)新點(diǎn)之后,開(kāi)發(fā)工程師就想以最快的速度上線,但又會(huì)很痛苦,因?yàn)楫a(chǎn)品就好比寶塔明珠,塔基需要一 層層地蓋。而開(kāi)發(fā)工程師是與運(yùn)維工程師合作最緊密的兄弟,“兄弟有難得拔刀相助”,因此我們明確了開(kāi)發(fā)工程師就是運(yùn)維平臺(tái)的用戶,運(yùn)維工程師在平臺(tái)的建設(shè) 中扮演了多重角色,是建設(shè)者也是使用者,但目標(biāo)是為用戶解決問(wèn)題,讓我們的用戶有極致的用戶體驗(yàn)?;谶@些想法,我們勾畫(huà)出了宏偉藍(lán)圖,提供一個(gè)塔基,第一層提供核心基礎(chǔ)服務(wù),如Web、RDB、NoSQL等;第二層提供通用基礎(chǔ)服務(wù),構(gòu)造一個(gè)完美的平臺(tái),讓開(kāi)發(fā)

8、工程師受益。但勾畫(huà)的平臺(tái)功 能大而全,需求都是我們替用戶假想的,這樣做的后果就是進(jìn)展緩慢,但做出的功能沒(méi)人用。我們?cè)谑≈蟹此迹庾R(shí)到需求還得從日常工作中去挖掘,平臺(tái)上每個(gè)功能模塊都必須解決用戶的痛點(diǎn)?;ヂ?lián)網(wǎng)精神唯快不破,要圍繞“快”找痛點(diǎn)。早期開(kāi)發(fā)和運(yùn)維的合作中,更多的是郵件、IM及當(dāng)面溝通,跨團(tuán)隊(duì)的溝通成本是第 一個(gè)痛點(diǎn)。初期平臺(tái)建設(shè)中,我們從加速流程開(kāi)始進(jìn)行摸索,以“需求任務(wù)流”為核心,將通用需求規(guī)范流程,統(tǒng)一需求提交頁(yè)面,同時(shí)盡量為用戶提供選項(xiàng),而不是隨意填寫(xiě),盡量減少溝通成本,同時(shí)為完全自動(dòng)化打好基礎(chǔ)。由于完整的自動(dòng)化流程開(kāi)發(fā)成本比較高,初期我們還“投機(jī)取巧”,用戶提交需求以后,只是

9、把格式 化的郵件發(fā)送給運(yùn)維工程師。運(yùn)維工程師使用半自動(dòng)化工具干活,完成后再通過(guò)平臺(tái)任務(wù)流告知用戶結(jié)果,手工操作的部分是隱藏在平臺(tái)后面的,用戶不得而知。就 用這種方式,我們的平臺(tái)積累了不少用戶和口碑。之后我們將日常需求分層、分類(lèi):主機(jī)類(lèi)包括主機(jī)申請(qǐng)、賬號(hào)授權(quán)、軟件部署等;Web類(lèi)包括配置文件管理、域名管理等;DB類(lèi)包括建庫(kù)、建表、SQL審核、授權(quán)等。再攻克技術(shù)難點(diǎn)將一個(gè)個(gè)需求實(shí)現(xiàn)完全自動(dòng)化,點(diǎn)點(diǎn)鼠標(biāo)解決問(wèn)題。關(guān)于需求任務(wù)流,還有個(gè)小插曲,標(biāo)準(zhǔn)的任務(wù)流由提交、審核、駁回/通過(guò)組成。但這個(gè)流程太死板,例如用戶提交的一個(gè)需求,在審核的過(guò)程中有待商榷,運(yùn)維工程師會(huì)和開(kāi)發(fā)工程師 溝通,最終達(dá)成一致意見(jiàn)即可

10、,而如果按標(biāo)準(zhǔn)流程需要駁回再提交。為了讓用戶少一次操作,我們?cè)黾恿斯芾韱T可編譯功能。有些同事反對(duì)這樣做,覺(jué)得不符合常 理。不過(guò)有時(shí)候常理是需要結(jié)合實(shí)際場(chǎng)景打破的,就為了讓用戶使用更簡(jiǎn)單。近期為了進(jìn)一步提升項(xiàng)目試錯(cuò)階段的速度,我們?cè)谄脚_(tái)上推出了一個(gè)新功能:“項(xiàng)目孵化器”。以典型的Web業(yè)務(wù)為例,以往,申請(qǐng)Web Server、賬號(hào)、數(shù)據(jù)庫(kù)實(shí)例、負(fù)載均衡等是提給運(yùn)維最基本的需求,每一步都是時(shí)間成本。使用“項(xiàng)目孵化器”可以最大限度解決這個(gè)痛點(diǎn),只需在平臺(tái)上進(jìn) 行兩個(gè)步驟:第一步填寫(xiě)業(yè)務(wù)名稱(chēng),預(yù)估峰值QPS;第二步選用MySQL、MongoDB、Redis等相關(guān)數(shù)據(jù)庫(kù)資源。兩步之后,Web Serve

11、r、數(shù)據(jù)庫(kù)實(shí)例等所需資源會(huì)瞬間展示在用戶面前,同時(shí)包管理、配置文件管理、代碼發(fā)布系統(tǒng)、監(jiān)控系統(tǒng)等配套輔助功能隨之開(kāi)通。與之前的模式相比,效率和規(guī)范化都有明顯提高。說(shuō)起來(lái)很神奇,但實(shí)現(xiàn)理念很簡(jiǎn)單,我們提煉日常項(xiàng)目中的通用方案,構(gòu)建資源池,在項(xiàng)目發(fā)展初期最小量匹配資源。在孵化器的設(shè)計(jì)階段,我們聽(tīng)到了很多不同的聲音。例如,讓用戶填信息不夠全面,架構(gòu)太簡(jiǎn)單不滿足全部需求,諸如此類(lèi)問(wèn)題,讓人頭痛欲裂。經(jīng)過(guò)過(guò)往項(xiàng)目 分析及用戶調(diào)研,發(fā)現(xiàn)項(xiàng)目尚處于試錯(cuò)階段,快速試錯(cuò)是首要需求。至于項(xiàng)目發(fā)展中衍生出來(lái)的需求,可以再用平臺(tái)擴(kuò)展功能去解決。當(dāng)利用孵化器建立一個(gè)試錯(cuò)項(xiàng)目之后,用戶進(jìn)入平臺(tái)想看見(jiàn)什么?展現(xiàn)形式如何?還

12、能做什么?這些問(wèn)題隨之而來(lái)。眾所周知,項(xiàng)目中的關(guān)聯(lián)關(guān)系是個(gè)復(fù)雜的問(wèn)題,解決不好,就像一盤(pán)散沙無(wú)法聯(lián)動(dòng)。為了解決此問(wèn)題,首先我們確定平臺(tái)各功能模塊以項(xiàng)目名為主鍵,將項(xiàng)目的域名、負(fù)載均衡、Web Server、數(shù)據(jù)庫(kù)、通用基礎(chǔ)服務(wù)等相關(guān)聯(lián)。項(xiàng)目后期各功能模塊的擴(kuò)容可以借助關(guān)聯(lián)關(guān)系自動(dòng)化完成。例如增加一臺(tái)Web Server,即可自動(dòng)部署軟件環(huán)境,完成相關(guān)節(jié)點(diǎn)授權(quán)、上傳代碼、測(cè)試上線。展現(xiàn)形式上我們借鑒社交網(wǎng)站的實(shí)現(xiàn)方案,以“我的項(xiàng)目”為中心,用戶進(jìn)入平臺(tái)以后默認(rèn)頁(yè)展示項(xiàng)目在平臺(tái)中用到的各功能模塊信息,例如域名、主機(jī)數(shù)量、數(shù)據(jù)庫(kù)實(shí)例和監(jiān)控指標(biāo)等。做到信息清晰可見(jiàn),操控簡(jiǎn)單易用。在平臺(tái)建設(shè)中,我們一直

13、遵循兩個(gè)準(zhǔn)則:第一,把事情由復(fù)雜變簡(jiǎn)單;第二,給用戶極致的用戶體驗(yàn)。所謂極致,就是要超出用戶的預(yù)期,但只有挖掘用戶潛在的需求,才能做出超出預(yù)期的功能。傳統(tǒng)的運(yùn)維模式,大多是開(kāi)發(fā)工程師提需求,運(yùn)維工程師滿足需求,運(yùn)維工程師主動(dòng)推進(jìn)的意識(shí)不夠。360的文化中有很重要的一點(diǎn)是Ownership,一個(gè)項(xiàng)目的成功與失敗,運(yùn)維工程師是有責(zé)任的,因此需要在日常工作中時(shí)刻提醒自己“這個(gè)項(xiàng)目是我的,為了讓項(xiàng)目變得更好,我們需要主動(dòng)思考,為開(kāi)發(fā)工程師提供更多的增值服務(wù)”。例如一個(gè)項(xiàng)目上線前,會(huì)默認(rèn)部署日志收集模塊,收集匯總后進(jìn)行訪問(wèn)日志自動(dòng)化分析,以時(shí)間維度展示訪問(wèn)量走勢(shì),同時(shí)輔以IP地址分析模塊展示地域及運(yùn)營(yíng)商分布。同時(shí)基于訪問(wèn)日志狀態(tài)碼做進(jìn)一步的頁(yè)面分析,然后以日、周、月維度生成一份體檢報(bào)告,以及應(yīng)對(duì)方案推送給開(kāi)發(fā)工程師。這些增值服務(wù)是超出預(yù)期的,拉近了開(kāi)發(fā)工程師和我們的距離,一起去探討、改進(jìn),做出更多有利于項(xiàng)目發(fā)展的功能。結(jié)束語(yǔ)運(yùn)維工作在一家公司中至關(guān)重要,但傳統(tǒng)的運(yùn)維模式一定程度上限制了運(yùn)維工程師的技術(shù)發(fā)展,更抑制了創(chuàng)新思維,我們需要利用運(yùn)維

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論