农信银行云平台架构设计与实践经验分享
银行私有云平台架构设计与实践经验分享 江西农信 邓毓 CONTENTS 目录 1 Part 01 现有IT架构挑战与云平台需求 2 Part 02 云平台建设规划 3 Part 03 云平台技术路线与选型 4 Part 04 云平台实践亮点与效果 工作量巨大 运维人员少,维护着数 千个机器,压力大,难 度高 难以统一管理 各类虚拟化平台各成体系,难以 统一管理、统一规范、统一编排 资源不足 硬件资源容易形成孤 岛,资源使用率低 资源交付速度慢 环境部署速度慢,无法实现敏 捷开发、紧急测试以及生产快 速上线的需求 部署不规范 部署不规范、生产和测试环 境不统一,增加生产运维的 难度 与运维管理脱节 与现有监控、流程、自动化运 维等运维管理体系脱节,无法 联动且对接困难 省农信省农信ITIT架构面临的挑战架构面临的挑战 省农信云平台建设目标省农信云平台建设目标 ➢ 资源整合、大幅提高资源利用率 ➢ 为敏捷开发与快速上线提供快速部署的支撑 ➢ 资源部署策略多样性 ➢ 资源调配灵活性 ➢ 保持开发测试与生产的统一规范 ➢ 自动化运维、监控和流程等运维管理系统的集成 私有云平台建设规划私有云平台建设规划 商用X86云 开源X86云 Power云 Power和X86共存云 定定 位位 私有云平台建设规划私有云平台建设规划 逻辑架构 统一资源层的设计、服务抽象层的设计和运维管理集成的设计 广义和狭义云管平台 云计算体系应该包含三层或者四层:资源池层,虚拟化管理平台层,云管平台资源层和云管平台服务层。 ✓ 虚拟化管理平台层对各类同构的底层虚拟化资源池统一管理 ✓ 云管平台资源层实现对所有异构的资源的统一管理 ✓ 云管平台服务层实现自服务界面,将服务的底层资源实现、部署策略和动态调配实现“抽象化”,并集成各类运维、管理 和流程的工具等 广义云管平台:包括云管平台资源层和云管平台服务层 狭义云管平台:仅仅是云管平台服务层:自服务、运营管理(服务目录与服务、组织架构审批等等)、云运维管理(监控 、安全等)以及企业现有IT管理系统的对接等 云资源管理平台通过统一的资源适配接口屏蔽各资源的差异,同时支撑上层的服务编排与部署。 私有云平台建设规划私有云平台建设规划 云管平台资源层 ✓ 并非是资源的直接提供者,而是资源的管控者或者调度者 ✓ 对上提供API,供服务抽象层调用,对下集成资源的Driver,承上启下 ✓ 统一资源层的设计需要有“平台”、“分布式”和“动态”的设计理念: 资源层能够提供一个资源适配平台,能够适配各类计算资源(异构X86和Power虚拟化、物理机、公有云和容器云),各类 网络资源(网络类型:local、Flat、VLAN、VXLAN、GRE;网络机制:LinuxBridge、Openvswitch;网络服务:Router 、LoadBalance、Firewall、DHCP等),各类存储资源(LVM,NFS,Ceph,GlusterFS,以及EMC和IBM等商业存储系 统),各类软件资源(中间件、工具、数据库和应用等) 资源层的各组件能够按照一定细粒度分布到不同的控制节点中,这样可以提高性能和伸缩性,避免随着资源节点数的增加, 造成的瓶颈 资源层的编排是动态和自动化的,在资源层按照过滤规则、策略或者资源模板进行设定后,部署则按照该策略模型就行自动 化的编排,并且可以和监控组件(如OpenStack的Ceilometer)相结合,实现动态的迁移、伸缩和扩展资源 私有云平台建设规划私有云平台建设规划 统一资源层设计的“平台”理念 计算资源 ✓ 虚拟化资源 ✓ 物理资源 直接虚拟化资源: 云管平台资源层直接对接虚拟化资源,市面上Hypervisor种类繁多,资源层的Nova可通过Nova-API调用Nova-compute子 组件,Nova-compute子组件为Driver 架构,并且Nova-compute 为这些 Hypervisor 定义了统一的接口,Hypervisor只需 要实现这些接口,就可以Driver 的形式即插即用到OpenStack Nova系统中 间接虚拟化资源: 云管平台资源层的Nova-compute集成了虚拟化管理平台的Driver,间接通过虚拟化管理平台管理和调度计算资源,如 PowerVC、Vcenter和Z/VM(LINUXONE) Nova-API调用资源层的Nova-compute,Nova-compute再调用Ironic的API来实现对物理资源的管理和控制,可以理解为 Nova-compute集成了Ironic的Driver,Ironic可以看成一个Hypervisor Driver来给Nova来用 私有云私有云平台建设规划平台建设规划 ✓ OpenStack的存储组件为Cinder,存储节点支持多种Volume Provider,包括LVM, NFS, Ceph, GlusterFS,以及EMC, IBM等商业存储系统。 ✓ Cinder-volume为这些Volume Provider定义了统一的 Driver 接口,Volume Provider只需要实现这些接口,就可以 Driver的形式即插即用到OpenStack中。 统一资源层设计的“平台”理念 存储资源 私有云私有云平台建设规划平台建设规划 统一资源层设计的“平台”理念 网络资源 ✓ 计算资源的内部网络,OpenStack通过Neutron来管控网络资源,核心组件包括Core Plugin和Service Plugin。 传统的Core Plugin 与Core Plugin Agent是一一对应的,Linux Bridge Plugin对应Linux Bridge Agent,Open Vswitch Plugin对应Open Vswitch Agent→所有传统的 Core Plugin都需要编写大量重复和类似的数据库访问的代码, 大大增加了Plugin开发和维护的工作量 ML2作为新一代的Core Plugin,提供了一个框架,允许在OpenStack网络中同时使用多种Layer 2网络技术,不同的计 算节点可以使用不同的网络实现机制→无需从头开发Core Plugin,只需要开发相应的Mechanism Driver,大大减少了要 编写和维护的代码 ✓ 计算资源的外部网络,通过OpenStack组件对接外部的SDN控制器,来实现OpenStack对外部网络资源的集成 提供了两种驱动方式,Neutron和Native驱动: Neutron驱动结合Neutron社区的ML2实现,使用Neutron的网络模型来实现GBP Native驱动是纯的第三方驱动,比如ACI,ODL。ACI调用APIC,ODL则是OpenDaylight GBP 私有云私有云平台建设规划平台建设规划 ✓软件也作为一种资源存在于云管的资源层,软件资源的实现有多种方式: 镜像模板实现---通过制作安装了特定软件资源的虚拟机,再捕获为镜像模板,存在镜像仓库,部署时克隆一份 OpenStack HEAT组件实现---OpenStack Heat是一个基于模板来编排复合云应用的