張君:大家好,我在國泰產(chǎn)險負(fù)責(zé)保險中臺運(yùn)維工作,同時也是云原生在國泰的推廣者,今天和大家一起分享的是“互聯(lián)網(wǎng)金融管理場景下的云原生運(yùn)維增效之道”。
國泰產(chǎn)險是在2008年8月在國內(nèi)成立的第一家產(chǎn)險公司,2016年7月引進(jìn)螞蟻金服作為戰(zhàn)略投資者,2017年中旬啟動鳳凰涅磐的項目,背后做的就是IDC上云工程,整個年度保費(fèi)增加102%,其中互聯(lián)網(wǎng)業(yè)務(wù)占比68.5%,2018年中啟動保險中臺戰(zhàn)略,也有引入微服務(wù)架構(gòu),2018年底整個保費(fèi)上漲195%,其中互聯(lián)網(wǎng)業(yè)務(wù)占比93%。2019年初公司提出科技賦能業(yè)務(wù)、降費(fèi)增效業(yè)務(wù),3月底保險中臺上線,目前中臺處于產(chǎn)品穩(wěn)定迭代周期,賦予了國泰很強(qiáng)的實施業(yè)務(wù)的能力,更多日結(jié)業(yè)務(wù)也在往實時業(yè)務(wù)轉(zhuǎn)型。
國泰產(chǎn)險在生態(tài)的產(chǎn)品也是比較豐富的,帳戶安全險、健康險和意外險等等,產(chǎn)業(yè)合作伙伴包括哈羅、餓了么、飛豬和小米等等,歐洲服務(wù)器,2018年中旬啟動保險中臺計劃的時候,整個技術(shù)部有了這樣的訴求,我們要有互聯(lián)網(wǎng)化的交付速度,敏捷響應(yīng)業(yè)務(wù)的需求,同時會有更大規(guī)模的微服務(wù)運(yùn)維,大規(guī)模的微服務(wù)給運(yùn)維帶來了很多難題,比較期望通過容器解決環(huán)境標(biāo)準(zhǔn)化、資源調(diào)度、業(yè)務(wù)互聯(lián)等等問題。這些也有一些歷史背景,不是說上云就上云,也有一部分業(yè)務(wù)是在虛擬機(jī)里面跑的。
我們選擇這樣一個公有云平臺支撐業(yè)務(wù)的時候就會有這樣的要求,除了按照經(jīng)典運(yùn)維發(fā)布的產(chǎn)品化能力以外也要有容器的產(chǎn)品,除了已有的K8S技術(shù),更強(qiáng)的Serverless和Mesh產(chǎn)品也要有比較完善的能力,同時要有完善的監(jiān)控體系。目前國泰產(chǎn)險在云上面已經(jīng)有了6套KOS集群,可以滿足不同研發(fā)測試和上下游需求,其實每個環(huán)節(jié)都不僅僅是90個應(yīng)用,已經(jīng)有100多個應(yīng)用了。
選擇公有云供應(yīng)商的時候,剛才也有同學(xué)提到SOFA Mesh,包括中間件和分布式數(shù)據(jù)庫的需求,我們就有找到螞蟻金融云,主打金融分布式解決方案,并且是做FaaS方案支撐。SOFA Stack是螞蟻金服自主研發(fā)的金融及分布式框架,包含各個需要的組件,其中比較常用的包括SOFA IDC、SOFA Mesh,SOFA Stack Cafe就是螞蟻金融云的容器產(chǎn)品。
為什么我們會選擇螞蟻金融云的SOFA Stack Cafe?我們選擇某種技術(shù)方案的時候,考慮落地持續(xù)運(yùn)營的情況下不只是考慮產(chǎn)品本身,比如選擇K8S,對比公有云產(chǎn)品的時候就要做一些差異化的比較,社區(qū)版本的能力基礎(chǔ)上Cafe提供的是這樣的能力。
首先是簡化落地,K8S本身的概念比較多,Cafe在簡化落地方面也下了功夫,具體就是通過外部UI的形式定制化、流程化地把我們要部署在K8S上面的原生資源具象化,每一個資源都是有很多特定的配置選項,這種成本會非常之高。
然后是日志采集,我們知道最佳實踐包括兩種:一種就是把更加云原生的業(yè)務(wù)改造,比如MQ等等存儲,通過后端再抓取到日志平臺當(dāng)中。另一種就是在沒有做云原生改動的應(yīng)用,一般來說就是部署Sofa Stack。
我們在做選型之前其實是有一段時間的探索的,這些經(jīng)驗告訴我們,每個應(yīng)用上面都配置組件的話目錄繁多,每個目錄都有不同的日志文件,我們要配置很復(fù)雜的收集規(guī)則,應(yīng)用數(shù)量增大以后管理的工作也會非常繁重,管理成本也會非常之高。我們和這些團(tuán)隊接觸之初就提出搜集創(chuàng)想,終端用戶只需要配置一個搜集日志的目錄以后就什么都不用管了,Cafe團(tuán)隊通過兩個迭代,幫助我們實現(xiàn)這樣一個創(chuàng)想,有了這樣的功能以后現(xiàn)在回過頭來看各個公有云的產(chǎn)品就會發(fā)現(xiàn)大家都有這樣的能力,之前沒有人具備這樣的能力。
原地升級是Cafe一個比較有趣的功能,有些場景只能針對IP和網(wǎng)段來做安全限制,這種情況下可以用到原地升級,也有支持做發(fā)布變更的特性。
應(yīng)用管理就是通過外部UI定制化和流程化,原來這種晦澀的云原生資源屏蔽,終端用戶可以延續(xù)原來的經(jīng)典發(fā)布習(xí)慣,可以四處發(fā)布部署自己的服務(wù)。我們剛才說的日志采集也是通過應(yīng)用管理的入口去做編輯配置,包括上面的日志采集也是通過應(yīng)用管理來做。
原生升級現(xiàn)在我們已經(jīng)在大規(guī)模使用,落地場景當(dāng)中還要有最后一公里的代碼發(fā)布部署,社區(qū)版本的K8S并沒有持續(xù)升級的能力,一般都是需要用戶自己搞定,我們希望Cafe團(tuán)隊提供一個最簡單、最有效的持續(xù)提升的方案,最后我們采用的是雙重構(gòu)建的形式,直接從代碼倉庫拉代碼,再到構(gòu)建運(yùn)行邏輯框架,非常簡單地解決我們最后一公里的難題。