謝偉
摘要:文章在分析金融行業(yè)面所臨的挑戰(zhàn)的基礎(chǔ)上,對容器技術(shù)在金融行業(yè)的應(yīng)用現(xiàn)狀進行了探討,同時也分析了容器對金融行業(yè)IT演進的作用,為容器在金融行業(yè)的應(yīng)用提供了一些探索性的參考。
關(guān)鍵詞:容器 云計算 金融行業(yè)
一、前言
(一)傳統(tǒng)金融行業(yè)面臨的挑戰(zhàn)
在“互聯(lián)網(wǎng)+”的時代背景下,中國金融IT面臨一場規(guī)??涨暗霓D(zhuǎn)型大潮。傳統(tǒng)的IT流程、軟件架構(gòu)和運維模式已經(jīng)無法滿足業(yè)務(wù)發(fā)展需要和競爭形態(tài)的轉(zhuǎn)變。傳統(tǒng)金融機構(gòu)紛紛考慮未來的IT開發(fā)機制、IT架構(gòu)的變革。
首先,互聯(lián)網(wǎng)對傳統(tǒng)金融IT帶來的沖擊就是應(yīng)用快速上線的要求。在互聯(lián)網(wǎng)+的轉(zhuǎn)型過程中,金融行業(yè)IT建設(shè)的關(guān)鍵變成了如何及時響應(yīng)業(yè)務(wù)需求、如何快速研發(fā)上線新的產(chǎn)品,在這種現(xiàn)狀下,傳統(tǒng)金融業(yè)IT架構(gòu)已經(jīng)變成應(yīng)用快速交付的瓶頸。
其次,傳統(tǒng)金融企業(yè)應(yīng)用大多是單體式的,其擴展方式大多基于硬件配置的縱向擴展,其典型特點為體量大、部署慢、難升級、難擴展。在傳統(tǒng)的金融業(yè)務(wù)中,業(yè)務(wù)壓力可控、有規(guī)律,采用單體架構(gòu)也能基本適應(yīng)業(yè)務(wù)需求。但互聯(lián)網(wǎng)時代帶來了新的挑戰(zhàn),如搶紅包、秒殺等應(yīng)用,其特點是隨機性和海量瞬時流量。單體式應(yīng)用和縱向擴展不再能夠支持此種場景,而只能擁抱云原生、微服務(wù),依靠彈性擴展能力才能滿足互聯(lián)網(wǎng)業(yè)務(wù)的需求。
再次,傳統(tǒng)金融企業(yè)IT系統(tǒng)中開發(fā)測試運行環(huán)境割裂,無法使用現(xiàn)代互聯(lián)網(wǎng)技術(shù)中的A/B測試、藍綠部署、灰度發(fā)布等功能,難以應(yīng)對瞬息萬變的線上環(huán)境變化。
最后,金融企業(yè)IT系統(tǒng)對業(yè)務(wù)連續(xù)性和可用性要求嚴苛。而“互聯(lián)網(wǎng)+”卻是在不斷變化中尋求發(fā)展。如何在“變化”和“穩(wěn)定”兩者間進行平衡對系統(tǒng)的運維提出了巨大的挑戰(zhàn)。
(二)容器技術(shù)簡介
在新涌現(xiàn)的大批先進技術(shù)中,以Docker為代表的容器技術(shù)受到了極大關(guān)注。容器技術(shù)最顯著的特點是容器中不僅包含了應(yīng)用本身,還包括了應(yīng)用運行所需的環(huán)境,從而能夠在不同的環(huán)境中遷移并運行,做到一次構(gòu)建、多次部署。另外,容器技術(shù)也是一種相對輕量級的虛擬化技術(shù),能夠做到秒級啟動和停止?;谶@兩點主要特性,容器技術(shù)有著解決傳統(tǒng)金融行業(yè)IT所面臨問題的先天性優(yōu)勢。
Docker最初是dotCloud公司創(chuàng)始人Solomon Hykes在法國期間發(fā)起的一個公司內(nèi)部項目,它是基于dotCloud公司多年云服務(wù)技術(shù)的一次革新,并于2013 年3月以Apache 2.0授權(quán)協(xié)議開源,主要項目代碼在GitHub上進行維護。
Docker使用Google公司推出的Go語言進行開發(fā)實現(xiàn),基于Linux內(nèi)核的cgroup,namespace以及AUFS類的Union FS等技術(shù)對進程進行封裝隔離,屬于操作系統(tǒng)層面的虛擬化技術(shù)。由于隔離的進程獨立于宿主和其它的隔離的進程,因此也稱其為容器。
Kubernete是一個全新的基于容器技術(shù)的分布式架構(gòu)領(lǐng)先方案。Kubernetes(k8s)是Google開源的容器集群管理系統(tǒng)。在Docker技術(shù)的基礎(chǔ)上,為容器化的應(yīng)用提供部署運行、資源調(diào)度、服務(wù)發(fā)現(xiàn)和動態(tài)伸縮等一系列完整功能,提高了大規(guī)模容器集群管理的便捷性。
如今Kubernetes已經(jīng)成為容器編排乃至容器技術(shù)的事實標準,幾乎所有的容器產(chǎn)品均基于Kubernetes構(gòu)建。Kubernetes也是云原生技術(shù)的核心和基石,支撐了DevOps、微服務(wù)等應(yīng)用場景。
二、容器在金融行業(yè)的應(yīng)用現(xiàn)狀
(一)容器技術(shù)的應(yīng)用進展
超過三成已使用云計算技術(shù)的金融機構(gòu)已將容器技術(shù)用于生產(chǎn)環(huán)境或測試環(huán)境。在調(diào)查中,有14.91%的金融機構(gòu)已經(jīng)將容器技術(shù)投入生產(chǎn)環(huán)境;20.50%的金融機構(gòu)僅用于測試環(huán)境。
(二)容器技術(shù)的應(yīng)用需求
能夠?qū)崿F(xiàn)快速部署、有助于微服務(wù)架構(gòu)的實現(xiàn)是金融機構(gòu)應(yīng)用容器技術(shù)的主要原因。已經(jīng)應(yīng)用容器技術(shù)的金融機構(gòu)中,出于能夠快速部署應(yīng)用的目的而應(yīng)用容器技術(shù)的金融機構(gòu)最多,占比 67.8%;其次,47.2%的金融機構(gòu)認為有助于微服務(wù)架構(gòu)的實現(xiàn)是金融機構(gòu)應(yīng)用容器技術(shù)的原因;另外,支持快速彈性擴容(43.4%)以及管理便利(41.0%)也是金融機構(gòu)應(yīng)用容器技術(shù)的重要推動力。
(三)容器運行技術(shù)的選擇
Docker是金融機構(gòu)主要選擇的容器運行技術(shù)。已經(jīng)應(yīng)用容器技術(shù)的金融機構(gòu)中(包括測試環(huán)境),有 90.7%選用了 Docker 技術(shù),有 9.3%使用了 RKT 技術(shù)。
(四)容器編排技術(shù)的選擇
目前金融機構(gòu)主要應(yīng)用的容器編排技術(shù)是 Kubernetes 和 Mesos/DCOS。其中,Kubernetes 占比 39.18%,Mesos/DCOS 占比 36.08%。另外, CloudFoundry(18.56%)也是重要的容器編排技術(shù)。
值得注意的是Kubernetes使用處于快速上升階段,預計會完全替代其余編排技術(shù),成為事實標準。
三、容器助力金融行業(yè)IT持續(xù)演進
《云計算技術(shù)金融應(yīng)用規(guī)范技術(shù)架構(gòu)》中對容器的建議如下:
容器服務(wù)為云服務(wù)使用者提供輕量級的應(yīng)用封裝、管理和運行解決方案。容器服務(wù)的功能要求如下:
——應(yīng)支持不同應(yīng)用的邏輯隔離;
——應(yīng)支持容器鏡像管理;
——應(yīng)支持容器網(wǎng)絡(luò)組網(wǎng);
——應(yīng)支持完善的容器調(diào)度伸縮和應(yīng)用集群管理功能;
——宜支持界面化容器編排;
——宜支持基于多租戶的數(shù)據(jù)和權(quán)限管理機制。
針對金融行業(yè)IT在新時代面臨的新挑戰(zhàn),通過容器技術(shù)支撐三大場景:應(yīng)用管理、微服務(wù)、DevOps。
容器云:容器云是基于Kubernetes+docker的現(xiàn)代容器平臺,提供容器集群和容器實例的雙模容器基礎(chǔ)設(shè)施,全面支撐金融行業(yè)IT的應(yīng)用運行場景;通過應(yīng)用和節(jié)點二級的彈性擴容方案,輕松應(yīng)對瞬時流量和持續(xù)流量增長;容器云底層適配多種IaaS和裸機場景,在云化與傳統(tǒng)資源上都能運行;底層支持原生多租戶SDN,并能通過開放插件支撐第三方SDN,實現(xiàn)網(wǎng)絡(luò)統(tǒng)一調(diào)度,統(tǒng)一管理。
三大應(yīng)用場景:
應(yīng)用管理:提供應(yīng)用一站式生命周期管理,包括應(yīng)用的:網(wǎng)絡(luò)、存儲、日志、監(jiān)控、調(diào)度、路由和權(quán)限管理,全面解決由單體式應(yīng)用向分布式微服務(wù)應(yīng)用演進中的問題。同時,通過可視化的監(jiān)控和日志功能,實現(xiàn)數(shù)據(jù)化運維,簡化運維難度,保障業(yè)務(wù)持續(xù)運行。
DevOps:傳統(tǒng)應(yīng)用開發(fā)模式遺留下來的發(fā)布周期長、產(chǎn)品迭代緩慢、測試開發(fā)環(huán)境不一致等問題,都可以通過DevOps得到解決。而容器云下的DevOps更是可以在容器技術(shù)的加持下,使得整個過程更加快速、輕量和靈活。
微服務(wù):傳統(tǒng)金融行業(yè)IT架構(gòu)下,應(yīng)用的升級回滾、藍綠發(fā)布、A/B測試等功能需要大量的定制化配置和開發(fā),無法做到靈活的配置,因而也無法大范圍推廣。容器云提供的微服務(wù)治理功能,可以實現(xiàn)標準化的微服務(wù)治理,通過簡單配置快速實現(xiàn)內(nèi)容路由、負載均衡、灰度發(fā)布、故障注入、A/B測試等功能。
四、結(jié)束語
在“互聯(lián)網(wǎng)+”的時代背景下,傳統(tǒng)金融機構(gòu)已經(jīng)感受到來自內(nèi)外部的新需求,自身IT體系架構(gòu)的不足也逐漸顯現(xiàn);容器技術(shù)作為云計算發(fā)展的新階段正改變著IT服務(wù)交付的方式,更影響著云計算的未來,而金融行業(yè)對系統(tǒng)的可靠性要求要遠高于互聯(lián)網(wǎng)企業(yè),目前將容器技術(shù)應(yīng)用于生產(chǎn)環(huán)境的金融機構(gòu)比較少,而是更多應(yīng)用于開發(fā)測試,但就像虛擬機一樣,之前也只是應(yīng)用于開發(fā)測試,如今已經(jīng)大范圍應(yīng)用于生產(chǎn)系統(tǒng),所以傳統(tǒng)金融機構(gòu)應(yīng)在充分調(diào)研和測試新興互聯(lián)網(wǎng)技術(shù)的基礎(chǔ)上,積極地去擁抱它們,一方面克服自身體系架構(gòu)的不足,降低成本,另一方面努力適應(yīng)外部快速變化的需求。
(作者單位:江西農(nóng)商銀行信息科技部)