企業(yè)外包環(huán)境下的DevOps運(yùn)維_第1頁(yè)
企業(yè)外包環(huán)境下的DevOps運(yùn)維_第2頁(yè)
企業(yè)外包環(huán)境下的DevOps運(yùn)維_第3頁(yè)
企業(yè)外包環(huán)境下的DevOps運(yùn)維_第4頁(yè)
企業(yè)外包環(huán)境下的DevOps運(yùn)維_第5頁(yè)
已閱讀5頁(yè),還剩21頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 企業(yè)外包環(huán)境下的DevOps運(yùn)維1. 面臨的挑戰(zhàn)今年的2018GOPS深圳站設(shè)了金融和通信專場(chǎng)。因?yàn)榻鹑诤屯ㄐ判袠I(yè)面臨著互聯(lián)網(wǎng)最大的沖擊。有了微信和QQ,誰(shuí)還發(fā)短信?有了支付寶和微信支付,誰(shuí)還隨身攜帶銀行卡?這些是互聯(lián)網(wǎng)行業(yè)對(duì)金融和通信行業(yè)帶來(lái)的沖擊。傳統(tǒng)行業(yè)和互聯(lián)網(wǎng)行業(yè)差別巨大,我暫且不談體制上、流程上、管理上、人員上的差別,今天我們談?wù)処T上的差距。傳統(tǒng)行業(yè)以“交鑰匙”模式為主,廠家開發(fā)完成后,拿包過(guò)來(lái)現(xiàn)場(chǎng)部署。運(yùn)維成本高尚且不說(shuō),畢竟花的是國(guó)家的錢,最麻煩的是效率和質(zhì)量特別差。對(duì)面的互聯(lián)網(wǎng)行業(yè)主要是自研自維,他們用的是DevOps體系,高效高質(zhì)的交付,靈活地應(yīng)對(duì)變化。 2. 實(shí)踐Dev

2、Ops的道路選擇如何學(xué)習(xí)DevOps體系,有不同的選擇。有些國(guó)企、傳統(tǒng)行業(yè)選擇依賴外包,希望通過(guò)外包帶動(dòng)我們轉(zhuǎn)型。這就像“輸血”,把外部新鮮血液輸入到傳統(tǒng)企業(yè)里?!拜斞焙芎?,可以解燃眉之急,但我們不能一直依賴它。自研自維的全面轉(zhuǎn)型,我們稱之為“換血”,運(yùn)營(yíng)商在推全面IT化、數(shù)字化轉(zhuǎn)型,招一大批計(jì)算機(jī)專業(yè)的新員工,組織大量的IT培訓(xùn),希望可以學(xué)習(xí)自主研發(fā),自己運(yùn)維整個(gè)網(wǎng)絡(luò)體系和IT體系。這是一個(gè)很好的愿景,但同時(shí)它是很難實(shí)現(xiàn)的。在實(shí)現(xiàn)過(guò)程中,可能會(huì)面臨很多坎坷。所以我們選擇了培育基因,持續(xù)改良這條“造血”之路。3. 技術(shù)的實(shí)踐3.1 選擇普適、完備的體系來(lái)對(duì)標(biāo)學(xué)習(xí)培育基因,總得有基因,基因從何

3、而來(lái)。每個(gè)互聯(lián)網(wǎng)行業(yè)都有自己的特性,也有其成功之處,難以全盤復(fù)制。所以我們應(yīng)該找普適完備體系,我向大家推薦兩個(gè)比較好的體系,一是高效運(yùn)維社區(qū)的DevOps道法術(shù)器,二是中國(guó)信息通信研究院的研發(fā)運(yùn)維一體化能力成熟度模型。道法術(shù)器,中國(guó)風(fēng)特別濃,我文化水平不高,不太敢學(xué),還是來(lái)學(xué)國(guó)標(biāo)吧。中國(guó)信息通信研究院DevOps模型,當(dāng)中包括42個(gè)過(guò)程,難以全學(xué)。比如敏捷開發(fā)管理,傳統(tǒng)行業(yè)之前以外包為主,外包哪有敏捷開發(fā),你連代碼都沒有?!霸谄款i之外的任何地方作出的改進(jìn)都是假象”艾利高德拉特目標(biāo)3.2 選取六大過(guò)程,優(yōu)先解決痛點(diǎn)我們需要從42個(gè)過(guò)程中選取切入點(diǎn),用來(lái)解決目前的瓶頸和痛點(diǎn)。廣東移動(dòng)選擇了以下六個(gè)

4、過(guò)程作為切入點(diǎn),一是故事與任務(wù)排期,管理需求的涉眾期望;二是部署與分布模式,痛點(diǎn)是改進(jìn)版本上線效率;三是應(yīng)用監(jiān)控,為了解決故障定位慢的痛點(diǎn);四是事件響應(yīng)及處理,解決的是故障處理的痛點(diǎn);五是高可用規(guī)劃,提升系統(tǒng)可靠性;六是度量指標(biāo),定性定量評(píng)估DevOps轉(zhuǎn)型效果,持續(xù)優(yōu)化。3.3 選取六大過(guò)程,優(yōu)先解決痛點(diǎn)3.3.1 第一個(gè)過(guò)程故事與任務(wù)排期傳統(tǒng)行業(yè)IT管理部門經(jīng)常被用戶部門投訴:半年過(guò)去了,我提的需求怎么還沒開發(fā)。廠家很痛苦,個(gè)個(gè)都是大爺,隨時(shí)隨地加塞需求,個(gè)個(gè)都說(shuō)自己的需求最緊急,我敢得罪誰(shuí)?我們作為IT管理的角色,也很無(wú)奈,年初問(wèn)大家有啥需求,個(gè)個(gè)不提,年中個(gè)個(gè)說(shuō)急。比方說(shuō),集團(tuán)2、3月

5、份開工作會(huì),1月份立項(xiàng),立項(xiàng)時(shí)沒需求,開完年度工作會(huì)提出一堆的需求。老板很困惑,到底是廠家不給力還是我們管理水平差,為什么大家都不滿意。我們的藥是管理好各方期望。我先聲明一下,這個(gè)藥并不能提高需求交付的速度,那個(gè)要等全盤引入DevOps敏捷開發(fā)體系才能解決。在DevOps體系還沒落地之前,我們先管好各方期望,先讓用戶和老板不那么痛苦,我們自己也不那么痛苦,先緩解痛苦了,再考慮后面的改進(jìn)。需求管控分成兩部分,一個(gè)是年度資源的管控,也就是制定年度版本發(fā)布計(jì)劃。關(guān)鍵點(diǎn)是“排車次,分車票”。年初工作會(huì)還沒開,我們可以根據(jù)項(xiàng)目金額和人天單價(jià)估算,估算全年可用的人力資源,假設(shè)有1.2萬(wàn)人,制定全年版本的分

6、配計(jì)劃。有點(diǎn)像列車時(shí)刻表一樣,需求在哪天截止、哪天受理、哪天排版、哪天上線。分配各版本的資源數(shù)量,根據(jù)全年閑忙規(guī)律安排各個(gè)版本的資源數(shù)量。12個(gè)月里,并不是每個(gè)月都平均分配,年底特別忙,需求特別多,我們要為第三第四季度多安排。分配用戶的資源比例,不是平均分配,要看誰(shuí)對(duì)系統(tǒng)要求提得多。去年這個(gè)部門提出60%的需求,來(lái)年我給他們分60%的資源,年初分車票,用完車票只能等著,要不就只能向其他有車票的人協(xié)調(diào)。預(yù)留10%的機(jī)動(dòng)資源,緊耦合系統(tǒng)功能要統(tǒng)一發(fā)車時(shí)間。日常需求的管控,采用列車模式,這個(gè)概念在高效運(yùn)維社區(qū)的公眾號(hào)里面有提到,大家可以去看看。列車模式重點(diǎn)在于開兩會(huì)、出車許可、按時(shí)出車。這個(gè)需求能不

7、能做,通過(guò)開設(shè)計(jì)評(píng)審會(huì)來(lái)確定,這個(gè)需求急不急,什么時(shí)候做,通過(guò)用戶需求排版會(huì)來(lái)確定。我們管理用戶的需求,無(wú)非是讓誰(shuí)來(lái)定廠家的開發(fā)資源,給誰(shuí)用。所以,解決問(wèn)題的根本,其實(shí)只需要把權(quán)力還給業(yè)主就好了。作為IT開發(fā)的管理部門,憑什么你說(shuō)了算,一定是業(yè)主說(shuō)了算。以后業(yè)主就不會(huì)再說(shuō):給你提的需求都過(guò)了半年了為啥都沒做,因?yàn)闃I(yè)主可以自己決定,把緊急的需求排進(jìn)兩會(huì)。管好期望,皆大歡喜。大家知道發(fā)車時(shí)間表,用戶知道他有多少資源可以,安排時(shí)不會(huì)亂提,不會(huì)毫無(wú)成本的提需求,開發(fā)者也知道自己要做什么事情,不會(huì)所有需求都是緊急需求。3.3.2 第二個(gè)過(guò)程部署與發(fā)布模式(下圖)這是廣東移動(dòng)實(shí)際的系統(tǒng)關(guān)系圖,耦合得非常緊

8、,A系統(tǒng)發(fā)布,B、C、D得聯(lián)調(diào)。一個(gè)廠家熬夜,其他廠家要跟著熬夜。我們升級(jí)當(dāng)天晚上才開始跨系統(tǒng)的聯(lián)調(diào),所以版本發(fā)布是個(gè)災(zāi)難。如何解決此問(wèn)題,我們的措施是新增預(yù)生產(chǎn)環(huán)境,改造發(fā)布流程為兩級(jí)部署。預(yù)生產(chǎn)環(huán)境做的是跨系統(tǒng)聯(lián)調(diào)、模擬測(cè)試、統(tǒng)一版本替換,最后統(tǒng)一到生產(chǎn)環(huán)境上。預(yù)生產(chǎn)環(huán)境可以白天做,合作伙伴和同事都不用再那么辛苦熬夜值班割接了。在我們做高效部署的過(guò)程中,我們向騰訊藍(lán)鯨學(xué)習(xí),本圖由騰訊藍(lán)鯨的運(yùn)維自動(dòng)化發(fā)展歷程來(lái)。我們給自己定了目標(biāo),基準(zhǔn)目標(biāo)是跟廠家的軟件發(fā)布包標(biāo)準(zhǔn)化,參數(shù)的配置文件標(biāo)準(zhǔn)化,升級(jí)流程標(biāo)準(zhǔn)化。挑戰(zhàn)目標(biāo)也有,廠商可以根據(jù)自己的技術(shù)實(shí)力,開展數(shù)據(jù)庫(kù)腳本自動(dòng)化、整體發(fā)布腳本化、用Dev

9、Ops生產(chǎn)線驅(qū)動(dòng)的自動(dòng)發(fā)布。廠家做的自動(dòng)發(fā)布并不是讓他們做一個(gè)自動(dòng)發(fā)布的網(wǎng)站和系統(tǒng),我們完全可以從DevOps體系中獲得養(yǎng)分。(左圖)參加過(guò)DevOps大會(huì)的都很熟悉,這條生產(chǎn)線本身就能做發(fā)布,只要引入就好了,不用新建。當(dāng)然,為了適配外包模式,我們對(duì)生產(chǎn)線也做了一些改造,讓它同時(shí)適配外包和自研項(xiàng)目。這邊是外包項(xiàng)目,這邊是自研項(xiàng)目。有源代碼的走這條路,沒有源代碼的走那條路。無(wú)碼項(xiàng)目(無(wú)源代碼縮寫),從制品開始接入Pipeline,編譯好的包上傳到Nexus,由DevOps生產(chǎn)線驅(qū)動(dòng)部署。有碼項(xiàng)目,各租戶使用GitLab管理源代碼,合作伙伴可以在自己的軟件中心工作,不用到甲方現(xiàn)場(chǎng),就可以將產(chǎn)品在p

10、ipeline上進(jìn)行編譯、測(cè)試、部署、發(fā)布到生產(chǎn)平臺(tái)和預(yù)生產(chǎn)平臺(tái)。3.3.3 第三個(gè)過(guò)程應(yīng)用監(jiān)控痛點(diǎn)是故障發(fā)現(xiàn)遲,根源定位慢。為了更快發(fā)現(xiàn)和定位故障,必須要開展應(yīng)用監(jiān)控,監(jiān)控啥?可用性、性能、流量、數(shù)據(jù)質(zhì)量。怎么監(jiān)控?一是通過(guò)標(biāo)準(zhǔn)化采集接口,采集主機(jī)的負(fù)荷、指標(biāo)、狀態(tài)等,二是應(yīng)用性能管理,我們用的是Oracle RUEI,三是應(yīng)用系統(tǒng)自己報(bào),要解開應(yīng)用的黑盒子,只能讓應(yīng)用自己報(bào)。我們這里做的比較大的創(chuàng)新是端到端的應(yīng)用監(jiān)控,我們現(xiàn)在要把各層的應(yīng)用監(jiān)控串起來(lái),成為端到端的業(yè)務(wù)監(jiān)控,使得定位更加方便。本次DevOps主題是AIOps,接下來(lái)我們要從應(yīng)用監(jiān)控?cái)U(kuò)展到統(tǒng)一日志。應(yīng)用監(jiān)控只是監(jiān)控異常,目的是

11、快速定位故障點(diǎn)。統(tǒng)一日志是借助大數(shù)據(jù)挖掘、機(jī)器學(xué)習(xí)技術(shù)挖掘隱患、故障預(yù)警,使得傳統(tǒng)運(yùn)維可以向運(yùn)營(yíng)轉(zhuǎn)型,也向AIOps進(jìn)化。我們的目標(biāo)是做端到端監(jiān)控、日志,目標(biāo)是“兩個(gè)先于”前半部分,一是先于用戶發(fā)生問(wèn)題,二是先于投訴解決問(wèn)題。3.3.4 第四個(gè)過(guò)程事件響應(yīng)及處理痛點(diǎn)是故障修復(fù)忙亂,只能圍觀,束手無(wú)策。問(wèn)題根源在于這哥們兩次故障都穿綠色衣服,我們讓他把這件衣服扔了,以后就再也沒有故障了(開玩笑)。運(yùn)維工具腳本化傻瓜化智能化,具體措施是訪談廠家運(yùn)維人員,問(wèn)他們,常見故障有哪些?他們是怎么處理的?廠家運(yùn)維人員說(shuō),接口擁塞、卡單、缺數(shù)、應(yīng)用進(jìn)程吊死,解決方法是手工過(guò)單、開啟限流、增開服務(wù)器、手工補(bǔ)數(shù)、

12、手工重啟等。我們繼續(xù)問(wèn),能否做到腳本化、傻瓜化,能做到給他們加分。傻瓜化之后,繼續(xù)探索智能化。3.3.5 第五個(gè)過(guò)程高可用規(guī)劃這張圖是從騰訊藍(lán)鯨咖啡黨那里抄的。騰訊藍(lán)鯨運(yùn)維人員主要有三項(xiàng)工作,設(shè)置預(yù)警、處理報(bào)警、修復(fù)高可用。騰訊藍(lán)鯨不用搶修故障,因?yàn)樗麄僆aaS的運(yùn)用架構(gòu)是高可用,不需要搶。只需要在出現(xiàn)告警時(shí),切換高可用,有時(shí)間再慢慢修復(fù)高可用,不用搶修。運(yùn)營(yíng)商能否做高可用改造,上面是互聯(lián)網(wǎng)行業(yè)的軟件架構(gòu),他們用的是Cloud-Native、Docker、MS、Ceph、SDN,我們用的是集中式IBM SVC、傳統(tǒng)三層網(wǎng)絡(luò)結(jié)構(gòu)、VLAN、VMware。全面重構(gòu)應(yīng)用系統(tǒng)自然是治本的方法,但是有困

13、難和風(fēng)險(xiǎn),我們可以先從部署層面開展HA改造,消除單點(diǎn),不用改代碼,不用中斷業(yè)務(wù),只需要在部署層面開展?;c(diǎn)錢多部署幾套,這是“給飛行中的飛機(jī)加裝引擎”。如何做高可用規(guī)劃,借鑒公眾云的可用區(qū),一個(gè)可用區(qū)出現(xiàn)基礎(chǔ)設(shè)施故障不影響另一個(gè)可用區(qū)。每一層都有多可用區(qū),按反親和原則,業(yè)務(wù)系統(tǒng)跨不同的可用區(qū)進(jìn)行部署。通過(guò)多可用區(qū)的部署實(shí)現(xiàn)高可用,簡(jiǎn)單粗暴。端到端的高可用部署體系有網(wǎng)絡(luò)高可用、主機(jī)高可用、公共SaaS高可用、存儲(chǔ)高可用和應(yīng)用部署高可用。高可用規(guī)劃的同時(shí),要同步進(jìn)行CMDB清洗。因?yàn)楦呖捎靡?guī)劃必須有CMDB,不然你不知道誰(shuí)跟誰(shuí)反親和。做到什么程度?為高可用切換、為故障定位、為自動(dòng)化部署做CMDB,

14、不要做大CMDB,夠用就好,盡力而為,我們?nèi)〉氖荂MDB最小級(jí)。3.3.6第六個(gè)過(guò)程度量指標(biāo)國(guó)企有一個(gè)特點(diǎn),“鐵打的營(yíng)盤流水的領(lǐng)導(dǎo)”,在國(guó)企更要注意體系的可持續(xù)發(fā)展,將最佳實(shí)踐固化形成企標(biāo)。應(yīng)用系統(tǒng)交維標(biāo)準(zhǔn),必須滿足一鍵部署、一鍵啟停,一鍵切換HA。數(shù)據(jù)庫(kù)編程規(guī)范很重要,我們制定了數(shù)據(jù)庫(kù)應(yīng)用編程的N條軍規(guī),數(shù)據(jù)庫(kù)應(yīng)用要非常重視規(guī)范性,否則做更多的高可用都是無(wú)效的。IaaS、PaaS、SaaS架構(gòu)的規(guī)范,要求單平面故障時(shí)可支撐業(yè)務(wù)高峰,多可用區(qū)部署、反親和寫原則。DevOps工具選型建議,開源原則、主流原則、能力原則。制定標(biāo)準(zhǔn),DevOps實(shí)施的評(píng)價(jià)體系。六個(gè)端到端(Chart CD),端到端C

15、MDB、端到端的HA、端到端的Alarm and log、端到端的Repair、端到端的CD。4. 管理感悟萬(wàn)事開頭難,后面結(jié)尾也很難。架構(gòu)還沒改變,大家都在觀望的時(shí)候,可以耐心培育種子,不妨先創(chuàng)造和諧有利的外部環(huán)境。我們總結(jié)了三個(gè)勢(shì),順勢(shì)、借勢(shì)、造勢(shì)。順勢(shì),運(yùn)營(yíng)商最近幾年要做NFV,去年、前年時(shí)我們想辦法從NFV“硬掰”DevOps,如果沒有DevOps,根本無(wú)法做NFV。借勢(shì),2016年,我還是GOPS的普通觀眾,只是在會(huì)場(chǎng)外邊隨便找了一個(gè)美女合影,結(jié)果就跟高效運(yùn)維社區(qū)聯(lián)系上了。 經(jīng)過(guò)一來(lái)二回的聯(lián)系,去年年底我們?cè)趶V東移動(dòng)開了家門口GOPS,請(qǐng)了蕭總、樂神、咖啡黨給我們領(lǐng)導(dǎo)講課。實(shí)際上是想

16、借勢(shì),我說(shuō)的領(lǐng)導(dǎo)不一定會(huì)認(rèn)同,我可以請(qǐng)專家過(guò)來(lái)講。借勢(shì),我們要走出去,請(qǐng)進(jìn)來(lái),請(qǐng)到組織里,成為你的助勢(shì)。造勢(shì),開始時(shí)很多領(lǐng)導(dǎo)認(rèn)為DevOps是自研,我們辦了兩屆自研大賽,自研大賽的結(jié)果是引起老板重視,興起學(xué)IT的熱潮,開發(fā)了一批小工具,培養(yǎng)了一批IT高手。我們把勢(shì)造起來(lái),讓大家覺得IT不那么難,做網(wǎng)絡(luò)運(yùn)維的人也可以寫代碼。從各大高校招的電信專業(yè)、光電專業(yè)、物理專業(yè)也可以寫代碼,同時(shí)為“換血”打下基礎(chǔ),有人才才可以轉(zhuǎn)型,造勢(shì)很重要。不僅如此,今年2月份廣東移動(dòng)還組織了下一代網(wǎng)絡(luò)智能運(yùn)維IT技術(shù)沙龍,這個(gè)沙龍厲害了,主題是讓同事上臺(tái)講。去年請(qǐng)外面的專家來(lái)講,培育了一年,借足了勢(shì),今年就可以自己講了

17、。我請(qǐng)了計(jì)劃部、網(wǎng)優(yōu)、客響等不同部門的專家過(guò)來(lái)講。蕭幫主說(shuō)“帶著身邊小伙伴,一起愉快地玩耍”。一起玩耍,一起造勢(shì),把DevOps勢(shì)頭造起來(lái)。搞定外部環(huán)境后,團(tuán)結(jié)一切可以團(tuán)結(jié)的力量。對(duì)團(tuán)隊(duì),我們要加強(qiáng)培訓(xùn),拓展新視野,派去BAT、GOPS學(xué)習(xí)???jī)效傾斜,我們鼓勵(lì)愿意投身到轉(zhuǎn)型工作中的員工,提供平臺(tái)和舞臺(tái),給成長(zhǎng)機(jī)會(huì)。我們讓同事上臺(tái)講,對(duì)大家的鼓舞很有幫助。對(duì)廠家,轉(zhuǎn)型親自管,莫用外包管外包。用好指揮棒,能做到兩個(gè)先于可以加分,先于用戶發(fā)現(xiàn)問(wèn)題,先于投訴解決問(wèn)題。能夠一鍵修復(fù)的加分,HA切換的加分,從源碼開始CI、CD的可以加分?;ヂ?lián)網(wǎng)標(biāo)桿,魯迅先生說(shuō)過(guò)“我們要運(yùn)用腦髓,放出眼光,自己來(lái)拿”。我們要尋求老板的支持,沒有老板的支持,所有事情在國(guó)企都是不可行的。5. 總結(jié)成功可以復(fù)制嗎?李開復(fù)有一本書說(shuō)我的成功可以復(fù)制,還有人寫我的成功不可復(fù)制,DevOps轉(zhuǎn)型的萬(wàn)能藥丸不存在。領(lǐng)導(dǎo)的風(fēng)格、員工的素質(zhì)、廠家的能力和自己的眼光不一樣,注定每個(gè)企業(yè)和團(tuán)隊(duì)的DevOps轉(zhuǎn)型之路是獨(dú)一無(wú)二的,必須邊走邊試邊學(xué)。我們要?jiǎng)?wù)本求實(shí)

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論