本文主要介绍银行业务的发展趋势、应用架构演进以及在此背景下应用运维面临的挑战和解决方案。文章目录如下,是笔者过去5年作为乙方在多个银行设计和落地应用运维自动化的经验分享,共11000字,阅读时长大约10分钟。
目录
银行业务的发展趋势
01 互联网金融的兴起
随着数字化和互联网技术的发展,用户在“花”、“存”、“贷”等方面都在发生巨大转变:
- 花:短短几年,移动支付已经代替了现金支付和刷卡支付。
- 存:大量的用户资金不断往互联网迁移。
- 贷:用户希望有各种贴合自己使用需求的个性化金融产品。
银行过去标准化的产品模式已经不适应这个时代的需求,而以BATJ为代表的互联网企业,创造了一系列互联网金融产品,满足人们日常生活的各种需求,这些,对商业银行的传统业务形成了跨界渗透和直接冲击,甚至具有一定的替代作用。因此,在支付、理财、信贷方面,银行都面临着互联网行业不同场景的挑战。
02 银行业务的转型与发展
著名美国银行家布莱特•金(BrettKing)在《Bank 2.0 ~ 4.0》中,给出了银行业务发展的历程和展望,从网上银行到智能手机,到物理网点消除,到通过开放实现与其他行业服务的融合形成泛金融服务,到在AI、AR(现实增强)、语音识别等等技术普及于大众的背景下银行将业务嵌入到用户日常生活的体验升级聚焦。
基于种种挑战和对未来的展望,数字化转型以及加速转型成为银行业务的重要发展策略。
政府举措方面,2015年7月,人民银行等十部门发布《关于促进互联网金融健康发展的指导意见》,该指导意见按照“鼓励创新、防范风险、趋利避害、健康发展”的总体要求,提出了一系列鼓励创新、支持互联网金融稳步发展的政策措施,积极鼓励互联网金融平台、产品和服务创新,鼓励从业机构相互合作,拓宽从业机构融资渠道,推动信用基础设施建设和配套服务体系建设。
2018年10月,中国银行保险监督管理委员会发布《中国普惠金融发展情况报告》摘编版,中国财政也加大了普惠金融发展专项资金的投放。
银行信息系统的演进
01 分布式系统的大量应用
面对业务的转型与发展,银行引进分布式系统在所难免:
- 支持普惠金融服务和复杂交易模式,集中式系统的处理能力瓶颈逐渐凸显。
- “跨界融合”、移动金融要求银行业务创新和迭代的节奏要越来越快。
- 银行要不断提升用户体验,就需要利用先进的大数据技术对海量业务数据进行分析。
- 集中化架构的成本问题越来越突出。
- 各种闭源软硬件产品逐步不能满足监管安全可控的要求。
在互联网企业的系统架构模式的启发下,很多银行结合互联网金融战略需求,引进开源软件和技术,开始构建基于x86平台、分布式计算的分布式IT技术体系。
当然,在当前业务现状下,“集中+分布式”的融合架构仍然是大型商业银行的最佳架构选择:
因此,银行保留面向“稳态”的、基于集中式的传统核心,注重安全、稳定,如存款一类账户、借记卡、传统贷款、支付等业务,新建面向“敏态”的、基于分布式互联网核心,支撑海量客户、高并发,适合管理二三类账户、直销银行等业务。
02 银行信息系统混合式架构
继分布式的引进后,银行也开始了对云原生技术的探索,银行的信息系统不可避免的呈现混合式的架构:
而对于银行IT运维来说,不同架构的业务系统,对运维的能力和侧重点要求并不同,运维的要求、难度和压力也在不断的增大。
03 银行数据中心“双活”或“多活”的逐步完善
《中国金融业信息技术“十三五”发展规划》指出,金融机构主动探索系统架构完善升级,继续深入研究数据中心“双活”或“多活”模式应用。
截至目前,大多数银行已经完成了“两地三中心”的建设,并且定期进行灾备演练工作,银行系统的可用性得到进一步提升。
银行应用运维面临的挑战
01 银行应用运维的组织与职责
银行的IT组织很大,部分银行还成立了单独的金融科技公司。本文主要聚焦于银行IT运维组织中的应用运维,分析应用运维如何提升自己的运维水平和方式以适应业务转型、信息系统架构异构化的发展要求。
应用运维的核心职责在于确保应用系统高效稳定运行,同时响应研发、业务人员诉求完成版本变更或上线的业务价值交付,并提供相关的数据和服务给到业务、运营和测试等外部人员。应用运维团队的日常职责及与其他团队的工作交互简要如下:
02 银行应用运维的面临的挑战
由上可见,应用运维团队肩负着业务系统正常运转的重大责任,也同时负担着一系列繁杂琐碎的运维工作。随着银行业务的飞速发展,应用运维团队面临的挑战越来越大:
- 运维难度增加:技术栈复杂,运维技能要求高。从单体、SOA到分布式到云原生架构,从闭源到开源,组成应用系统的技术组件成倍增长,应用运维需要持续增加强化自己的技术能力才能满足运维的基本要求。
- 运维工作增多:线下业务不断线上化,应用数量也在成倍增长。
- 运维效率要求提升:业务发展也带来了大量的更新发布需求,而发布时间窗口并没有延长。部分新业务也对运维提出了持续交付的实时性要求。
- 成本控制越来越严格:不断增加的应用系统占用了大量的IT资源,运维需要通过先进有效的监控和分析手段在性能和成本之间取得一个平衡,并且主动持续优化应用系统性能。
- 运维质量及安全级别要求高:在运维工作复杂度和负担不断增加的情况下,运维如何保持既有运维质量、保障和提升系统可用率,成为应用运维的难题。
运维工作如此繁重,运维人员在横向扩展自己运维技能的同时,还有时间往运维开发、大数据或AI等纵向技术领域转型吗?
另外,应用运维掌握了应用系统的配置、日志、监控等数据,能否效仿一些互联网企业,通过有效的技术手段将这些数据进行统一采集分析,为业务/运营带来增值服务,做到主动运营,从而提升应用运维组织的价值?
03 挑战与机遇
银行应用运维的转型和运维能力提升已经迫在眉睫,但挑战同时也是机遇,业务发展和应用架构演进赋予应用运维的责任越大,应用运维所能创造的价值也就越高,也就越发得到重视。
银行应用运维平台设计建议
01 如何定义应用?
应用,一般可以从两个维度进行解读,一个是狭义的应用,指的是应用程序,也就是由开发人员提供的二进制文件的运行时状态;另一个是广义的应用,指的是应用系统,也就是由一组应用程序和系统资源的有机组合。这里的系统资源泛指支撑应用运行的数据库、os、中间件、负载均衡甚至域名、存储等等。
应用运维,指的是对应用系统的运维,既包含对应用程序的发布、变更等运维工作,也包含对应用系统整体的健康巡检、监控等运维工作。
02 做好银行应用运维的建议
- 效率提升:建设应用运维自动化系统,将所有能自动处理的工作全部自动化掉,如发布、巡检、变更、启停、数据查询与提取、银行跑批统一调度等等。彻底消灭重复性人工操作,释放运维人员。
- 质量提升:面向稳态和敏态业务,以应用为中心建设CMDB,从多个维度完成对应用系统的监控,及时发现应用系统的问题和隐患,并基于自动化手段快速处理问题,提升应用系统可用性。另外,自动化推广的同时也会带来操作规范的梳理和标准化,如发布流程流程标准化、灾备切换流程标准化,从而减少人工操作失误。
- 成本控制:建设容量分析与管理系统,为系统性能优化提供指导,提升资源使用率,控制资源成本。
- 组织转型:以上目标的实现,不太可能通过一次性外采一个功能齐全、场景完美契合的应用运维平台就能解决,是需要企业运维人员也持续投入到平台上的新场景研发来满足个性化或增长性的运维需求。在组织转型这一块,可以参考Google SRE组织架构,让运维团队中50%的人员从事着运维工具的开发。
- 智能化: