閒話雲端計算(六) 金融行業PaaS架構參考
金融行業的PaaS參考架構如下圖所示,所有平臺類軟體服務都可以被放到PaaS裡,容器服務本身既是PaaS的一類服務,也是其它PaaS服務所依賴的基礎資源。
PaaS裡的容器服務直接面對業務系統,允許業務應用以容器的方式開發和部署,容器服務本身也要依賴底層的IaaS提供基礎的資源。中介軟體主要包括訊息中介軟體、Java中介軟體,訊息中介軟體可以以資源池的方式存在並提供服務,比如Kafka叢集。Java中介軟體是Java程式依賴的執行時環境,可以直接打成容器映象,以容器映象的方式提供執行時環境。資料庫服務包含傳統的商用資料庫(如Oracle、DB2)、開源資料庫(MySQL)和新興的分散式資料庫。傳統的資料庫主要依賴IaaS提供基礎環境、依賴自動化工具實現軟體的快速安裝配置。部分資料庫產品(如MySQL)也可以考慮容器化,使用容器映象部署。大資料服務本身都是叢集化、池化的,只需要做好多租戶鑑權和服務自助化即可。DevOps主要是打造開發、測試、部署流水線,將自動化和視覺化貫穿整個流水線,提升開發、上線的效率和質量。服務治理主要是管理服務之間的呼叫關係、同時起到對服務間流量進行控制的作用。通過服務治理,可以清晰地看到服務之間的依賴關係、流量狀況,並根據流量監控看到服務狀況和質量,還可以在出現問題的時候及時發現導致問題的服務,並對服務做降級處理。
和IaaS一樣,PaaS也需要和現有的運營支撐系統深度融合,同時引導相關係統和工具升級改造,使其更適配於PaaS環境。比如傳統的業務監控主體都是一個個主機,監控代理程式都裝在主機中,監控的維度也是以主機為維度,告警資訊裡也都要包含主機資訊(如主機名和IP地址)。但是在容器環境裡,容器的名字和IP地址是會隨著容器漂移而變化的,這樣監控的主體就不能是容器本身,而是應該從容器資源使用的角度來監控。對一個應用來說,容器化改造後就形成了多個微服務,每個微服務後面掛著一個或多個副本。對於應用管理員來說,它需要關心的監控指標包括各服務的副本狀態、副本里容器的狀態、服務的可用性、各容器的資源使用情況等。這些指標應該彙總到一起,以應用的維度對外呈現,並對接告警平臺。