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

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

相关文章

MobaXterm远程登录工具功能与应用小结

《MobaXterm远程登录工具功能与应用小结》MobaXterm是一款功能强大的远程终端软件,主要支持SSH登录,拥有多种远程协议,实现跨平台访问,它包括多会话管理、本地命令行执行、图形化界面集成和... 目录1. 远程终端软件概述1.1 远程终端软件的定义与用途1.2 远程终端软件的关键特性2. 支持的

Python使用国内镜像加速pip安装的方法讲解

《Python使用国内镜像加速pip安装的方法讲解》在Python开发中,pip是一个非常重要的工具,用于安装和管理Python的第三方库,然而,在国内使用pip安装依赖时,往往会因为网络问题而导致速... 目录一、pip 工具简介1. 什么是 pip?2. 什么是 -i 参数?二、国内镜像源的选择三、如何

5分钟获取deepseek api并搭建简易问答应用

《5分钟获取deepseekapi并搭建简易问答应用》本文主要介绍了5分钟获取deepseekapi并搭建简易问答应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需... 目录1、获取api2、获取base_url和chat_model3、配置模型参数方法一:终端中临时将加

JavaScript中的isTrusted属性及其应用场景详解

《JavaScript中的isTrusted属性及其应用场景详解》在现代Web开发中,JavaScript是构建交互式应用的核心语言,随着前端技术的不断发展,开发者需要处理越来越多的复杂场景,例如事件... 目录引言一、问题背景二、isTrusted 属性的来源与作用1. isTrusted 的定义2. 为

Python调用另一个py文件并传递参数常见的方法及其应用场景

《Python调用另一个py文件并传递参数常见的方法及其应用场景》:本文主要介绍在Python中调用另一个py文件并传递参数的几种常见方法,包括使用import语句、exec函数、subproce... 目录前言1. 使用import语句1.1 基本用法1.2 导入特定函数1.3 处理文件路径2. 使用ex

k8s部署MongDB全过程

《k8s部署MongDB全过程》文章介绍了如何在Kubernetes集群中部署MongoDB,包括环境准备、创建Secret、创建服务和Deployment,并通过Robo3T工具测试连接... 目录一、环境准备1.1 环境说明1.2 创建 namespace1.3 创建mongdb账号/密码二、创建Sec

将Python应用部署到生产环境的小技巧分享

《将Python应用部署到生产环境的小技巧分享》文章主要讲述了在将Python应用程序部署到生产环境之前,需要进行的准备工作和最佳实践,包括心态调整、代码审查、测试覆盖率提升、配置文件优化、日志记录完... 目录部署前夜:从开发到生产的心理准备与检查清单环境搭建:打造稳固的应用运行平台自动化流水线:让部署像

Linux中Curl参数详解实践应用

《Linux中Curl参数详解实践应用》在现代网络开发和运维工作中,curl命令是一个不可或缺的工具,它是一个利用URL语法在命令行下工作的文件传输工具,支持多种协议,如HTTP、HTTPS、FTP等... 目录引言一、基础请求参数1. -X 或 --request2. -d 或 --data3. -H 或

centos7基于keepalived+nginx部署k8s1.26.0高可用集群

《centos7基于keepalived+nginx部署k8s1.26.0高可用集群》Kubernetes是一个开源的容器编排平台,用于自动化地部署、扩展和管理容器化应用程序,在生产环境中,为了确保集... 目录一、初始化(所有节点都执行)二、安装containerd(所有节点都执行)三、安装docker-

在Ubuntu上部署SpringBoot应用的操作步骤

《在Ubuntu上部署SpringBoot应用的操作步骤》随着云计算和容器化技术的普及,Linux服务器已成为部署Web应用程序的主流平台之一,Java作为一种跨平台的编程语言,具有广泛的应用场景,本... 目录一、部署准备二、安装 Java 环境1. 安装 JDK2. 验证 Java 安装三、安装 mys