傳統企業IT負責人爲什麼對微服務有着葉公好龍一般的心態?

       這兩年來,“微服務”、“雲計算”、“大數據”、“人工智能”的概念在IT界成了新的寵兒:珠聯壁合、聲名遠播、勢如破竹、如日中天!從實踐落地的情況來看:微服務誕生於互聯網,當然是首先在互聯網界遍地開花,高奏凱歌,所向披靡,到處佈道。當傳統企業剛遇到“微服務”,哇!這玩意真好啊,真是葵花寶典啊!業務隔離、獨立部署、獨立上線,高性能、高可用、彈性伸縮!我們公司要是也能實現這個該有多好啊!持續集成、持續部署,這不是我們整天喊整天吹的業務敏捷正需要的東東嗎?然而在研究一翻之後,“洗洗睡吧!“ 抱着質疑的態度試試看的心態有之,唱反調嗤之以鼻的也有之,總之,進展不如人意!

      去年有幸參與了一家國際巨頭級大企業的微服務架構治理項目,在平衡了研發部門的一些阻力之後,通過堅持”適度自包含“的原則,還算成功!但“微服務”這個詞,在火過一在段時間後,從這家公司的PPT中、公開演進中,基本不再提了,“微服務”這個詞成了這個企業忌悔的東西。

     下圖的企業級IT採納週期圖,也說明了這個現實:

 

    這裏我們可能應該思考一下,爲什麼是這麼個順序?首先看互聯網公司特別是巨頭級電商,如阿里巴巴,從它的架構演進經歷就可以看出,它是被業務複雜度、高併發、大數據逼出來的,從淘寶,到天貓,再到各類第三方渠道互聯網產品,業務越來越複雜,周圍聚攏的合作伙伴、合作伙伴的用戶,企業用戶、個人用戶。不搞商品中心、店鋪中心,不搞垂直切分,不搞微服務,不搞大中臺,它就玩不下去了,所以是非常自然的。AWS也一樣,本來是開電商賣書的,後來啥都賣,新的創意天天有,老闆也OPEN ,雲平臺完全是一個意外的產物,所以它成了第一。亞馬遜與阿里有一個共同的特徵就是:老闆不是IT人。而ORACLE,IBM,微軟這些巨頭就不同了,沒有云計算、微服務之前,思考一下以前它們是靠什麼賺取高額利潤?商業套件+硬件服務器,這種組合方式,已經保證了ORACLE,IBM,微軟近15年的高利潤,它們當然不願也不會輕易接受新事件的衝擊了,它們屬於不見棺材不落淚的類型,如果一直裝鴕鳥,就會象諾基亞一樣隨風而去,中國聯想也是一樣,頹勢愈發明顯。而這些巨頭的偉大之處就在於,雖然有質疑,但會敏感地關注,不斷評判,往往在緊要關頭,迎接挑戰,最後扭轉困局。比如微軟是三巨頭中最早一個看到危機的,所以Asure雲平臺現在市場佔有率第二。

    而對於企業來說,IT屬於支持部門這個理念基本就沒變過,三個月一上線週期是正常的,六個月也是有的,兩個月一個大版本就是比較優秀了,兩週一個小升級那就就是先進了。業務部門、銷售部門對於企業來說永遠是王者,其它部門都是支持部門,因爲人家是直接看得到錢的。人慫志當然短了。對於IT研發、運維部門來說,少出事、別出大事、出了事與自己無關,那是絕對是自保基本三原則,那麼對於IT新技術、新趨勢的接受程度、落地速度,自然就是最慢了,如果沒有頂層部門壓下去,那是不可能跟上時代的。

   大勢所趨,趨之若鶩,再葉公好龍,再接受的慢,還是得擁抱"微服務"啊擁抱雲!那麼我該如何擁抱你呢?我的”微服務“。

   沒別的辦法,我們還要得思考,我們要用“微服務”改變什麼?實現什麼目標?

   對於巨頭級跨國公司,基本大併發高性能、大數據的需求都不迫切,大部分業務系統均爲企業用戶或內部員工,量級最多幾十萬,QPS1000基本就都可以打發了,數據量也不大,大量系統幾年十幾年了,數據庫規模也是G級,一個ORACLE就裝下了,它最大的訴求是什麼,是直面激烈的市場競爭,和高壓的銷售任務,那麼關鍵就找到了:如何在持複雜、持續變化的業務背景下,實現持續集成、持續部署、持續上線,實現真正的業務敏捷、隨需而變。

  在微服務化沒出來的時候,這些企業也少努力,可就是效果不大,或者壓根不見效,SOA、敏捷、自動化測試,各種神器大展身手,那麼敗在了哪裏呢?經過深度思考、分析,下面是它們的敗點:

1、項目組織由不同部門組成,“部門牆”遺害無窮

2、項目組內是按技術架構分,而不是按業務,團隊依賴嚴重、溝通成本高

3、SOA以最大複用爲目標,層間依賴嚴重,未能隔離業務依賴,陷入依賴地獄

4、自動化程度差,開發、測試、試運行、生產環境的不同使QA質量不高

5、敏捷流於形式,未能有效隔離業務,工作量風險估計不足,敏捷不起來

  各類神器既然都不見效,或者效果不明顯,企業IT部門對新生事物當然會越來越抱着質疑的眼光,這玩意真的行嗎?真能解決問題嗎?還有,在大型企業特別是巨頭級央企、私企, 無論IBM、ORACLE、微軟、諾基亞、聯想,都存在一個“尾大不掉”的問題,就是接受新事物慢、掉頭慢、動作慢,對潛在挑戰者的出現,往往在較長時間持鄙視的態度。如諾基亞對智能手機的三年鄙視,錯失了追趕的時間,一敗塗地,落個被收購的命運;IBM、ORACLE、微軟之於雲計算、AI,趕了個大早,起了個晚集,這裏面微軟省悟得還算快了一點,就這麼一點也從AWS的雲計算地位差了一大截。中國聯想一直對PC、服務戀戀不捨,無法象阿里那樣不斷螞蟻金服、菜鳥網絡的涌現。所以領導人的思維很重要,領導人的換維眼光很重要,領導人的膽魄很重要,但如果象樂視賈躍亭那樣只顧飛,不見陸地,有一天終會“啪”摔在地上。

   那麼我們回過頭來繼續思考,爲什麼傳統企業IT負責人爲什麼對微服務有着葉公好龍一般的心態?,最根本的原因,仍是“尾大不掉:現有系統業務流程、應用架構、技術架構、產品UI經過多年打拼、打磨,付出大量加班和心血,已經穩定運行多年,可用性、穩定性已經到達一定高度,當然不忍打破了。因爲打破之後的工作量風險、成本風險、質量風險、穩定性風險、週期風險,對部門業績是一個挑戰,因此在無上級部門強制要求,或者將架構重整當成考覈指標的情況下,自然是穩定壓倒一切,沒辦法,大家首先要生存嘛,要生活嘛,不要風險!微服務的粒度細到一定程度,自包含很容易被打破,原有的強一致場景、一個SQL就解決的問題自然也被打破,UI交互甚至要重新調整、重新設計,服務層、數據層均要垂直切分,那麼憑空會出來大量分佈式事務,還要保持原來的強一致性(思維轉變不過來),原來大量關聯SQL很容易解決問題的,需要在數據庫切分改後進行改造,數據模型不支持細粒度切分啊怎麼辦,加一個字段就可能影響許多點代碼進行修改,重新測試,重構工作量不但大增,對系統原有穩定性也是一個打破和重建的過程,現有系統還要疲於奔命應付業務變化的情況下,“重構”成功了額外的工作,因此其重構的複雜性、工作量、風險都成了重大的阻力。

  所以,以上纔是傳統企業IT負責人爲什麼對微服務有着葉公好龍一般的心態的核心因素。

  說白了,是企業級應用的特點,和大企業病鬧得。所以無論是微服務,還是雲計算,大型企業的接受肯定是排在最後,那麼,如何轉變呢?不是那麼容易的,因爲這是一個系統問題,微服務、DevOps、雲計算,對大型企業的組織方式、管理方式、運營模式的衝擊,是顛覆性的,我們看看有哪些顛覆性的元素:

  1、微服務是對業務的垂直切分,那麼對業務部門,也得垂直切分,方能實現業務隔離、業務敏捷,這是對業務部門動手術。

  2、微服務是從需求-產品-開發-測試-運維的一體化,以細粒度的業務爲單位,在大企業,這些環節往往由一個獨立部門負責的,是對部門牆的打破。

  3、項目團隊按微服務團隊,每個微服務要有業務持續性,有價值,這樣這個團隊纔是活的,有價值的。

  可以看到,這些顛覆性的元素,具有變革的性質,凡是變革,如果沒有一把手的領導,比如:國務院深化改革領導小組,沒有這樣的小組的頂層設計、監督、推進、執行,是不可能成功的。

  



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章