当前位置:电子银行 > 正文
银行“入云”:云计算体系架构在银行如何落地

  一、云计算的服务目标和关键技术

  云计算绝不仅仅是“装上一个软件”那么简单,云计算与生俱来定位于“资源共享”,我把云计算的服务目标总结成以下5点:

  1、计算资源池化和透明化。让数据中心的计算资源(比如服务器)在一定的范围内(比如一个机房模块内)充分共享,通过调度软件让这些计算资源向用户透明。

   2、弹性扩展和动态伸缩。利用一些软件使计算资源能够快速地、自动化地实现资源调度,可多可少,随需应变,大大提高计算资源分配的效率,特别是在紧急情况下迅速创建计算资源以应对性能压力和交易高峰。

  3、以网络为中心无处不在。网络路由交换设备往往与服务器、存储设备紧密相关,云计算强调“云网融合”,网络基础设施也要实现软件定义和管理,网络资源共享和自动化调度为计算资源提供更好的基础保障。

   4、按需供给和自助服务。这是云计算最典型的特征之一,计算资源的创建和管理更加可视化、透明化、自动化,并且直接向需求部门和最终用户提供在线自助式服务,让用户直接申请和创建计算资源。

  5、服务可监控可计量。这是云计算落地过程中常常被忽略的课题,既然上面谈到要提供自助服务,就需要为用户(业务人员、运维人员)提供服务监控的配套工具,以及服务水平计量和内外部服务计价的配套工具。

  值得一提的是,上面这些服务目标绝不是下载几个开源软件就能够一一做到的。银行“入云”需要首先下决心组建一支专门从事云计算软件开发的专业团队,持续不断地跟踪云计算软件发展,持之以恒地做好这些配套软件的开发维护工作。

  二、云计算体系架构1.0

  云计算体系架构的落地不可能一蹴而就,尤其是对于一个拥有将近20,000套虚拟机的大型数据中心,由传统计算架构向云计算架构转型需要统筹规划、分步推进。伴随着云计算技术的不断演进和快速发展,实践证明,前文所述的“三部曲”是一条切实可行的实施路径。

  1、IaaS 1.0

  在IaaS 1.0中,云平台架构自下而上分为四层:自动化脚本、资源池管理、资源调度分配引擎以及IT资源供应服务目录。基于云平台实现了VMWare虚拟机以及IBM Unix小型机虚拟化分区的自动部署和自动供应,有效提升了数据中心的运维效率。IaaS1.0先后在测试、研发和生产环境全面推广,共部署虚拟机10,000多套,取得了预期效果。

  但是由于商业虚拟化软件的技术限制,IaaS 1.0在实际应用及维护管理方面逐渐暴露出以下不足:

  ①紧密依赖底层计算、存储、网络提供的私有接口,没有标准化协议,掌握和维护成本高,容易被硬件厂商绑定,可控性差。

  ②未能实现网络的自动化配置,需要人工进行网络配置。

  ③缺乏对云内资源统一的全生命周期管理,无法从技术上保证资源从产生到销毁的整个生命周期都在云平台内管理。

  2、PaaS 1.0

  在研发部署IaaS 1.0的同时,团队启动了应用平台云(PaaS)的研究和实施工作。以轻量级容器Docker为基础,自主研发了应用平台云PaaS 1.0,2015年10月份正式交付投产。

  PaaS 1.0平台采用轻量级容器技术(Docker),实现了应用节点的快速启动;为服务类和Web类应用系统提供注册中心和负载均衡,将快速扩展的容器节点接入外部;使用了轻量级中间件,提高了应用系统的灵活部署能力;在PaaS上采用了分布式服务架构,将服务化与PaaS较好的进行了整合;建设了镜像仓库、日志采集、监控中心和参数中心等平台服务,实现了不同维度下的镜像、容器和服务的集中管理及监控。

  应用平台云PaaS 1.0采用了业界最主流、最流行的技术,结合数据中心管理、运维和监控的需要,实现了符合自身业务发展需要的服务。

  提高资源利用率,降低成本。通过弹性扩展、错峰使用的方式,实现了银行快捷支集群的资源池共享,在纪念币发行、“双11”大促、春节红包等业务高峰期间实现了完美的资源灵活调配。

  在IT架构转型过程中,利用PaaS 1.0平台整体可用性高、系统伸缩快速的优势,弥补了传统技术架构的不足。

  应用平台云PaaS走的是“边实施边演进”之路。结合业界PaaS技术路线和发展趋势,为满足大规模容器集群管理的需要,进一步提升应用平台云企业级服务能力,我们在2017年初启动PaaS 2.0建设,基于开源容器引擎Docker,引入容器集群编排及调度技术Kubernetes,重点在容器、负载、日志、监控等方面全方位实现应用平台云的架构提升,打造企业级的PaaS 2.0。

  三、云计算体系架构2.0

  针对在实施IaaS 1.0和PaaS 1.0中遇到的问题,结合业界技术路线和发展趋势,在持续优化平台功能版本的同时,密切跟踪技术发展,启动了新一代云计算平台的研究和建设工作,并在2017年基于OpenStack、Kubernetes、SDN等业界主流技术,完成新一代云计算平台(2.0)的设计研发。具体如下:

  ①完成了IaaS 2.0的新功能组件:使用OpenStack管理三类对象(计算、存储、SDN网络);SDN以机房模块为单位进行管理。

  ②完成了PaaS 2.0的新功能组件:使用Kubernetes对Docker容器进行管理。Docker是PaaS最小颗粒度的运行单位,进行业务功能封装并提供运行环境。Kubernetes负责对容器进行管理调度。

  ③实现了PaaS管理平台与IaaS的全面对接:支持由IaaS供应虚拟机环境后自动纳入PaaS集群。PaaS在一个园区部署一套管理平台,并管理本园区内所有的Kubernetes;Kubernetes按照网络区域进行部署,管理该网络区域内的所有Docker容器。

  1、IaaS 2.0

  在基础设施云(IaaS)研发过程中,最终选择了基于OpenStack、SDN等业界主流技术研发新一代基础设施云平台IaaS 2.0。主要考虑有以下几点:

  1)OpenStack是开放的生态

  OpenStack是社区最活跃的IaaS项目,全球上万研发人员参与,产品成熟,集合了全球智慧和力量。

  2)OpenStack架构优异,功能完备

  OpenStack定义了标准协议,屏蔽了底层设备差异,实现了计算、存储和网络的池化管理,实现了资源的统一调度分配,实现了资源的全生命周期管理,并对外提供统一的RESTful接口。

  3)完全打通了计算、存储和网络专业

  数据中心SDN网络作为我们新一代全球网络架构的“神经中枢”,OpenStack直接对接SDN网络,实现网络的自动化配置。

  4)降低了对商业化软件的技术依赖和资金投入

  引入KVM、Ceph、OpenStack等开源虚拟化及分布式计算技术,降低了对商业化软件产品的技术依赖和资金投入,自主可控性强。

  5)云管平台个性化定制,有力支撑智能运维

  自主研发云管平台,实现云管视图的个性化定制,用户权限的集中化控制,并与运维流程管理系统、配置管理系统、集中监控系统、PaaS应用等实现了深度联动和集成,构建具有开放性、高容量、易扩展、成本可控等特点的云管平台,更好地满足业务发展对基础设施资源和应用系统快速部署、弹性扩展的要求。

  2、PaaS 2.0

  在应用平台云(PaaS)研发过程中,基于开源容器引擎Docker,通过引入业界主流的容器集群编排及调度技术Kubernetes,重点在容器、负载、日志、监控等方面全方位实现应用平台云的架构提升。PaaS 2.0主要特点包括:

  1)平台集群容量提升,支持万级容器集群规模

  通过引入开源Kubernetes容器调度框架,支持万级容器集群规模运行和调度。集群资源池化设计,实现在网络区域规划内不同应用间的资源共享。

  2)实现应用节点编排,支持复杂架构应用上云

  借助PaaS 2.0云平台的容器编排能力,我们可以将多个有依赖关系的应用节点编排到到统一的部署模板,从而实现复杂应用“一键”云上部署。

  3)提供容器自愈,实现应用故障自动恢复能力

  PaaS 2.0云平台提供容器自动恢复机制,通过自动保持应用运行容器节点的数量,在应用节点出现不可用的情况下,立即自动启动新的应用节点,从而达到业务自动恢复的效果。

  4)基础资源自动供给,实现应用自动弹性伸缩

  实现PaaS与IaaS的全面对接,数据中心的用户可自助式完成资源申请,对应用保持透明;实现底层安装介质的自动部署,安装后自动纳入容器集群,提升资源申请效率;在业务突发高峰时,能够快速实现应用的自动弹性伸缩。

  5)提供多集群能力,实现应用按需隔离

  PaaS 2.0提供了自动创建多集群的能力。在同一集群内,支持不同租户通过标签识别,保证应用按需部署在不同的物理/虚拟设备上,从而实现应用按需隔离。

  6)日志管理及诊断体系建立,提升云上应用的精细化管理水平

  PaaS 2.0建立了基于日志的分析诊断体系,实现了统一、集中的日志管理,具备日志在线检索能力,提供统一的日志文件在线下载接口,提供基于日志的实时分析、监控、诊断预警的能力,实现了问题快速定位与处理。

  7)负载均衡提升,为应用提供更为丰富的软负载能力

  以纪念币预约和快捷支付等场景为突破口,在PaaS 2.0中研究引入了应用层软负载均衡,提供SSL证书卸载及7层路由等能力,实现应用层软负载技术在云计算领域的实际应用。

  8)多维度、多层级监控提升,提高平台可用性

  PaaS 2.0从多维度、多层级对云上应用监控进行提升,采集操作系统、中间件、平台和应用等多维度运行指标,并成功实现了与数据中心应用监控、配置管理和性能容量监控等体系的对接,甚至连报警都能直接推送到我们的移动办公APP上,提高了运维支持响应时效,保障云化环境的生产安全。

  9)建立云运维体系,提升云上应用的自动化运维水平

  PaaS 2.0基于容器监控数据、日志采集等大数据,建立了通用、可定制、可扩展的业务分析模型平台,实现了云上运维的可视化。提供了秒级指标计算及报警,实现云上应用的精细管理;建立了分布式节点的自动巡检机制,提供了云上应用运行趋势分析、故障秒级预警及实时诊断;实现了快速、自动化的云上运维能力。

  10)提供从开发到生产快速交付的能力,为应用快速迭代提供技术支撑

  利用PaaS 2.0建立DevOps机制,使试点应用的开发(DEV)、技术运营(OPS)和交付测试(QA)三者一体化,打通了这些试点应用开发流程的边界,使这些应用的软件构建、测试、发布更加快捷,满足业务频繁及快速上线要求。

  四、银行单个应用系统实现云计算体系架构的技术要点

  1、应用系统的“适云”改造

  为了能够充分发挥云计算快速部署、弹性扩缩的特性,首先进行了一系列改造,包括对应用进行服务化和无状态化改造,使用更轻量级的中间件Liberty,将Web服务器与App服务器分别实现容器化部署,并优化了负载均衡结构,从而使纪念币应用更加“适云”。这是银行所有应用“入云”的必经之路。

  2、应用系统的快速部署

  在完成应用“适云”的技术改造之后,利用云平台的部署能力,在不到1周的时间里就全面完成了全部环境的投产准备工作,通过IaaS 2.0完成了宿主机的供应,通过PaaS 2.0实现了容器的快速部署,而我们的应用系统就运行在每个容器中。

  3、弹性扩缩的实施

  利用云计算弹性扩缩的特征,一旦出现业务量爆发式增长并超过预期时,能够在几分钟内实现对容器的快速扩容,即便出现由于容器的突然增长导致宿主机资源紧张的情况,也能通过PaaS 2.0调用IaaS 2.0接口,在十来分钟内就实现宿主机的快速扩容,这在之前都是不可想象的。

  4、自动、快速的资源回收

  在结束之后,生产中心可以在1天之内,对投入的计算资源进行全面、快速的回收,回收后的资源直接归还到资源池中,以便投放的给其他应用进一步使用。

  五、智能云平台是银行“入云”的制胜之道

  云计算体系的正常运转离不开运行监测、运维操作、分析评估等运维领域工具的建设。在新的运维模式下,运维工作从以人工操作为主转变为以自动化、智能化处理为主;从以经验驱动为主转变为以数据驱动为主;从分专业、技术化运维转变为跨专业、服务化运维;从各单位分散运维转变为总分行一体化运维。以上这些都成为运维工作管理者要认真考虑并组织解决的课题。

  1、智能化平台,新时期运维解决方案

  过去,在经历了手工运维的苦涩之后,运维人员将常规的操作编写成各类自动化脚本来减轻工作压力,这种最基础的自动化运维模式正在逐渐被各类自动化工具替代。然而,自动化工具的引入可能会带来新的问题:工具相互独立,基础功能重复,数据无法共享,研发成本浪费;同时,工具本身的维护又要投入巨大的人力。在这种背景下,满足新时代运维特点的管理一体化、架构松耦合、能力可扩展、数据大集中的智能化运维平台应运而生。

  2、落地开花,平台化建设初见成效

  1)三活架构,总分行一体化管理

  智能化运维平台采用数据中心“三园区、三活”的架构,单一园区故障不影响平台整体运行,下挂分行可快速切换至其他园区的运维平台,数据跨园区同步时延达到秒级以下。智能运维平台的各模块支持横向扩展,在保证同园区服务高可用的同时,也支持业务逻辑的快速扩展,同时也能确保全行运维架构的一致性。

  总分行一体化架构保证数据中心可掌握全行运行情况,具备接管分行运维操作的能力。

  2) 功能集成,自主研发智能化Agent

  智能化运维平台将生产运维中的监控告警、日常变更、应急灾备、安装部署、故障诊断、性能容量、风险评估等12个业务进行功能整合,提供统一入口及认证授权体系等基础服务,减少各应用非业务功能的研发投入。

  通过自主研发的单一、通用Agent替换各类系统产品的19类Agent。全行共完成近4万套服务器Agent安装部署,Agent版本可实现“一键式”自动更新,全行4万台服务器可以在半小时之内完成一次性部署,部署成功率达99%以上,这是一项革命性的突破。同时Agent还可自动收集环境信息,并根据收集信息采集所需的监控及性能容量指标,上送至相关系统。

  3)平台模式,业务功能“即插即用”

  智能化运维平台提供了开放的19类接口供各类运维应用使用,各个应用可通过服务注册的模式调用该平台各类功能,便于快速灵活集成,根据用户角色不同提供不同服务视图,提升用户体验。同时,平台对各类应用任务执行情况进行全流程监控,如有问题可快速定位问题节点。

  4) 知识共享,打造银行运维生态圈

  智能化运维平台提供了脚本及流程的在线开发平台,运维人员可以在平台上方便地开发运维脚本并进行单元测试,脚本部署可在指定范围内一键完成,部署过程、部署结果直观展示,1分钟之内可以完成5000台服务器的执行,比前期使用外购产品的执行效率提升了将近30倍。

  同时,平台提供了流程编排的图形化开发界面,通过拖拽配置运维流程,完成复杂的运维操作。全行运维人员对于脚本库内容均可实现共享,均衡了全行不同地区运维技术水平,减少了重复开发工作量,提高了运维人员成就感,打造了全行运维生态圈。

  3、决胜未来,大数据支撑运维大梦想

  从手工运维到自动化运维,从竖井式研发到平台化支持,运维数据得到了更有效的收集和使用。运维团队通过大数据挖掘分析、机器学习等技术,进一步研究各类运维问题的自分析、自诊断、自修复的实现方法。

相关链接:

作者: 来源:IT思想力行动力 发布时间:2018-02-08 06:07:37
 
 
  我要发表留言  查看所有评论
 

*
 限制字数显示剩余字数,最大长度: 500 还剩: 500
用户名:
       尊重网上道德,承担一切因您的行为而直接或间接导致的民事或刑事法律责任