分布式DevOps平台立项需求报告_第1页
分布式DevOps平台立项需求报告_第2页
分布式DevOps平台立项需求报告_第3页
分布式DevOps平台立项需求报告_第4页
分布式DevOps平台立项需求报告_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、PAGE 30 分布式DevOps平台立项需求报告 目 录 TOC o 1-4 h z u HYPERLINK l _Toc500169914 第一部分 项目背景 PAGEREF _Toc500169914 h 1 HYPERLINK l _Toc500169915 1.项目介绍 PAGEREF _Toc500169915 h 1 HYPERLINK l _Toc500169916 1.1 项目背景 PAGEREF _Toc500169916 h 1 HYPERLINK l _Toc500169917 1.2 项目目标 PAGEREF _Toc500169917 h 2 HYPERLINK l

2、 _Toc500169918 第二部分 项目需求分析 PAGEREF _Toc500169918 h 3 HYPERLINK l _Toc500169919 2.系统需求分析 PAGEREF _Toc500169919 h 3 HYPERLINK l _Toc500169920 2.1 系统目标 PAGEREF _Toc500169920 h 3 HYPERLINK l _Toc500169921 2.2 系统特点 PAGEREF _Toc500169921 h 5 HYPERLINK l _Toc500169922 2.3 功能需求 PAGEREF _Toc500169922 h 5 HYP

3、ERLINK l _Toc500169923 2.4 非功能需求 PAGEREF _Toc500169923 h 10 HYPERLINK l _Toc500169924 2.5 技术指标 PAGEREF _Toc500169924 h 11 HYPERLINK l _Toc500169925 2.6 建设任务 PAGEREF _Toc500169925 h 11第一部分 项目背景项目介绍1.1 项目背景互联网的商业化应用对传统金融机构的业务产生了巨大影响,促使了互联网思维向金融市场发展,它体现出商业银行的三大转型趋势:(1)高度重视互联网“长尾效应”,提升客户活期存款价值;(2)挖掘互联网渠

4、道的潜力,提高基金代销和理财产品的服务效益;(3)制定大数据经营战略,打造联盟电商平台。银行作为金融的重要组成部分之一,是我国经济运筹的协调中枢,也是我国战略的核心。传统银行业务系统具有封闭性,用户访问峰值可预测,应用版本迭代慢,创新性不足,通常采用IOE架构和人工运维手段满足用户需求。随着银行互联化化发展趋势,业务系统呈现出开放性,用户量不可预测,应用新功能更新频繁的新特点。为进一步完善金融互联化基础平台的产品体系,分布式系统DevOps平台主要解决应用自动化部署、运行和维护管理的问题,用以弥补基础资源与应用系统间的技术鸿沟,提升具备大并发、高可用特性的应用的研制效率与质量。DevOps平台

5、核心用途是金融互联网创新应用提供创建、部署、运行、监控管理等运行时环境,提供协议接入与解析、负载均衡、生命周期管理、错误容忍与失效恢复等基础服务,使之具备高可靠性、高伸缩性、高可用性、易定制性等特点,主要分为基础设施、应用发布和监控管理三部分,分别为银行业务系统互联网化提供技术基础、自动和可视化管理、可靠性保障在基础设施方面,越来越多的公司正在采用轻量级虚拟化技术,通过复用底层OS实例而非实例化OS实例的手段(轻量级),使得银行业务系统具有秒级启动的能力,可较好满足银行业务系统的部署时效性需求。当前,轻量级虚拟化方案主要包括LXC和Docker两类。其中,后者具有隔离和应用环境固化的新特性,能

6、很好满足银行业务系统部署的安全和自动化需求,是技术发展的主流。在应用发布方面,为了满足基于Docker的应用部署、运行和维护的易操作需求,应用发布平台具有可视化应用部署、负载均衡等能力,可一键化构建出应用及其运行环境与Docker基础设施的映射关系;并具有与监控平台协同工作的能力,及时发现基础设施、应用的失效,并采用补偿等机制进行修复,保障银行业务系统的高可靠运行。在监控管理方面,为了应对数据延时和IT资源分散状况,越来越多的公司正将服务和应用程序从远程分支机构迁移到数据中心集中管理,这就使得数据中心的IT资源越来越多,数据中心越来越趋于大型化,管理对象包括小型机、服务器、虚拟机、数据库和各种

7、应用,传统的网络管理和监控面临巨大挑战。在这种情形下,监控管理和可靠性保障是保证服务质量的关键。1.2 项目目标针对网络计算环境开放、动态、多变的特性,面向大型网络应用高效运行的服务质量需求,研发DevOps平台。该平台为应用提供创建、部署、运行、监控等全生命周期管理,并提供协议接入与解析、负载均衡、失效恢复,以及异构数据库透明访问等服务,使其具备高可靠性、高伸缩性、高可用性、易定制性等特点。可以根据用户实际需求和特点,提供灵活配置,真正实现按需服务。应用发布平台既遵循国际规范,更注重技术上的不断创新,不仅在功能上与国际主流产品保持同步,而且在系统的可伸缩性、可靠性、安全性以及稳定性等方面也具

8、有较强的优势。其中,DevOps平台主要包含三个方面:在基础设施平台方面,采用轻量级虚拟化实现技术Docker,用于物理资源分时复用、应用实例隔离和应用环境固化。重点实现私有局域网环境下Docker集群管理、Docker可用性和可靠性评估、Docker镜像存储方案等关键技术,对不满足公司需求的Docker实现进行改造和完善。在应用发布平台方面,基于自主研发、可视化交付、向导式操作原则,以应用部署、运行和维护为核心,采用补偿机制同步应用发布平台和基础设施平台的状态一致性,采用事件机制实现应用发布平台和监控平台的互操作。使得应用的异常可在监控平台中及时的发现,应用的管理可在发布平台中容易执行。监控

9、管理工具从性能监控和故障监控两个方面实现对大并发服务引擎的全面监控。性能监控模块利用监控代理程序获取性能数据,服务器端收集性能数据,并利用持久化存储工具将数据存入数据库,利用这些数据实现物理机和虚拟机性能的监控。故障监控模块配置监控主机与服务,并利用监控插件实现检测,将结果信息上传给服务器,服务器端实时监控并产生告警信息。性能监控、故障监控、告警和统计报表共同构成DevOps平台的监控体系,使系统管理人员可以实时了解大并发服务引擎的运行状况,及时处理异常状况,提高DevOps平台的服务质量。第二部分 项目需求分析系统需求分析2.1 系统目标公司股份公司是中国大陆第一家由民间资本设立的全国性商业

10、银行,是我国金融行业的重要组成部分,也是我国银行界金融互联化化的先驱,其直销银行业务突破了传统实体网点经营模式,主要通过互联网渠道拓展客户,具有客群清晰、产品简单、渠道便捷等特点,其充分尊重互联网用户习惯,提供操作便捷的网站、手机银行和微信银行等多渠道互联网金融服务。为了进一步适应直销银行互联化需求,(1)用户访问难以预计,应用需要根据访问量调整自身的规模,比如类似淘宝“双十一”凌晨瞬时并发量超过1000万。未来,随着直销银行业务的不断推进,系统应能承担大规模批量开户、促销活动等高并发交易量的场景。(2)版本迭代频率高。直销银行通过互联网直接为客户提供服务,应参考业界的互联网公司产品的推出速度

11、,预计最少1-2周更新一次。为满足以直销银行为代表的银行业务互联网化需求,分布式核心系统主要包含两个部分,一是将直销银行等应用由传统的IOE架构改造成分布式系统架构,解决应用本身的容量瓶颈;而是优化直销银行等应用的基础架构,使得这些应用具有更好的扩展性,更便捷的交付能力,为按需可靠资源提供奠定基础,整体需求如图1所示。图1 分布式核心系统总览本项目主要关注基础设施(资源易管理)、可视化和自动部署、可监测可预警,以应用为核心,关注其部署、配置、运行和运维,简化应用开发和运维的交付复杂度,即 DevOps平台应,其具备以下功能:开发者进行新版本的应用开发后,应具有应用模板自动制作和发版,按需生成可

12、运行的应用集群的功能。运维人员通过可视化界面,选择合适的部署策略,即可完成应用新版本的发布、审计和维护;在新版本发布后,系统具有应用监测的能力,并可根据预先设置的策略,完成应用的伸缩管理和容错管理。为解决以上问题,云平台的构建引入业界先进的DevOps(英文Development和Operations的组合)思想。DevOps是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。云平台能够解决应用部署繁琐,开发和运维部门沟通耗时,人工部署复杂易错的问题,有效提升应用部署管理效率。具体而言,研发基于Docker的云平台实现应用的快

13、速发布、部署,运行与维护管理平台(简称DevOps平台)。分布式核心系统的应用程序将运行在Docker云平台上。该平台包含Docker集群管理、应用发布管理和一体化监控。项目将使用最新的DevOps思想实现应用的快速开发投产,提升版本发布、维护的自动化水平,降低生产维护人员的工作成本和投产风险。如图2所示, DevOps平台主要由三大子平台组成:基础设施平台:采用Docker集群复用底层物理资源,其目的是实现物理资源的可编程,提高资源利用率;利用Docker可固化应用运行环境的特点,简化应用部署的复杂度。应用发布平台:应用发布平台用户构建应用和物理资源的映射关系,它采用可视化手段,在帮助运维人

14、员在维护直销银行等应用时,屏蔽底层物理资源分配的复杂性。一体化监控:一体化监控的作用是监测应用(运行在Docker容器上)的可用性,并采用预警机制,预先对可能出现问题的应用进行报警,帮助运维人员快速发现、定位问题,并将应用从失效状态进行恢复。图2 DevOps平台组成2.2 系统特点基础运行平台为应用提供运行基础环境,具有分时复用物理资源,提高资源利用率能力;具有固化应用及其运行环境,简化应用部署的能力;具备高可靠性、高伸缩性、高可用性特点,并提供Restful管理接口。应用发布平台提供协议接入与解析、负载均衡、生命周期管理、失效恢复与容错等基础服务,可视化整个应用部署流程、部署策略和维护管理

15、。监控管理平台能够以分布式的方式对数据中心主机、操作系统、数据库、应用服务器和应用的性能数据进行自定义监控和展示。通过定义复杂的报警逻辑,并采用基于邮件、SMS的报警机制来通知管理员,能够第一时间对问题采取应对措施。2.3 功能需求基础运行平台(1)运行环境组件版本备注操作系统CentOS/Redhat 7.1对比7.0和7.1版本Docker1.9.1对比1.3.2,1.6.1和1.8.3版本Swarm1.0.0对比0.3、0.4和1.0.0版本Docker-registry0.9.1对比0.9.1和2.x版本(2)兼容性Swarm集群支持所有Docker指令。应用发布平台图3列出了应用发布

16、平台的6个子模块和17个功能模块:图 3应用发布平台功能需求主机管理:主机管理提供对物理服务器的管理,包括查看主机列表,连接主机,主机加入集群,主机移出集群,修改主机,删除主机功能;集群管理:集群管理是对服务器的统一规划和管理,包括查看集群列表,创建集群,修改集群,应用约束,添加主机,解绑主机,健康检查,恢复集群,删除集群功能;镜像管理:镜像管理是对镜像的统一管理,包括查看镜像列表,创建镜像,发布镜像,删除镜像,修正镜像功能;容器管理:容器管理是对容器的统一管理,容器中包含的是应用的具体实例。包括查看容器列表,创建容器,启动容器,停止容器,删除容器,同步容器功能;负载管理:负载管理是负载服务器

17、的逻辑实现,直接和负载服务器对接,目前采用nginx做负载均衡。包括查看负载列表,添加负载,添加应用,移除应用,修改负载,删除负载功能;仓库管理:仓库管理是仓库服务器的逻辑实现,直接和仓库服务器对接。包括创建仓库,修改仓库,删除仓库,同步镜像,查看镜像,查看仓库列表功能;应用管理:应用管理是对同一种类型应用的逻辑实现,应用和负载以及集群相关联。包括查看应用列表,创建应用,修改应用,删除应用;参数管理:参数管理是根据不同的类型,在和服务器交互时需要传递的参数的集合。包括查看参数列表,添加参数,修改参数,删除参数;模板管理:模板管理是对于容器提供时统一参数的管理,目前模板是对启动参数的集合,在容器

18、启动时指定模板,即可按照模板指定的参数进行。包括查看模板列表,添加模板,修改模板,删除模板;日志管理:日志管理是对用户操作行为以及用户操作请求的记录。包括查询日志,日志展示;用户管理:用户管理是对平台用户的统一管理。包括查看用户列表,创建用户,修改用户,删除用户,用户授权功能;角色管理:角色管理定义了平台中的角色,并且针对不同的角色赋予不同的权限,包括查看角色列表,角色授权,角色编辑功能;权限管理:权限管理定义了平台中可以操作的行为,并且限定了不同用户对同一个权限的可操作性,事项用户行为的隔离。包括查看权限列表,编辑权限名称功能;数据总览:数据总览是对运行在发布平台中所有的资源汇总,包括主机数

19、量,集群数量,负载数据量,仓库数量,镜像数量,容器数量等。监控管理:与监控平台互操作,将监控对象按需添加到监控平台中;报表管理:可查看周、月、季、年的资源监控信息,并可以按照一个格式导出,形成报表,比如PDF和excel格式;预警管理:为监控对象添加预警规则,防止应用因违反某条规则导致失效;服务管控:与中间件平台互操作,具有中间件服务升级和降级的能力;异常处理:具有流水的补偿和冲正操作客户信息查询、账户信息查询等能力。一体化监控平台一、容器内监控状态监控:状态监控功能需要监控的容器和中间件的状态包括:运行状态关闭状态性能监控:(1)Container监控数据主要包括:CPU利用率内存占用率网络

20、读速度网络写速度(2)DeviceMapper监控数据主要包括:DeviceMapper数据总大小DeviceMapper数据已使用量DeviceMapper元数据总大小DeviceMapper元数据使用量(3)Dubbo监控(中间件提供接口)(4)Zdal监控数据(中间件提供接口)(5)Sequence监控(中间件提供接口)(6)其它监控二、中间件监控(7)Zookeeper监控数据主要包括:平均延迟最大延迟最小延迟接收包数量发送包数量服务器角色Znode数量Watch数量Ephemerals数量数据大小Follower数量连接数已打开文件数最大文件数(8)Redis监控数据主要包括:cli

21、ent连接数client阻塞数内存使用量Human内存使用量Rss内存使用量Peak内存使用量Peak_human内存使用量Lua内存使用量数据加载量Rdb数据改变量Rdb数据保存量Rdb数据正在写入量集群有效性状态客户端最大输入缓存客户端最长输出缓存客户端连接数key命中次数key未命中次数内存碎片率cpu使用率(9)Nginx监控数据主要包括:接收的请求数活跃连接数读取客户端的连接数相应数据到客户端的数量处理的请求数(10)ActiveMQ监控数据主要包括:主体数队列数最大队列长度订阅节点数量(11)Tomcat监控数据主要包括连接数最大连接数并发线程数内存使用类加载个数(12)Mysql

22、监控数据主要包括Key_writes 将一个键值块物理写入磁盘的次数Max_used_connections 同时使用的连接的最大数目Open_tables 打开表的数量Opened_tables 已经打开的表的数量Questions 发往服务器的查询的数量Slow_queries 要花超过long_query_time时间的查询数量Threads_connected 当前打开的连接的数量Threads_running 不在睡眠的线程数量三、监控报警支持邮件和短信报警。2.4 非功能需求基础运行平台支持大规模应用场景:单个Docker集群可管理不小于100台物理机,且易于扩展;性能需求:能够快速响应系统的状态同步、查询等请求,同步间隔不超过30秒,查询响应延迟小于2秒;安装与配置简单,学习成本低:基础运行平台可以通过一键安装脚本进行安装。应用发布平台支持多种客户端、跨异构平台:支持多种客户端,如Web浏览器、Java客户端等;可运行在多种操作系统上,如Linux、Unix和Windows等;可定制和可扩展的安全机制:提供可配置和可扩展的,满足公司需求安全实现;灵活的应用部署机制:支持本地、FTP和War上传等多种机制。一体化监控平台支持大规模应用场景:满足多租户部署应用的大规模使用场景,单个Docker集群实例的监控规模不小于10

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论