农银人寿项目架构师王福强 - 农银人寿新一代核心业务系统云平台实践题
2020-02-27 208浏览
- 1.农银人寿新一代核心业务系统 云平台实践 新核心项目组 王福强
- 2.前言:让云落地 对传统公司来说 云能否解决公司的问题? 投入产出是多少? 坚持?观望?试水?推倒重来? 一边是云技术发展如火如荼,高高在上 一边是公司现实差距太大,如陷泥潭 本文讲述农银人寿在云平台方面的实践,希望能提供一个有益的参考
- 3.目录 一 项目简介 二 新核心系统的云平台 三 实例:批处理平台(Batch PaaS) 四 实例:用户管理(UM PaaS) 五 总结
- 4.一、项目简介 公司情况: n 农业银行控股 n 中小型寿险公司 n 发展很快(年增长50%+) n 传统金融行业 n 成立10年,更名3年 现状分析: n 背景、约束 n 资源有限 n IT有点跟不上 n 保守、安全 n 大量遗留系统 现有核心业务系统是2007年建设,近几年故障多、性能差、改造困难,无 法满足公司业务快速发展需要,技术方面问题: 技术陈旧,集成困难:JDK 1.4.2,目前很多软件无法集成 架构设计不好,扩展困难:JSP+Servlet 运行不稳定,性能差:不定期宕机,紧急补丁多,批处理速度慢
- 5.一、项目简介:建设目标 项目建设目标 n 推动公司运营体系、营销机制的创新 n 提高生产化水平和市场响应速度 n 增强公司的市场竞争力和影响力 n 支撑公司未来十年业务发展需要 2万名 总用户 1000亿 保费/年 10年+ 系统服务 1000万名 总客户 100种 险种/年 10万名 销售人员
- 6.一、项目简介:保险IT的挑战 唯一不变的是一切在变! IT方面 管理 变化 需求 变化 外部 变化 业务方面 渠道 流程 产品 规则 销管基本法 监管
- 7.一、项目简介:为何使用云 市场响应速度 未来十年业务需要 资源有限 安全稳定 快点下班! IT人做梦都想这样! 节省的发奖金多好! 又好又快才有意义!
- 8.目录 一 项目简介 二 新核心系统的云平台 三 实例:批处理平台(Batch PaaS) 四 实例:用户管理(UM PaaS) 五 总结
- 9.二、新核心系统的云平台 基本特性 快速弹性 多租户 按需自服务 资源池 可计量服务 服务模式 软件即服务 SaaS 平台即服务 PaaS(10个) 基础设施即服务 IaaS(3个) 部署模式 公有云 私有云 混合云 (远期规划) 实施模式 商本业地产实施品【7个】 外自主包开设计发【6个】 自开源主产开品发【0个】
- 10.SaaS组成 二、新核心系统的云平台 待规划…… PaaS组成 用户管理 UM 内容管理 ECM 产品工厂 PF 批处理平台 Batch 规则管理 IBM ODM 渠道接入平台 CIP 报表平台 Report 流程管理 IBM BPM 监控平台 MONITA 分布式事务管理 DTX 自建 完成 购买 实施中 自建 实施中 IaaS组成 虚拟机-VMware 数据库-Oracle 12C 中间件-Weblogic 12C 完成 可提高
- 11.二、新核心系统的云平台 跟别人有点不一样? 充分利用遗留 应用系统 充分利用已购买 软硬件资产 充分利用现有 人员的知识技能
- 12.二、新核心系统的云平台 别看广告,看疗效! 保险最易变五要素实现80% 应用开发基础模块实现6个 渠道 规则 流程 产品 销管 基本法 批处 理 内容 用户 权限 事务 管理 报表 日志 监控 大幅提高上线速度,以及IT应用系统开发的生产力!
- 13.目录 一 项目简介 二 新核心系统的云平台 三 实例:批处理平台(Batch PaaS) 四 实例:用户管理(UM PaaS) 五 总结
- 14.三、实例:批处理平台 • 分布式并行计算 • 动态增加或删除节点 1 • 故障自动转移 3 Java Only 二次开发(基于合作厂商产品) 2 ZooKeeper,VMware n 批处理平台提供批处理开发、批处理运行管理两部分功能 n 主要用于大批量数据的统一处理,如分红批处理,满期批处理等 4
- 15.三、实例:批处理平台 原开发模式 开发人员学习平台的五个基本概念,并开发实现其中3个的子类即可。 一个并行计算任务 称为Job Job 执行任务拆分的逻辑 需要实现 Distributor 拆分 任务拆分为多份并行执 行,每一份叫做Task Task Task Task 执行 Executor 获取共享资源 SharedResourceHolder 执行Task的逻辑,叫做 Executor(执行者) 需要实现 封装公共操作,如初始化数据库连接 池,缓存连接池,Spring上下文等 需要实现
- 16.三、实例:批处理平台 原部署结构 * 无单点故障 * 支持节点动态增减 * 自动故障转移
- 17.三、实例:批处理平台 我们做了哪些改造使其成为PaaS平台? Batch 原批处理平台 l 多租户 l 虚拟机动态分配(A、C节点) l 数据库动态分配(未完成) l 中间件动态分配(M,未完成) Batch PaaS 新批处理平台
- 18.三、实例:批处理平台 1 隔离性 n 数据隔离 n 性能隔离 n 安全隔离 2 适应性 多租户不同需求 (下一个实例) 多租户 不只是在数据库中增加一个区分租户的字段
- 19.三、实例:批处理平台 多租户的实现 原系统无多租户 n 用户能够查看和管理所有 的批处理(安全风险) n 批处理自动分配到所有服 务器执行(资源争用) n 数据库访问由批处理程序 自行设定(安全风险) 新系统(多租户) n 用户能够查看和管理自己 的批处理(安全) n 用户的批处理自动分配到 自己的服务器执行(性能 隔离) n 用户仅能访问自己的数据 库(数据隔离) 新增功能: n 服务器管理(包括申请, 审批,授权使用,授权回 收) n 数据库管理(授权,回收)
- 20.三、实例:批处理平台 动态分配的实现 原系统 (无动态分配) n 所有用户能够使用的服务器是 预先安装配置好的 n 如果需要增加资源,需要走审 批流程(甚至采购流程) 新系统 (动态分配,目前针对运算单 元的服务器) n 当计算资源不足时,用户申请 计算节点 n 虚机管理员审批后,系统自动 调用vmware接口,按需创建虚 机 n 批处理管理员授权给用户使用 n 用户的job就可以使用这些计算 节点了,批处理马上提速 n 当然,如何管理员预先给用户 分配虚机,就不需要申请了。 注:管理节点一般不是性能瓶颈,动态分配Oracle DB、Weblogic尚未实现
- 21.A应用 B应用 管理员 三、实例:批处理平台 Batch PaaS总图 授权使用 A计算节点 授权 使用 授权使用 B计算节点 管理节点 vmware虚机 weblogic集群 Zookeeper 资源池 vmware虚机 Zookeeper 授权 使用 oracle集群 (CDB,PDB)
- 22.三、实例:批处理平台 Batch PaaS通过引入产品和二次改造实施,最终效果如下: l 屏蔽了分布式并行计算的复杂性,实现高性能和高可用 l 屏蔽了批处理开发的复杂性,实现复杂模式(暂停,恢复,重跑, 补跑,任务序列,手工调度,定时调度等),开发和部署简单 l 多租户实现资源的共享和复用,资源隔离、计算隔离、安全隔离 l 实现快速弹性,资源动态分配 投入 产出 n 改造费用:20人月 n 其他费用: n VMware(0) n Oracle(0) n Weblogic(0) n 多租户、快速弹性、故障自 动转移 n 性能提升:20%~数十倍 n 快速开发:平均节省数天 n 快速部署:数天变为数小时
- 23.目录 一 项目简介 二 新核心系统的云平台 三 实例:批处理平台(Batch PaaS) 四 实例:用户管理(UM PaaS) 五 总结
- 24.四、实例:用户管理 统一用户管理包括用户管理、组织机构管理、权限管理三部分功能。用于所 有新核心项目的子系统,进行统一认证和统一权限管理。 n 我方设计 n 外包开发 扩展ARBAC模型 n Open LDAP n CAS n Oracle VPD n WebService n REST
- 25.四、实例:用户管理 UM系统做PaaS难在多租户的适应性 应该支持RBAC,也应该支持ACL 应该对开发者透明,对用户简单明了 应该支持功能权限,也应该支持数据权限 对简单系统使用必须简单 应该支持到最细粒度,但是也能粗粒度使用 必须能够适应简单的系统,以及复杂的系统 要支持更复杂的认证和安全方式和策略
- 26.四、实例:用户管理 用户源 UM的概念分层 员工 客户 厂商
- 27.四、实例:用户管理 功能权限的实现 提供通用权限认证过滤器Filter,以实现灵活进行子系统集成 UM服务器 filter
- 28.四、实例:用户管理 数据权限的实现 使用ORACLE 企业版VPD(Virtual Private Database) 从数据库层面实现数据访问控制的一种成熟技术(能够实现行级、列级访问控制) 性能高:每次SQL平均时间损耗 0.2ms
- 29.四、实例:用户管理 UM PaaS通过自主设计和外包实施,最终效果如下: l 应用透明:屏蔽了用户、机构和权限的管理,集中统一管理,其他应用不考虑 l 开发透明:屏蔽了认证和权限的开发,普通开发者不考虑 l 多租户:实现资源的共享和复用,满足各种安全级别和安全管理需求 投入 n 外包费用:70人月 n 其他费用: Oracle VPD(0) Weblogic(0) 产出 n 开发更高效,开发者透明 新核心系统30多个系统不开发用户和权限管理(节约2人月/ 系统以上),集成只需1-2天 n 管理更方便 员工所有权限集中管理,一览无余;调岗、离司处理方便 n 随需而变 应用的安全级别可随时修改;应用的安全策略可随时修改 n 更安全 安全策略可定制;最细粒度的功能权限控制(每一次请求/点 击);最细粒度的数据权限控制(行级和列级)
- 30.目录 一 项目简介 二 新核心系统的云平台 三 实例:批处理平台(Batch PaaS) 四 实例:用户管理(UM PaaS) 五 总结
- 31.五、总结 我们下一步工作: (1)内部推广,创造服务价值:服务的应用系统从20+增至100+ (2)继续完善,提升服务能力:去中心化、标准化 快速弹性 多租户 按需自服务 资源池 可计量服务 去中心化 标准化 通过加强这两项,还能够实现: ü 更简单和快速的资源管理 ü 更简单的部署,更少的人工干预
- 32.五、总结 农银人寿新一代核心业务系统结合公司实际,实现了部分IaaS和 PaaS平台,经过实践检验,取得比较不错的效果。 我们的一点实践经验 技术是为业务服务 创造业务价值才是传统 公司IT最大的价值 没有最好只有最合适 结合公司实际选用合适 的云技术,不要完美主 义 别纠结太多概念 云技术还不算特别成熟 和具有公论,根据效果 选择
- 33.