目前許多企業為了管理諸多應用程式,已導入容器技術、Kubernetes(K8s);因應數位轉型佈局,需要橫向擴展應用服務規模,同時要設法提升開發速度,導致容器使用環境日益複雜、處理事項愈來愈多。

接著,企業開始思考後容器的發展方向,故紛紛踏上微服務旅程;但畢竟微服務不同於從前開發概念,導致有些人因誤解而走錯路,甚至陷入崩潰,做了多年微服務卻遲遲無法上線,使容器仍是動彈不得的容器、並未真正微服務化,於是從入⾨到放棄,從放棄到絕望。原因何在?出自於大家都知道、卻不願面對的「資料」問題。

為了排除因資料而形成的微服務發展障礙,深具微服務、K8s 技術服務底蘊的寬橋有限公司Brobridge),提出「GRAVITY微服務資料快取與發佈平臺,除了支援敏捷部署,更協助企業解開懸宕多時的關卡,讓微服務繼續前進。

資料解耦難產,企業微服務阻礙重重

寬橋Brobridge)首席架構師Fred Chien指出,許多人為了推動應用程式架構轉型,付出可觀心血,但經常發現,即使做很多努力,卻好像永遠做不完,要解決一個問題、永遠有下一個難題擋在前面。歷經搭建基礎設施、改造維運規範、改造部署流程、改造開發流程等階段,一路挺進到微服務建構,其間學習很多軟體架構或設計模式,卻導致知識與技能更加發散,未能增加實作信心。

「我們一心想成為時間管理⼤師,不斷追求開發敏捷、敏捷再敏捷,更苦練 DDD (Domain-Driven Design) 便條紙神功,學會從業務邏輯來拆分微服務,」Fred Chien說,此外接連學習 API/RPC 設計方法、MQ 事件架構,甚至開始研究分散式交易機制、命令與查詢權責分離(CQRS)機制、即時交易機制、Stateful 服務機制,只因微服務需要處理的議題太多。

尤其人人都希望拆分多個資料庫,讓資料亦步亦趨跟隨每個微服務走,但必然觸動 DBA 敏感神經,因為要管理大量碎片化的私有資料庫,是無盡夢魘。

大家持續努力學習、工作,但容器仍未變成微服務,甚至反而製造更多問題,不僅效能、吞吐量未增加,更讓維運困難重重,使人不禁迷茫,為何從前三層式架構碰到的極限問題,換成容器依舊無解?此時大家拼命思考問題癥結,甚至找外部專家、顧問來幫忙解題,終究一事無成。

答案很簡單,其實眾人皆知,只是不願承認,即是「資料」!資料沒有分身術,無法同時跟很多應用走,只能考慮將它們解耦、拆分,無奈難度高、風險也大;導致很多人對如何設計微服務、如何將微服務置入容器花很多心思,就是不願正面看待資料拆分、解構、管理等議題,最終黯然迎來微服務失敗結局。

免開發、部署即用,輕鬆實現微服務資料快取

對此,多數管理者的態度是「愛怎麼做都可以,只要不動資料庫」。其實有其他方法可以解決這道難題,Fred Chien表示,回顧歷史,早年網站應用程式很大,內含前端⾴⾯、應⽤程式和邏輯,後來前端機制逐漸成形,發展到後來便透過 CDN 建立快取架構,將前端頁面做成快取(Cache),發佈給不同地區、不同位置的使用者;依循類似原理,顯見微服務的資料快取策略,就是最佳解方。

傳統的數據管理架構,無非就是一個大的資料湖,但微服務所需要的數據中臺並非如此中心化,而是分散式、碎片化,所以需要打造分散式資料快取架構,讓快取層附著在微服務的背後,以便-快速拿到所需資料,巧妙實現私有資料庫目標,避免出現一堆微服務接入同一資料庫、而讓資料庫爆掉的窘境。

Fred Chien強調,GRAVITY不只讓微服務獲得快取,也讓用戶可以快速部署資料快取與發佈的管線,建構微服務的資料供應鏈,只因一般企業不像 Google 或 Facebook,不可能養團隊寫很多程式、邏輯或 Pattern,專門負責資料發佈;也不可能任由開發人員不辭辛勞地從頭手刻、苦學 Event Sourcing,仍遲遲打造不出堪用的快取架構。這樣的微服務的資料和數據管理問題,不僅在國內,也是世界上各企業目前所面對的最大難題之一。

他重申,企業不想拆分資料結構,但樂見各個服務取得想要的資料、完成應做的任務;寬橋Brobridge)的GRAVITY解決方案針對資料快取層或資料發佈,提供資料的去中心化、碎片管理,滿足大量管線的設計和部署需求,且充份運用容器平臺的優勢,輕易下達 YAML指令就可擴增管線規模,隨時解決吞吐量不夠、資料量太大等瓶頸,強化快取與發佈效率。

不可否認,快取架構雖是現階段實現微服務架構的關鍵,它只是開始,若從資料角度來看待此事,不難發現解決了效能提升、資料分享甚或異質資料庫整合等問題後,未來還需要在行進過程中一併執行去識別化或其餘特殊處理,以利加快資料搬移上雲的速度,這些都是 GRAVITY 持續深化和精進的方向。

寬橋Brobridge)長期深耕微服務技術,包括 GRAVITY 的技術細節,以及關於微服務架構所需的資料管理和平台設計理論與實作,時常於Kubernetes官方組織-雲原生基金會(CNCF, Cloud Native Computing Foundation)的國際版面貢獻相關技術文章,如:

1. The magic trick of CQRS: decoupling of microservice data

2. Why do we hit a wall when introducing microservice architecture?

以及 Kubernetes Conference EXPERT VOICES
更多的微服務技術或解決方案,請上寬橋官網寬橋微服務雲原生技術專家取得更多資訊。

熱門新聞

Advertisement