sponsored links

傳統IT架構轉型,從雲原生平臺到微服務應用構建

傳統IT架構轉型,從雲原生平臺到微服務應用構建

前面談過很多關於數字化轉型,雲原生,微服務方面的文章。

雖然自己一直做大集團的SOA整合平臺諮詢規劃和建設專案,但是當前傳統企業數字化轉型,國產化和自主可控,雲原生,微服務是不可逆的技術發展趨勢。

企業IT架構轉型,不只是單體應用簡單拆分為微服務這麼簡單。而是整個IT應用架構模式發生巨大的變化,核心思想仍然是平臺+應用的構建模式。

而這個平臺也不是簡單的IaaS平臺或PaaS資源排程平臺,而是當前主流說法的雲原生技術中臺。不僅僅提供容器雲和容器資源編排排程,還得提供訊息,快取,資料庫等各種技術服務能力,徹底實現從IT基礎設施從資源層到邏輯層的抽象。

雲原生技術中臺-平臺+微服務

在單體應用微服務化後,前期的軟體研發和交付過程,後期的軟體監控運維和治理能力都必須配套跟上。因此完整的雲原生整體解決方案裡面包括了DevOps持續整合和交付,微服務治理兩塊核心內容。

傳統IT架構轉型,從雲原生平臺到微服務應用構建

在當前雲原生和微服務發展趨勢下也可以看到,傳統的SOA整合平臺和ESB逐步會被API閘道器和能力開放平臺所取代。而SOA治理也逐步變化為微服務治理。

雖然SpringCLoud框架體系裡面已經有類似Zuul的閘道器元件,但是整個規劃裡面我們還是將API閘道器單列出來,因為整個API閘道器不僅僅應用於微服務架構體系和對外API介面暴露,更加重要的是將成為我們後續構建能力開放和服務能力聚合平臺的一個關鍵整合平臺。

整個雲原生平臺規劃將圍繞以下兩點展開。

  • 容器雲平臺和DevOps支撐
  • 微服務全生命週期管理和能力開放

對微服務架構的支援和融合

傳統IT架構轉型,從雲原生平臺到微服務應用構建

在原來談微服務架構的文章一直在強調,微服務架構不是簡單的使用SpringCloud開發框架,更加不是簡單的提供Rest API介面服務就是微服務架構。

更加重要的是微服務模組如何拆分,微服務API介面服務如何識別,粒度如何把控。其次更加重要的是微服務框架體系如何和DevOps支撐平臺融合,如何和API閘道器整合融合,包括如何和後續的監控運維平臺融合。這些都必須考慮清楚,才能夠形成DevOps的基礎能力平臺。

在微服務架構實施過程中,需要有一系列的開發規範和技術標準也需要提供,包括模組的劃分設計,API介面服務識別和定義,程式碼開發,測試,資料庫拆分,安全,分散式事務處理,部署上線,監控,運維等,這些標準都必須定義清楚,否則整個微服務架構實施後由於模組拆分的更細,沒有很好的研發過程管控,技術標準約束你反而會覺得比原來單體應用開發更亂。

PaaS技術服務平臺構建

傳統IT架構轉型,從雲原生平臺到微服務應用構建

在原來談私有云PaaS平臺的時候就經常談到裡面有一個技術平臺提供類似4A,流程,安全,快取,訊息,日誌等各種技術服務能力。而在整個微服務架構體系實施中,也必須有一個完整的技術平臺,每一個技術服務就是一個獨立的微服務元件模組,可以獨立部署和管控。

技術平臺的各種技術能力,仍然是以獨立的技術服務方式提供給整個微服務架構體系中。在整個微服務架構體系裡面可以看到,內部的各個業務微服務模組呼叫技術服務API介面就不需要透過API閘道器,而直接走微服務註冊中心即可。

監控平臺-端到端的監控能力

傳統IT架構轉型,從雲原生平臺到微服務應用構建

對於監控平臺可以看到,需要提供從資源到服務再到應用的端到端監控能力。最底層是伺服器,資料庫,中介軟體等資源監控。上面是服務和服務鏈監控,再上面是應用監控和端到端業務流程監控。

資源,服務,應用三個層面的應用之間本身又相互影響,存在勾稽關係,一個是資源最終暴露的效能問題可以反追溯到具體的應用業務功能功能,而具體的業務流程端到端監控本身又可以詳細分析到某一個業務功能點和介面服務的效能資料。

微服務治理

傳統IT架構轉型,從雲原生平臺到微服務應用構建

微服務治理概括來說,實際上關鍵包括兩個部分。

  • 其一是微服務應該如何拆分,API介面如何設計
  • 其二是執行期如何監控,管理,運維

上圖給出的圍繞微服務全生命週期管理和基於服務度量體系的持續運維監控兩個方面展開,對於一些二級的內容在該圖暫時無法展開,比如常說的服務版本管理,服務依賴分析也是微服務治理的關鍵內容,暫時在該圖沒有體現。

在執行期還有一個關鍵思維的轉變就是不是簡單的發生問題故障後的運維治理,而是應該基於監控預警分析下的主動的技術運營和SLA服務等級提升。

如果你要去給別人做微服務治理,實際上是客戶在確定了微服務架構後就需要介入,包括選擇什麼樣的開發框架,採用哪些開源技術,這些開源技術如何整合,微服務如何拆分,微服務開發過程如何規範化,如何持續整合和部署,API介面如何設計,微服務間如何整合,執行期微服務如何進行狀態和效能監控,如何進行安全,日誌,限流等管控。

能力是開放平臺-大生態建設的基礎

傳統IT架構轉型,從雲原生平臺到微服務應用構建

構建微服務開放框架,DevOps能力支撐平臺或API閘道器可以實現的內部完整的微服務架構化,而如果要做到對外運營,服務聚合和大生態體系建設,更加重要的就是能力開放平臺的建設,這個平臺最終實現內部能力的開放,外圍能力和生態的聚合,並走向產品化+運營化的發展方向。

能力開放在前面我談到過,一個是完全自身已有能力的開放,一個是構建開放平臺聚合外圍能力。而只有聚合外部能力才是構建大生態,可持續發展的關鍵。能力開放也不是簡單接入一個API介面,更加重要的是提供從能力開發接入,能力執行,能力消費訂購,能力監控運維的全生命週期管理能力。

基於雲原生平臺的開發和整合

傳統企業IT架構轉型過程中可以看到幾個關鍵點的變化:

  • 傳統的單體應用-》獨立自治的多個微服務模組
  • 傳統的PaaS平臺+ESB服務匯流排基礎-》DevOps+容器化PaaS+API閘道器

簡單來說就是你要做好IT架構的微服務化,中臺化轉型,那麼你支撐平臺這件事情也得跟上,平臺提供共效能力支撐和能力開放,支援多個微服務模組持續整合和交付。在後期監控運維還得配合DevOps理念跟上,形成要給完整的IT生命週期閉環管理。

在進行API閘道器和DevOps支撐平臺研發的時候,自己一直在思考兩個重點,就是業務驅動和快速迭代,即基於實際的業務使用場景來思考和提煉產品應該具備哪些功能,實際的功能優先順序是如何的。而業務場景驅動裡面最重要的就是最終的使用者角色分析,不同的使用者角色實際的問題和需求是如何的。

底層平臺如何提供管控治理能力和易用性?

拿API閘道器來說,不論是SpringCLoud框架裡面的Zuul微服務閘道器,還是類似Kong,Orange等開源API閘道器產品,最早可能只是一個具備代理和路由轉發,具備基本的安全,流控能力的閘道器引擎,連基本的管理介面都沒有,到現在類似Kong已經形成了基本的管理前臺介面,能夠方面的進行API註冊接入,各類外掛模組的配置和新增,但是最終的使用者是誰呢?

我們分析類似Kong閘道器產品最終的使用者是偏業務系統本身的開發人員的,而不是面向統一的業務系統整合商或平臺能力提供商的。

先不說類似我們當前整合平臺實施中提供的各種服務接入,服務訂購等各種服務流程,就連最基本的業務系統視角的功能也很難獨立提供。

即業務系統開發人員是沒法上這個管理平臺的,那麼如果業務系統需要檢視註冊接入了哪些服務,配置了哪些規則,具體服務呼叫例項和日誌資訊的時候,都無法提供這些能力,都需要進行定製化開發。而恰好這些當前開源API閘道器產品的痛點,可能就是定製化要給API閘道器的管理平臺產品的優點。

也就是說當前API閘道器產品更多是面向已有微服務架構體系內的API能力對外開放需求來做的,而不是基於微服務架構體系裡面多個業務系統,開發廠商間介面協同思路來做的。因此要將API閘道器產品轉變為一個具備多系統整合能力的整合類產品,中間還有很多工作要做。

微服務實施配合研發過程和團隊管理

傳統IT架構轉型,從雲原生平臺到微服務應用構建

當一個大的應用拆分為多個微服務並分配給多個廠商開發時,整個組織團隊管理,研發過程管理,相互協同整合就變得非常重要。

舉例來說,一個大的業務系統按微服務架構思路招標,比如一個供應鏈系統,招標的時候即按微服務模組劃分思路拆分為了招投標管理,採購管理,供應商管理三個獨立的技術標,後續三個開發商中標,每個開發商開發時候都採用微服務架構,比如招投標管理裡面會繼續拆分微多個微服務模組,而這個時候我們看到就存在兩類介面整合問題,在實際協同上需要採用不同的整合策略來處理。

  1. 招投標內部多個微服務元件間介面整合:同一廠商,採用服務註冊和配置中心即可,不需要閘道器
  2. 招投標和採購管理兩個大子系統間整合:不同廠商,需要採用API閘道器來完成整合和協同

而這些就是實際我們面對的業務場景,整合場景需要這樣來做,當你真正做到現場的實施專案的時候,這些關鍵需求自然會碰到。但是你如果完全是研發驅動,脫離市場和一線客戶需求,那麼最終產品將出現很多關鍵功能性缺失。

那麼當你無法在前期透過需求調研或競品分析各種方式採集到完整的使用者需求,並整理為產品需求的時候,你需要考慮的就是基於敏捷開發思路下的產品快速迭代。

傳統IT架構轉型,從雲原生平臺到微服務應用構建

而快速迭代本身又有兩個重點。

  1. 短週期:必須是短週期,1周到4周,短週期目的就是真正讓進度可視,可見,可驗證。
  2. 可使用:可使用是一個關鍵點,即迭代釋出的版本一定是可以發到現場讓使用者真正開始使用的版本。

任何迭代版本的釋出,是否可用必須是一個關鍵的衡量敏捷專案管理和迭代質量的指標。舉個例子來說,我們準備1個月釋出V1.0初始迭代版本,但是釋出後發現這個版本根本用不起來,我們又陸續釋出了1.1,1.2,1.3三個小版本才真正用起來,而這三個小版本的釋出可能又用了2個月的時間。也就是說你的產品真正使用者開始使用,真正開始支撐業務用了3個月的時間。那麼這種形式主義上的迭代沒有任何意義。

透過迭代的方式是讓你進一步的收集需求和最佳化改進,但是一定不是關鍵需求缺失導致產品根本無法使用。如果一個迭代版本無法使用,那麼釋出到現場本身也沒有任何意義。

冠以敏捷而拋棄過程並導致混亂,太強調溝通而無法進行基礎工件交付,開起來很美好的短週期產品釋出但是卻是一個無法真正用起來的半成品,這些都是偽敏捷的自欺欺人做法。

分類: 軍事
時間: 2021-12-03

相關文章

通化事件,八路軍和朝鮮義勇軍槍斃三千日軍,成為日本人的劇痛

通化事件,八路軍和朝鮮義勇軍槍斃三千日軍,成為日本人的劇痛
1946年初,林彪率領的東北民主聯軍轉戰東北的白山黑水,和國民黨軍爭奪對東北的控制權.而就在林彪指揮部隊四處征戰的時候,在遙遠的中朝邊界小城也發生了一場激烈的戰鬥,這場戰鬥就是著名的通化事件. 通化位 ...

故事:山海關之戰:三千日軍拒絕投降,我軍請他們品嚐炮火的味道

故事:山海關之戰:三千日軍拒絕投降,我軍請他們品嚐炮火的味道
1945年8月29日,我軍開赴東北地區的先遣部隊--冀熱遼軍區第16軍區部隊4000餘人,在司令員曾克林的率領下,抵達山海關外. 山海關,是一座歷史悠久.知名度極高的關隘,素有"天下第一關& ...

84名偽滿軍起義,日軍視為奇恥大辱,殘忍屠殺拷打,僅2人倖存

84名偽滿軍起義,日軍視為奇恥大辱,殘忍屠殺拷打,僅2人倖存
作者:忘情 偽滿軍是日本侵華期間出現的一個特殊歷史產物.具體地講,偽滿軍並不悠久的歷史是以1940年為界,劃為前後兩個時期. 前期的偽滿軍,各方面素質那叫一個低劣,他們認賊作父的根本出發點,是為了維護 ...

2016年,江蘇一女兒翻出父親日軍大印,解放軍6輛坦克迎接,為何

2016年,江蘇一女兒翻出父親日軍大印,解放軍6輛坦克迎接,為何
前言 在2016年12月11日,曾經發生過一件這樣的事情. 江蘇有一位94歲雙目失明的老兵,他的女兒在一次打掃父親房間的時候,意外翻出了一枚日軍大印. 而在女兒的一番追問下,錢建民老人這才第一次說出了 ...

東江縱隊首次俘虜一名日軍,夜晚扯開紗布,流血而盡身亡

東江縱隊首次俘虜一名日軍,夜晚扯開紗布,流血而盡身亡
作者:卡迪羅 在全面抗戰的敵後戰場,八路軍.新四軍在頻繁的與敵作戰中,俘虜了不少侵華日軍,活躍在華南抗日戰場上的東江縱隊也是如此,但由於東江縱隊發展較晚.規模較小,因此俘虜的日軍數量也相對較少. 一直 ...

日軍少佐被俘之後,向八路軍提了個要求,從此我國多了一個新兵種

日軍少佐被俘之後,向八路軍提了個要求,從此我國多了一個新兵種
從各大戰事中,我們都不免發現空軍力量尤為的重要.哪個國家可以掌握制空權,那麼哪個國家就很大程度上可以贏得戰爭的勝利.早在"美伊戰爭"中,美國就是憑藉著絕對的制空權,擊敗了囂張的伊拉 ...

1944年王必成繳獲一門大炮,千名日軍懸賞20萬求其送回,這是為何

1944年王必成繳獲一門大炮,千名日軍懸賞20萬求其送回,這是為何
在中國人民革命軍事博物館武器展廳負一層的東側,擺放著一門抗日戰爭時期新四軍從日軍手中繳獲的九二式步兵炮. 經過七十多年的風雨飄搖,這門大炮早已退出歷史的舞臺,靜靜在陳放在展臺內,樸素的炮身.矮小的身材 ...

硫磺島:太平洋絞肉機之戰,23000日軍血戰110000美軍,伏屍遍野

硫磺島:太平洋絞肉機之戰,23000日軍血戰110000美軍,伏屍遍野
11萬美軍和2.3萬日軍,在僅有20平方公里的彈丸小島展開了一場慘烈無比的奪島之戰,其血腥程度堪稱是人間煉獄.它就是第二次世界大戰美日海戰中唯一一次美國傷亡人數大於日本傷亡人數的戰役,也是太平洋戰爭中 ...

日軍在寶豐縣觀音堂的暴行

日軍在寶豐縣觀音堂的暴行
觀音堂寨是寶豐縣城西60華里伏牛山東麓的一個山村.村子四面環山,前臨石河,村後山頭有座石頭寨居高臨下,地勢險要.舊社會,這裡是附近群眾防匪避亂的地方 . 1944年5月6日,日軍攻陷寶豐縣城,在寶豐縣 ...

太原會戰,林彪、劉伯承聯手伏擊日軍精銳師團,拯救了數十萬友軍
1937年10月底,太原會戰進入尾聲,日軍從山西省東面的娘子關沿著正太鐵路向省城太原挺進.駐守在太原北部忻口.大戰日軍板垣師團的衛立煌所部擔心腹背受敵,於11月2日退守太原. 從正太路推進的日軍以第2 ...

陳賡發現日軍規律:喜歡報復!利用其特點,設伏活捉8人

陳賡發現日軍規律:喜歡報復!利用其特點,設伏活捉8人
作者:老街巷口 1938年12月,八路軍386旅第二次越過平漢路,一邊在冀南平原上發展抗日力量,一邊伺機消滅敵軍.其間,旅長陳賡經常帶著部隊打擊日偽軍.幾次戰鬥下來,總結出日軍的一條規律:喜歡報復.陳 ...

新河之戰多慘烈?三千蒙古馬隊冒死衝鋒,為何被英法聯軍全殲?

新河之戰多慘烈?三千蒙古馬隊冒死衝鋒,為何被英法聯軍全殲?
"僧格林沁等奏:夷人分股攻撲新河,馬隊不能支援."(<清文宗實錄>) 這是咸豐十年(1860年)六月初七日的時候,負責在塘沽前線抵禦英法聯軍的清軍總指揮--僧格林沁,給 ...

深河橋之戰,日軍侵華腳步終結之戰,日軍在此犯下罪行不亞於南京
1944年,11月28日,日本中國派遣軍總司令崗村寧次,緊急致電剛剛佔領廣西宜山的日本第11軍軍長橫山勇.命令他停止繼續追擊中國軍隊,不得進入貴州,將防線設定在宜山至柳州一線. 日軍第11軍又被稱為& ...

這才是抗戰中真正的日俘,跟抗戰劇完全不同,當了俘虜還面露兇光

這才是抗戰中真正的日俘,跟抗戰劇完全不同,當了俘虜還面露兇光
儘管是古代還是現代,只要有戰爭爆發,各參戰國就會出現俘虜. 相比於其他國家而言,中國對待俘虜更加人性化,這也就導致我國曾經有過在釋放別國俘虜時俘虜們依依不捨的情況. 對比其他國家而言,日本對近代中國的 ...

美軍上將猛揍日軍,被誇“戰術大師”,他坦然回覆:八路軍教得好

美軍上將猛揍日軍,被誇“戰術大師”,他坦然回覆:八路軍教得好
1942年,美軍在太平洋戰爭中憑藉馬金島突擊戰扭轉了戰爭頹勢,其戰鬥過程和戰術方法至今仍為美國人所敬佩.但當外界希望該場突擊的指揮官交流戰術經驗時,他卻說,"這都是和八路軍學的,我是八路軍的 ...

我軍師長俘虜敵軍長,正想審問,陳毅卻電令:別多問,馬上放人

我軍師長俘虜敵軍長,正想審問,陳毅卻電令:別多問,馬上放人
"五萬多人,三天就被消滅了,就是放五萬頭豬叫共軍抓,三天也抓不完."相信看過<亮劍>的人,都對這句話印象深刻,劇中這句話出自國民黨將領"楚雲飛"之口 ...

94歲越南老婦,天天抱日本兵衣服入睡:日軍在越南留下了什麼?
說到日本這個小國家,我們就覺得不好,日本曾經侵略過我國,他們更對我國犯下了滔天罪行.對於那段歷史,我國人民一直沒有忘記,日本在二戰的時候,不光侵略中國,他們還侵略東南亞國家,日本人的野心可真大.在20 ...

日軍曾在江西犯下滔天罪行,江西人的抗日故事你必須知道

日軍曾在江西犯下滔天罪行,江西人的抗日故事你必須知道
歡迎大家閱讀"景德鎮南河公安"頭條號.如果您喜歡本頭條號釋出的文章,還可點選左上角關注我的頭條號,每天都有精彩文章推薦. 1938年6月29日,日軍波田支隊使用化學毒彈武器攻破了江 ...

左權犧牲,遺體遭日軍侮辱,彭德懷震怒,組織暗殺小隊為他報仇

左權犧牲,遺體遭日軍侮辱,彭德懷震怒,組織暗殺小隊為他報仇
1942年5月,日軍毫無徵兆的突然摸清了我軍大本營的具體位置,趁機突然發動襲擊,左權負責帶領機關非戰鬥人員突圍,不幸犧牲.左權作為八路軍的高階將領,在軍事,革命上的才華非常突出.他參加過長征,指揮過大 ...

武中奇:讓陳毅推崇的書法大家,抗戰時曾用步槍打下日軍轟炸機

武中奇:讓陳毅推崇的書法大家,抗戰時曾用步槍打下日軍轟炸機
1941年春,八路軍115師進入江蘇省贛榆縣濱海區,建立敵後抗日根據地. 在與當地日軍的浴血奮戰中,無數英烈戰死沙場,鞍馬裹屍 . 為緬懷陣亡將士,羅榮桓下令在濱海區移土建塔冢,50名八路軍戰士手抬肩 ...