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