乐趣区

关于金融科技:一文读懂金融行业如何做云原生

作者:许欣芃

过来两年,金融行业 IT 人员对“云原生”充斥了纳闷甚至误会。咱们始终在不同场合听到对于云原生的各种不同定义

有人说,云原生就是 Kubernetes 和容器;也有人说,云原生就是“弹性可扩大”;还有人说,云原生就是 Serverless。

其实云原生自身就是“哈姆雷特”,因为每个人的了解都不一样。

CNCF 和 kubernetes 技术生态定义的云原生概念中指出云原生的实质是一系列最佳实际的联合。换句话说云原生为实践者指定了一条低心智累赘,可能以可扩大、可复制的形式最大化地施展云的价值的最佳门路。

所以, 云原生该当是一种“以利用为核心”的思维。

何为云原生利用

目前,云原生技术已被大家认可。那么何为云原生技术?

首先,所有技术都是为业务服务,云原生技术诞生的背地也是业务驱动。随着软件的倒退,业务越来越简单、宏大,但软件用户却心愿能够失去更快的需要响应、更稳固的运行状态,所以互联网企业开始大量应用云原生技术。

云原生次要围绕着 3 个指标:减速翻新、降低成本、提高效率。 基于云原生技术开发的利用就是云原生利用,那么云原生利用就意味着对立:

  • 对立架构规范: 通常以微服务架构进行服务开发,服务之间应用规范的 API 契约进行通信。松耦合的架构形式会加重因需要变更导致的零碎迭代老本,并放慢交付速度;
  • 对立交付规范: 规范容器化的打包形式实现了真正的利用可移植性,不依赖于特定的基础架构(虚拟机,混合云等)。而容器基于过程粒度的资源应用形式,也会升高零碎的资源开销;
  • 对立流程规范: DevOps 强调软件全研发周期的治理,从软件需要到最终生产的全流程的改良和优化,而后联合对立工具链,实现文化、流程、工具的一致性,实质解决的是放慢软件交付速度的同时,晋升软件产品品质。

金融行业的利用是否须要云原生的革新?

传统的金融软件架构存在很多难以解决问题。在巨石型的利用中,每个零碎数据都是一座孤岛,没有接口能够对外服务,如果客户有翻新需要想实现多个零碎配合,简直不可能。各业务零碎采纳的交付形式部署装置的硬件规范不一,导致金融机构运维超级简单,成千上百台机器以及上百个利用须要一个宏大运维团队撑持。金融软件的交付周期目前是按月交付的,研发流程更多还是传统的瀑布或者麻利形式,导致了很多客户需要被延误。

为满足用户疾速多变的投资理财诉求,金融行业的软件架构降级曾经火烧眉毛,云原生架构则成为最佳抉择。

云原生利用演进门路

作为金融行业全畛域的软件提供商,恒生所有业务零碎在过来两年全面往云原生架构降级,积攒了不少教训。

总体而言,云原生利用演进面临着三大难题:微服务拆分、容器化交付、DevOps 革新。

微服务拆分之路

从单体利用到 SOA 再到微服务,软件架构始终在谋求不同的拆分维度。微服务架构更强调的是依照业务能力垂直架构划分,即每个微服务实现一种特定性能,能够独立运行、独立部署。

微服务拆分的根据个别为两个准则:一是业务独立性,维持微服务业务外部的权责繁多准则;二是团队自主性,维持微服务团队外部的地沟通老本准则。

业务层面的逻辑梳理,能够依据团队成员大小以及团队间的沟通老本来测验业务拆分是否正当。个别倡议一个微服务开发团队 10 人左右比拟适合,这样能够疾速迭代用户的需要。

想把微服务拆分做得非常正当往往比拟艰难。拆分是一个继续工作,随着业务上线,通过降级部署等运维形式就能够校验微服务划分是否正当。

以恒生的理财销售零碎为例,零碎的第一轮拆分包含了交易、领取结算、账户、清理等 7 个微服务,当业务零碎在客户端上线时发现局部拆分还是过大,影响到了很多业务降级,于是进行了第二轮拆分迭代。第二轮拆分把领取结算拆成独立领取微服务,把清理拆为交易清理以及资金清理等。 依照实践经验来看,微服务的拆分一开始能够粗粒度一些,随着生产校验的推动能够逐渐细化和合理化。

最近两年,另外一个与微服务拆分的相干的理念开始火起来了,这就是起源于 2004 的 DDD(畛域驱动设计)。目前业内偏向于认为 DDD 是微服务划分的终极解决办法,也是托了微服务的福,DDD 才有风行的土壤。

微服务其实是一种架构格调,而 DDD 是一种思维,微服务定义的九大外围特质跟 DDD 的准则是完全一致的,这在某种程度上也是业界违心在微服务上下文中采纳 DDD 办法和实际的起因

目前曾经有很多 DDD 如何联合微服务的技术文章和演讲开始风行,置信有朝一日 DDD 能成为真正微服务拆分的解决之道。

容器化交付之路

IT 基础设施往云上迁徙是大势所趋。在云平台竞争强烈的市场环境里,在金融机构对老本、厂商锁定的担心下,蕴含专用云、公有云和本地部署组合的混合云诞生了。

混合云时代,容器依附本身标准化、一次构建随处运行的能力开始大行其道。

金融机构的交付形式往往存在重大不对立的问题,在不下于几十家开发商产品提供的状况下,每种软件的装置部署都是不一样的规范和操作形式,容器就能够很好的解决这个问题。

容器相似于集装箱,金融机构只须要部署好混合云底座就具备了寄存集装箱的根底,而后所有开发商依照对立装置集装箱的形式提供交付。此时金融机构的运维人员进行简略列举排布即可,降级的时候进行简略替换即可。这将大大减少金融机构机房内运维人员数量,就好比一个码头,全是自动化集装箱卸载、排放、运输、调度,实现真正的智能运维。

如果通过容器把金融机构的机房变成一个全智能的“码头”,对容器云平台须要做好以下几点:

  • 对立的交付标准。针对容器交付要有肯定的标准要求,譬如操作系统版本,安全漏洞、中间件版本等。这些根本要求是所有交付物要进入这个“码头”须要首先做到的;
  • 对立的编排标准。针对所有容器编排,造成一个利用要有对立的束缚和要求,譬如:配置核心各自分区束缚,日志核心对立采集要求,编排文件格式要求等,这是所有容器能够主动运行运维的根底;
  • 对立的调度治理界面。所有容器须要依照利用维度去治理,所有利用中用到的技术中间件须要通过对立的 PaaS 平台治理和获取。业务运维人员须要从利用视角展现治理界面,包含:指标监控告警、应急切换操作、日志查看操作等。

DevOps 革新之路

DevOps(Development 和 Operations 的组合词,开发即运维)波及整个软件生命周期中的继续开发、继续测试、继续集成、继续部署和继续运维与反馈,目标是实现短周期内的高质量软件开发与交付,确保软件的长久稳固,为企业带来经营能力和效力的继续晋升。

实际上,DevOps 是一种实际,更是一种文化理念,它强调的是单干、自动化、精益、度量、共享。 正是依靠微服务架构以及容器化的交付,DevOps 才变得更加流行起来。

重塑原来的软件研发交付流程和软件研发过程次要体现在研发交付流程、参加角色的重塑。DevOps 强调依照需要进行继续的集成、测试、交付、部署、监控全自动化化流水线,通过每个环节设置品质卡点,确保交付效率与品质。此外,所有角色的对立操作视图、一站式体验、数据全副汇总买通,提供全研发链路的直观展现以及每个过程数据汇总剖析,提供后续改良的可能性也是 DevOps 强调的内容。

除了流程的调整梳理之外,DevOps 会进一步要求通过工具链的对立来实现流程的固化和落地。工具对立的过程可借助开源也能够购买商业产品,但外围是须要通过对立视图以及流水线的引擎来实现交互以及数据对立。

恒生云原生利用平台

恒生公司业务零碎的云原生革新开始于 2015 年,经验这样几个阶段:

2017 年,技术平台选型对立的阶段,实现了 JRES3.0 技术中台的确定;2019 年,业务零碎实现微服务拆分,外围重点产品全副革新实现上线;2019 年,实现对所有金融业务中共用的业务模块提取,进一步倒退造成业务中台、数据中台。

至此,恒生整体的大中台架构就真正造成。 从微服务拆分到中台造成,恒生公司也实现了对应的组织结构调整。

2020 年恒生开发者大会上,恒生推出了自主研发的面向金融畛域数字化业务发展的基础设施——LIGHT

LIGHT 旗下的 Light-CORE 是恒生云原生 PaaS 平台,提供开箱即用的组件服务,反对虚机容器对立的公布体验,主打轻便、灵动、简略。

在规模性上,Light-CORE 反对大规模节点集群主动治理,反对异地多活解决方案;在兼容性上,Light-CORE 反对各类异构操作系统、芯片兼容,虚机容器双模运行,公有云、私有云、混合云同步接入;在组件服务生态上,Light-CORE 反对各类金融中间件及开源中间件开箱即用,按需申明应用,无需关注底层运维细节。


作者介绍:许欣芃

恒生公司平台业委会负责人、研发核心总经理。十多年的金融行业技术平台的设计开发教训,参加交易、危险、清理等金融业务零碎设计和研发,目前负责恒生公司对立技术中台的研发管理工作。对云原生技术有比拟深刻的钻研,对微服务、容器、Devops 相干技术有肯定实战经验。

退出移动版