云原生加速落地,金融行业应用上云来打样儿

2024-01-28 07:32

本文主要是介绍云原生加速落地,金融行业应用上云来打样儿,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

图片

5月26日,由中国信息通信研究院主办,云计算开源产业联盟、中国信通院云原生产业联盟、云原生计算基金会(CNCF)支持的“2021年云原生产业大会”在京召开。大会以“原生蓄力,云领未来”为主题,云原生产业生态企业代表、技术专家等共聚一堂,探索云原生发展方向,分享云原生应用落地实践经验。BoCloud博云受邀参加在云原生基础设施论坛上分享了金融行业应用上云的最佳实践。

 

 

1 某大型证券机构容器云项目需求与解决方案

 

2018 年某大型证券机构开始与博云合作做一些容器的技术储备和试点,解决一些基础的容器云的应用场景。到2020年,随着我们容器云产品 BeyondContainer 的升级,以及与自有微服务平台的整合,从资源管控和应用监控,实现了整体的统一应用管理,例如包括基于租户级的管理,监控日志、优化,基于微服务的监控,APM、服务治理,熔断容错,以及 API 统一的文档管理等。

 

针对该客户对数据中心高可用、网络访问不通、注册中心、服务治理、APM、平台易用性、机器学习平台等需求,我们提供了以下解决方案:

 

  • 数据中心高可用:博云容器云支持多集群,不同集群部署在不同的数据中心,对可用性要求高的核心业务进行多集群部署。

  • 网络访问不通:采用博云自研 Fabric Underlay网络,基于 OVS 的二层网络,从而实现了内外网互通。

  • 注册中心:为客户提供了 consul 的高可用方案,可随时替代 eruka。

  • 服务治理:实现服务治理能力,如服务熔断、降级、限流,负载均衡等。

  • APM:产品通过 Skywalking 实现应用性能监控。

  • 平台易用性:从场景化角度考虑来优化操作流程,更简化服务发布流程,并提供友好提示。

  • 机器学习平台:支持 GPU,并实现了权限控制,可做到二次调用 API。

 

因此,通过对该客户的痛点和需求分析,我们帮助它进行了架构重构,通过“三视角、四层次、一闭环”的建设方式满足客户的根本需求。

 

三视角

1. 租户视角关注应用管理。

2. 平台管理员视角关注基础设施资源。

3. 标准化交付视角关注应用服务的标准化交付流程和支撑工具。

 

 

四层次

1. 基础设施资源层:实现基础设施资源的统一管控,包括计算资源、网络资源、存储资源。

2. 资源调度层:采用 Kubernetes 并扩展其能力,实现容器调度和弹性管理。

3. 平台层:支撑业务应用的功能实现,包括日志、在线登陆等功能。

4. 业务应用层:是指具体业务应用实现,基于应用系统服务以及相应的实例,以业务维度做一个展示。

 

 

一闭环

租户视角容器云平台更多是定位于一个应用管理和运营的平台,我们把应用的开发阶段和流程分离,作为一个持续集成的组件,以镜像仓库为媒介,完成持续集成和持续部署的衔接。

 

图片

 

针对于 DevOps 的部分,我们通过镜像仓库的方式实现闭环。容器平台直接通过镜像仓库拉取出来,形成一个应用的闭环。

 

该客户的实际网络部署情况分为核心业务区、一般业务区、不同业务区三个不同的业务区,不同的业务区我们会有多个不同的容器集群,通过网络统一打通,把不同区域的集群统一纳管,通过一个平台完成多平台、多集群的统一纳管。

 

图片

 

通过选用我们自研的 BeyondFabric 网络方案,以非常小的网络资源消耗,实现控制平面和管理平面的双平面流量分离。我们通过一个网卡实现所有管理数据的流向,同时在业务层面,通过另外一个网卡去实现业务的具体流量分离,从而实现管理和业务数据的分离,并且不会影响我们日常所有的运维和生产环境。

 

图片

 

上面这张图左边是我们容器内外网互通的 Demo 展示,在客户的实际情况中,资源分为容器化和非容器化,非容器化的资源包括数据库及其他接口组件。因此,在业务系统中,所有的注册是放在容器系统以外,数据库也是放在外面,通过这种方式实现对于整个服务总体的注册和数据的存放,然后通过我们 BeyondFabric 容器网络方案完成容器内外网的互访和直通。右图是 Fabric 网络的实际图,基于虚拟的交换机,通过与实际交换机的网扩做一个串口,就可以直接实现业务流和数据流的访问。

 

图片

此外,我们通过简易的流水线实现了所有容器镜像的自动化打包,CI 流程基于Jenkins 持续集成,将产出物镜像推送至容器平台。同时,基于微服务治理的功能,实现整体业务系统中所有微服务调用关系的自动发现。通过动态生成服务间链路拓扑图、系统间链路拓扑图,实现链路监控,展示最近一段时间内(可设置统计时长),服务间访问关系图,即应用调用关系拓扑结构。并通过节点颜色展示其可用性,点击节点方块高亮展示与该服务相关联的拓扑图,并可查看该服务的性能数据。

 

对于配置中心,所有服务的配置通过携程 Apollo 获取,配置中心集成了Apollo 中的全部功能,支持多环境、多集群、多 namespace 的管理。配置项具有发布、回滚、历史记录和灰度版本的功能,实现了多集群、多配置稳健的管理。

 

2 应用上云五步法

通过为众多客户提供应用上云的建设落地,我们总结出了一套自己的方法论,即上云五步法。

图片

首先对用户的环境和应用系统情况进行调研。调研之后,基于应用的一些特性,我们哪些部分和模块适合容器化给出相应的建议,并制定相应的上云计划,以及提供模拟上云的演练和测试,包括一些备份回滚的方案等。调研评估与方案设计之后,我们提供对各应用团队、运营团队针对平台容器化之后的运维与管理方式的充分培训,让使用者对整个平台更加熟悉,做到后期运维更加顺畅。

 

 

 

 

3 建设效果
 

综上所述,在该客户应用上云项目中,我们基于容器云平台,采用云原生思想和微服务架构,实现业务应用的微服务化、轻量化、容器化、敏捷化、弹性伸缩以及开发、测试、生产环境一致性,开发运维一体化,满足提高业务迭代效率,支撑敏捷开发、快速上线部署的需求。

 

客户的一些核心应用,例如统一的服务中心、客户中心、OTC 业务,都实现了容器化,POD 实例达到 2500+ 规模,高性能、弹性敏捷的容器云平台可支撑千万级用户同时访问,支撑整个业务系统的可靠运行。

 

从技术角度而言,初步搭建容器云平台,建立统一的服务托管、部署、运维平台,逐步建立并完善统一的权限管理体系、授权认证体系、服务配置治理体系、日志收集分析体系、监控告警预警体系等,实现公司内统一的应用服务部署运维监控生态系统。

 

从管理角度而言,通过引入 DevOps理 念和建设容器云平台,根据公司实际逐步建立开发、测试、运维等适合自身发展需要的流程,定义相关数据、业务、技术等标准、规范,实现开发、测试、生产环境的一致性,提升敏捷开发的能力,提升自动化运维的水平。

 

从业务角度而言,使用容器云平台,提供快速业务原型的开发以支持业务变化需求,让业务人员更早的介入,熟悉使用并有效持续反馈,形成业务和开发的良性循环。

 

2019年,该证券机构客户容器云建设项目荣获 IDC 金融行业技术应用场景——最佳创新奖,并且该案例被选入 IDC《金融机构 IT 转型在云化方面的实践与探索》研究报告。

 

这篇关于云原生加速落地,金融行业应用上云来打样儿的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/652923

相关文章

Python结合PyWebView库打造跨平台桌面应用

《Python结合PyWebView库打造跨平台桌面应用》随着Web技术的发展,将HTML/CSS/JavaScript与Python结合构建桌面应用成为可能,本文将系统讲解如何使用PyWebView... 目录一、技术原理与优势分析1.1 架构原理1.2 核心优势二、开发环境搭建2.1 安装依赖2.2 验

Java字符串操作技巧之语法、示例与应用场景分析

《Java字符串操作技巧之语法、示例与应用场景分析》在Java算法题和日常开发中,字符串处理是必备的核心技能,本文全面梳理Java中字符串的常用操作语法,结合代码示例、应用场景和避坑指南,可快速掌握字... 目录引言1. 基础操作1.1 创建字符串1.2 获取长度1.3 访问字符2. 字符串处理2.1 子字

SpringShell命令行之交互式Shell应用开发方式

《SpringShell命令行之交互式Shell应用开发方式》本文将深入探讨SpringShell的核心特性、实现方式及应用场景,帮助开发者掌握这一强大工具,具有很好的参考价值,希望对大家有所帮助,如... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定

SpringBoot应用中出现的Full GC问题的场景与解决

《SpringBoot应用中出现的FullGC问题的场景与解决》这篇文章主要为大家详细介绍了SpringBoot应用中出现的FullGC问题的场景与解决方法,文中的示例代码讲解详细,感兴趣的小伙伴可... 目录Full GC的原理与触发条件原理触发条件对Spring Boot应用的影响示例代码优化建议结论F

MySQL 分区与分库分表策略应用小结

《MySQL分区与分库分表策略应用小结》在大数据量、复杂查询和高并发的应用场景下,单一数据库往往难以满足性能和扩展性的要求,本文将详细介绍这两种策略的基本概念、实现方法及优缺点,并通过实际案例展示如... 目录mysql 分区与分库分表策略1. 数据库水平拆分的背景2. MySQL 分区策略2.1 分区概念

Spring Shell 命令行实现交互式Shell应用开发

《SpringShell命令行实现交互式Shell应用开发》本文主要介绍了SpringShell命令行实现交互式Shell应用开发,能够帮助开发者快速构建功能丰富的命令行应用程序,具有一定的参考价... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定义S

C语言函数递归实际应用举例详解

《C语言函数递归实际应用举例详解》程序调用自身的编程技巧称为递归,递归做为一种算法在程序设计语言中广泛应用,:本文主要介绍C语言函数递归实际应用举例的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录前言一、递归的概念与思想二、递归的限制条件 三、递归的实际应用举例(一)求 n 的阶乘(二)顺序打印

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

Android Kotlin 高阶函数详解及其在协程中的应用小结

《AndroidKotlin高阶函数详解及其在协程中的应用小结》高阶函数是Kotlin中的一个重要特性,它能够将函数作为一等公民(First-ClassCitizen),使得代码更加简洁、灵活和可... 目录1. 引言2. 什么是高阶函数?3. 高阶函数的基础用法3.1 传递函数作为参数3.2 Lambda