DevOps的故事(如何整合開發和運維?)

在一個與咱們平行的世界中,有一個軟件開發公司。這個公司所作的產品用戶量近期增加的十分迅猛,可是令CTO頭疼的是公司的兩大部門:開發部和運維部近期也是「掐」得厲害。爲解決這個問題,CTO決定倒入如今十分流行的DevOps,而且CTO還請來了Gary來當顧問。項目管理者聯盟編程

  聽到這個消息,開發部經理 「小D」 在部門會上長長舒了一口氣,說:終於能夠解脫「豬隊友」的問題了,維護人員什麼也不懂,就會擺弄那些死機器,有點小問題都讓咱們來解決。DevOps 我瞭解,就是讓那幫運維人員用開發人員的思惟去作運維工做,這個問題終於能夠解決了!」項目管理者聯盟運維

  於此同時,運維部經理「大O」也興奮地對運維團隊說:「太好了,開發團隊開發的產品就是一灘屎,老是讓咱們擦屁股,有什麼技術他們還捂着、掖着不告訴咱們。DevOps要求產品質量前移,好好整整開發部,那樣咱們就會輕鬆不少了!」項目管理論壇工具

  很快CTO組織了一次會議,此次參會的只有四人:CTO、「小D」、「大O」還有顧問gary。在相互介紹後,CTO宣佈了要推行DevOps的決定,並讓「小D」和「大O」談談見解。項目管理者聯盟測試

  「小D」首先發言:項目管理者聯盟spa

  1. 咱們開發能力經過持續改進已經很強了。如今咱們敏捷開發,自動化測試、集成和部署,能夠天天集成,每週進行對外發布。www.mypm.net.net

  2. 至於運維人員我不敢恭維,水平太差。現場問題基本都透傳給開發,嚴重影響到了咱們的開發進度。那麼多人都不知道在幹什麼?!training.mypm.netblog

  接着是「大O」的反擊:項目管理者聯盟項目管理

  1. 大家每週都發布,咱們每週都要維護新東西,都要現學現賣,運維要的是產品穩定,你知道咱們有多大壓力嗎?項目管理者聯盟開發

  2. 咱們運維人可能是由於大家產品開發質量差、問題多,並且問題一出現就是大問題,都要修改代碼,這不是咱們能解決的。項目管理者聯盟部署

  3. 咱們運維人多,可是工資低,並且還不被重視,工做也很累,要7*24小時盯着。service.mypm.net

  4. 你說咱們什麼都不會,那是由於開發什麼也不教咱們運維,咱們怎麼會?項目管理者聯盟

  「小D」畢竟年紀青,有些被氣瘋了,指着「大O」的鼻子說:「咱們開發任務那麼忙,哪有時間教大家。並且,從去年起咱們進行的BSC分解中,運維被定義爲開發的內部客戶,大家對咱們有考覈權,今後咱們這塊的KPI就沒高過,你還想怎麼樣?!」PgMp.mypm.net

  CTO看兩人快動手了就急忙拉架,並順勢打開了去年KPI說:「來,你們都看看,去年的KPI是這個吧?」項目管理者聯盟

  表一開發部KPI(部分):項目管理者聯盟

 
項目管理者聯盟

  表二 運維部KPI(部分):項目管理者聯盟

 
項目管理者聯盟

  「大O」指着表二說:「看到了吧,咱們運維部也揹着市場和銷售部門的內部滿意度KPI呢!」項目管理者聯盟

  這時Gary以爲該是他出面的時候了,他穩定下情緒,心平氣和地對CTO說:「大家公司的目標應該是讓客戶滿意度提高,而不是隻讓大家把內部責任分解得很清楚,如今的KPI您也看到會激化部門間矛盾,因此我建議應整合兩個部門,讓開發和運維部共同承擔對客戶滿意度的KPI。」項目管理論壇

  CTO想了下說:「你的意思是將開發和運維合成一個部門?」此言一出「小D」和「大O」各自驚出了一身冷汗。Gary有深意地掃了一下他們倆,對CTO說:「不,我不是這個意思。若是單純地整合了兩個部門,實際上只是將矛盾藏在了一個部門內部,沒有完全解決問題,並且弄很差新合併的部門將成爲一堆爛泥,分不清楚了。並且即便合成一個部門,開發和運維的人員仍是要分開的,不然開發和運維工做都搞很差。」 CTO有點暈了:「那你到底想要幹啥?」 Gary說:「好,讓咱們簡單地梳理一下,我經過大家的討論而想到的幾點解決辦法吧!」項目管理者聯盟

  1. 之後客戶對產品的滿意度由開發、運維兩個部門應共同承擔。這個滿意度部分開發仍是運維階段,而是總體的滿意度。咱們要改變一些觀念,好比:去掉「完成」概念。不要有發佈了就算開發完成了和開發無關了;運維通知開發處理問題了就和運維人員無關了等等的想法。項目管理者聯盟

  2. 咱們不光是開發質量遷移,還要運維需求「前移」。運維人員能夠根據現場運維狀況,提出對運維的需求,好比:對哪些常見問題的自動化監測、報警值、報警方式等等,這樣會讓產品可運維性大大提高。項目管理者聯盟

  3. 創建產品問題庫,對於產品運營階段不論是開發仍是運維人員發現、處理的問題你們均可以看到,這樣咱們既能夠及時分享處理問題方法還可讓不一樣的人瞭解你們的工做現狀。

4. 開發部應增強對運維人員的培訓工做,只有提高了運維人員能力,才能讓他們解決更多類型的問題,這樣才能減輕開發人員壓力,磨刀不誤砍柴工嘛!項目管理者聯盟

  5. 對於常常出現的問題,運維能夠整理出來由開發部先開發些成熟的自動化工具,提高問題解決效率。後期,運維人員應增強編程能力,最終作到用80%時間編制一些運維自動化工具,從而減輕運維成本。項目管理者聯盟

  這些只是個人初步想法,後續咱們在實施DevOps的時候再詳細地討論吧,包括開發時使用什麼樣的新技術和新工具。「小D」聽到這眼睛明亮了許多。項目管理者聯盟

  CTO想了想,一拍桌子說:「好,就這樣決定了,咱們如今就制定DevOps實施計劃。」

相關文章
相關標籤/搜索