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 转型在云化方面的实践与探索》研究报告。
标签:原生,容器,平台,服务,实现,上云来,业务,应用,样儿 From: https://blog.51cto.com/u_11976981/5900423