楠木軒

連微服務都沒經歷,直接上中台,可行麼?| ArchSummit

由 廉擁軍 發佈於 科技

最近國內出現了像業務中台、數據中台、前端中台等多個品種的中台服務。而在英文裏,能想到的對應單詞就是 Platform,正如説了很多年的 Platform as a Service。那麼,中台和平台到底有什麼區別,大家對這兩者有怎樣的認知呢?

Shopee 的馮湧老師認為,中台的能力主要體現在業務價值上,可以為不同的場景提供不同的服務能力。

華為雲王啓軍老師認為可以以 IoT 平台為例,IoT 平台存在很多動態需求,例如平台下連接着汽車、攝像頭、家電等各種設備,這些設備都需要進行管理、升級、連接。如果存在一箇中台可以統一管理底層設備,就能夠把下面相同的部分抽象出來,讓系統變得更有層次感、更優雅,而研發團隊只需要把精力用在上層應用開發就好。這裏的中台更重要的是可以複用很多組件,更方便地去做很多系統。

平台和中台分開是有好處的,平台更關注自身。同程藝龍架構師李智慧老師之前曾就職於阿里巴巴平台技術部,做過各種平台技術,例如分佈式服務、分佈式緩存、分佈式消息隊列等,類似於雲服務,以幫助業務人員實現業務需求。而中台在為前台提供服務的時候要更關心前端訴求,目的性更強。

阿里巴巴資深技術專家雷卷老師根據個人經驗總結道,中台其實偏向於業務的抽象能力,如果抽象能力不行、不懂業務,那麼做出來的中台也沒人用。中台的特殊之處是承接前端和後端的需求,所以中台團隊要有一定高度的抽象能力,能為後續高速發展的業務快速建模。

做中台的成就感來自哪裏?

公司的精兵強將被抽調去做中台,一方面不直接接觸業務,成就感會降低;另一方面可能吃力還不討好,如果抽象能力不行,做出來的中台不好,業務方就可能不用中台,這種情況下企業如何把中台戰略執行下去呢?

馮湧老師認為,中台面臨業務方的挑戰確實比較大,因為業務方也有自身業務增長、OKR 等目標。馮湧老師表示,遇到這種問題可以從短期方案和長期方案角度來探討。短期內業務方可以自己做,但穩定之後,從長期方案角度來説,是不是應該有遷移的規劃來配合公司的中台戰略?

既然談到成就感,就一定會涉及到人員的調整。王啓軍老師説他遇到這類比較難的問題,是通過有計劃的人員輪動來解決的,讓團隊成員站在不同的角度看問題,變換一下視角,對於解決問題有幫助。

對於微服務架構,或者中台架構來説,API 變得尤為重要。王啓軍老師團隊在做微服務框架的時候,建立了重要的“契約管理”模塊,即把 API 生成一些規範,通過文檔上傳到註冊中心和治理中心。以此來和協作團隊共同建立標準,規範流程。

阿里在中台上的經驗積累很豐富,有足夠強的業務抽象能力,但也存在一系列問題。雷卷老師認為中颱能力既要保證業務上的抽象能力,又要保證技術最領先,這兩者之間是存在矛盾的,因為技術的更迭速度要比業務更迭速度快。比如從 Spring 切換成 Spring Boot 也就半年時間,但是業務往往趕不上新技術變更的腳步。

做中台還存在一定的獨斷性,也就是説做中台的某個技術並不是那麼通用,只適用於電商或者社交領域,很多新技術不能立刻使用,這就會影響技術人未來的職業發展,所以會導致一部分人的牴觸心理。另外,規模大的公司在做中台,會導致一些原來不重要的問題變得很重要,比如説安全性。即使是在抽象程度已經很高的前提下,也要對付前台各界的各種技術挑戰,往往跟不上技術更新的步伐。

未來的架構會是什麼樣?

2019 年的天貓雙十一大促,基本上都是跑在阿里雲上的。現在 Cloud Native、Service Mesh、Serverless、Function as a Service 等技術落地應用場景層出不窮。那麼中台之後的架構會演變成什麼樣呢?

首先是雲基礎平台。李智慧很看好雲作為未來架構的發展,因為互聯網要解決的技術問題,雲都可以解決。但是當前雲需要解決安全性問題。

雷卷老師認為,對於安全性和雲廠商之間要做到無縫遷移。雲和客户之間都要做一些妥協,CNCF 或者 Cloud Native 規範的制定也是為了解決此類問題。客户選擇雲,主要是雲開發便捷,同時成本低。現在基於 Cloud Native 的服務都已經做的很好了,下一步要解決怎麼幫助客户節省費用,尤其是客户的開發成本。

如何避免走上重構之路?

李智慧:這是一個價值 100 億美金同時又很難回答的問題。存在即合理,可能這就是技術團隊目前所處在的階段,也許解決辦法在未來。當然也可以找技術水平高的人進來,解決方案多了,自然就有好的解決辦法。但是高手的成本可能會更高,同時要考慮後期的維護、業務適配等問題。如果是處在社會主義初級階段,那就慢慢來。

中台的標準定義和必備要素有哪些?

王啓軍:千萬不要去追求中台的概念,也不需要去追求它的特徵。

微服務架構在被人所熟知之前,一直是用 SOA 或服務化來稱呼的。它只是架構演進的一個過程,它解決的問題多了,自然就被關注了。為了解決問題而演進架構。

傳統行業裏的小團隊都是單體架構,連微服務都沒有經歷過,這時候直接上中台,可行麼?

李智慧:這是一個非常典型的案例:試試微服務,進而中台化。

首先,如果只是做一個給公司財務部或者銷售部門用的工具,那這不是互聯網應用。互聯網應用有它的發展路徑,有自己的一套規律,同時是在不斷地往前迭代。

對於傳統企業來説,如果此時你有一些可複用的東西,對公司未來的成長有好處,那可以嘗試去做中台這件事情。做法就是把系統之間和可複用的業務抽象出來,讓這些系統、組件在公司內部共用。剛開始做的時候不要説中台,低調一點。先按照這條路把東西做出來,當大家都來使用可複用的服務時候,然後你一拍桌子説:這就叫中台,然後你也就掌握了話語權。