分布式DevOps平台方案建议书.docx

上传人:b****0 文档编号:524279 上传时间:2022-10-10 格式:DOCX 页数:84 大小:2.49MB
下载 相关 举报
分布式DevOps平台方案建议书.docx_第1页
第1页 / 共84页
分布式DevOps平台方案建议书.docx_第2页
第2页 / 共84页
分布式DevOps平台方案建议书.docx_第3页
第3页 / 共84页
分布式DevOps平台方案建议书.docx_第4页
第4页 / 共84页
分布式DevOps平台方案建议书.docx_第5页
第5页 / 共84页
点击查看更多>>
下载资源
资源描述

分布式DevOps平台方案建议书.docx

《分布式DevOps平台方案建议书.docx》由会员分享,可在线阅读,更多相关《分布式DevOps平台方案建议书.docx(84页珍藏版)》请在冰豆网上搜索。

分布式DevOps平台方案建议书.docx

分布式DevOps平台方案建议书

分布式DevOps平台

方案建议书

第一部分方案建议书

1.项目介绍

1.1项目背景

互联网的商业化应用对传统金融机构的业务产生了巨大影响,促使了互联网思维向金融市场发展,它体现出商业银行的三大转型趋势:

(1)高度重视互联网“长尾效应”,提升客户活期存款价值;

(2)挖掘互联网渠道的潜力,提高基金代销和理财产品的服务效益;(3)制定大数据经营战略,打造联盟电商平台。

银行作为金融的重要组成部分之一,是我国经济运筹的协调中枢,也是我国战略的核心。

传统银行业务系统具有封闭性,用户访问峰值可预测,应用版本迭代慢,创新性不足,通常采用IOE架构和人工运维手段满足用户需求。

随着银行互联化化发展趋势,业务系统呈现出开放性,用户量不可预测,应用新功能更新频繁的新特点。

为进一步完善金融互联化基础平台的产品体系,分布式系统DevOps平台主要解决应用自动化部署、运行和维护管理的问题,用以弥补基础资源与应用系统间的技术鸿沟,提升具备大并发、高可用特性的应用的研制效率与质量。

DevOps平台核心用途是金融互联网创新应用提供创建、部署、运行、监控管理等运行时环境,提供协议接入与解析、负载均衡、生命周期管理、错误容忍与失效恢复等基础服务,使之具备高可靠性、高伸缩性、高可用性、易定制性等特点,主要分为基础设施、应用发布和监控管理三部分,分别为银行业务系统互联网化提供技术基础、自动和可视化管理、可靠性保障

在基础设施方面,越来越多的公司正在采用轻量级虚拟化技术,通过复用底层OS实例而非实例化OS实例的手段(轻量级),使得银行业务系统具有秒级启动的能力,可较好满足银行业务系统的部署时效性需求。

当前,轻量级虚拟化方案主要包括LXC和Docker两类。

其中,后者具有隔离和应用环境固化的新特性,能很好满足银行业务系统部署的安全和自动化需求,是技术发展的主流。

在应用发布方面,为了满足基于Docker的应用部署、运行和维护的易操作需求,应用发布平台具有可视化应用部署、负载均衡等能力,可一键化构建出应用及其运行环境与Docker基础设施的映射关系;并具有与监控平台协同工作的能力,及时发现基础设施、应用的失效,并采用补偿等机制进行修复,保障银行业务系统的高可靠运行。

在监控管理方面,为了应对数据延时和IT资源分散状况,越来越多的公司正将服务和应用程序从远程分支机构迁移到数据中心集中管理,这就使得数据中心的IT资源越来越多,数据中心越来越趋于大型化,管理对象包括小型机、服务器、虚拟机、数据库和各种应用,传统的网络管理和监控面临巨大挑战。

在这种情形下,监控管理和可靠性保障是保证服务质量的关键。

1.2项目目标

针对网络计算环境开放、动态、多变的特性,面向大型网络应用高效运行的服务质量需求,研发DevOps平台。

该平台为应用提供创建、部署、运行、监控等全生命周期管理,并提供协议接入与解析、负载均衡、失效恢复,以及异构数据库透明访问等服务,使其具备高可靠性、高伸缩性、高可用性、易定制性等特点。

可以根据用户实际需求和特点,提供灵活配置,真正实现按需服务。

应用发布平台既遵循国际规范,更注重技术上的不断创新,不仅在功能上与国际主流产品保持同步,而且在系统的可伸缩性、可靠性、安全性以及稳定性等方面也具有较强的优势。

其中,DevOps平台主要包含三个方面:

在基础设施平台方面,采用轻量级虚拟化实现技术——Docker,用于物理资源分时复用、应用实例隔离和应用环境固化。

重点实现私有局域网环境下Docker集群管理、Docker可用性和可靠性评估、Docker镜像存储方案等关键技术,对不满足我行需求的Docker实现进行改造和完善。

在应用发布平台方面,基于自主研发、可视化交付、向导式操作原则,以应用部署、运行和维护为核心,采用补偿机制同步应用发布平台和基础设施平台的状态一致性,采用事件机制实现应用发布平台和监控平台的互操作。

使得应用的异常可在监控平台中及时的发现,应用的管理可在发布平台中容易执行。

监控管理工具从性能监控和故障监控两个方面实现对大并发服务引擎的全面监控。

性能监控模块利用监控代理程序获取性能数据,服务器端收集性能数据,并利用持久化存储工具将数据存入数据库,利用这些数据实现物理机和虚拟机性能的监控。

故障监控模块配置监控主机与服务,并利用监控插件实现检测,将结果信息上传给服务器,服务器端实时监控并产生告警信息。

性能监控、故障监控、告警和统计报表共同构成DevOps平台的监控体系,使系统管理人员可以实时了解大并发服务引擎的运行状况,及时处理异常状况,提高DevOps平台的服务质量。

2.系统需求分析

2.1系统目标

我行股份公司是中国大陆第一家由民间资本设立的全国性商业银行,是我国金融行业的重要组成部分,也是我国银行界金融互联化化的先驱,其直销银行业务突破了传统实体网点经营模式,主要通过互联网渠道拓展客户,具有客群清晰、产品简单、渠道便捷等特点,其充分尊重互联网用户习惯,提供操作便捷的网站、手机银行和微信银行等多渠道互联网金融服务。

为了进一步适应直销银行互联化需求,

(1)用户访问难以预计,应用需要根据访问量调整自身的规模,比如类似淘宝“双十一”凌晨瞬时并发量超过1000万。

未来,随着直销银行业务的不断推进,系统应能承担大规模批量开户、促销活动等高并发交易量的场景。

(2)版本迭代频率高。

直销银行通过互联网直接为客户提供服务,应参考业界的互联网公司产品的推出速度,预计最少1-2周更新一次。

为满足以直销银行为代表的银行业务互联网化需求,分布式核心系统主要包含两个部分,一是将直销银行等应用由传统的IOE架构改造成分布式系统架构,解决应用本身的容量瓶颈;而是优化直销银行等应用的基础架构,使得这些应用具有更好的扩展性,更便捷的交付能力,为按需可靠资源提供奠定基础,整体需求如图1所示。

图1分布式核心系统总览

本项目主要关注基础设施(资源易管理)、可视化和自动部署、可监测可预警,以应用为核心,关注其部署、配置、运行和运维,简化应用开发和运维的交付复杂度,即DevOps平台应,其具备以下功能:

●开发者进行新版本的应用开发后,应具有应用模板自动制作和发版,按需生成可运行的应用集群的功能。

●运维人员通过可视化界面,选择合适的部署策略,即可完成应用新版本的发布、审计和维护;

●在新版本发布后,系统具有应用监测的能力,并可根据预先设置的策略,完成应用的伸缩管理和容错管理。

为解决以上问题,云平台的构建引入业界先进的DevOps(英文Development和Operations的组合)思想。

DevOps是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。

云平台能够解决应用部署繁琐,开发和运维部门沟通耗时,人工部署复杂易错的问题,有效提升应用部署管理效率。

具体而言,研发基于Docker的云平台实现应用的快速发布、部署,运行与维护管理平台(简称DevOps平台)。

分布式核心系统的应用程序将运行在Docker云平台上。

该平台包含Docker集群管理、应用发布管理和一体化监控。

项目将使用最新的DevOps思想实现应用的快速开发投产,提升版本发布、维护的自动化水平,降低生产维护人员的工作成本和投产风险。

如图2所示,DevOps平台主要由三大子平台组成:

●基础设施平台:

采用Docker集群复用底层物理资源,其目的是实现物理资源的可编程,提高资源利用率;利用Docker可固化应用运行环境的特点,简化应用部署的复杂度。

●应用发布平台:

应用发布平台用户构建应用和物理资源的映射关系,它采用可视化手段,在帮助运维人员在维护直销银行等应用时,屏蔽底层物理资源分配的复杂性。

●一体化监控:

一体化监控的作用是监测应用(运行在Docker容器上)的可用性,并采用预警机制,预先对可能出现问题的应用进行报警,帮助运维人员快速发现、定位问题,并将应用从失效状态进行恢复。

图2DevOps平台组成

2.2系统特点

a.基础运行平台

为应用提供运行基础环境,具有分时复用物理资源,提高资源利用率能力;具有固化应用及其运行环境,简化应用部署的能力;具备高可靠性、高伸缩性、高可用性特点,并提供Restful管理接口。

b.应用发布平台

提供协议接入与解析、负载均衡、生命周期管理、失效恢复与容错等基础服务,可视化整个应用部署流程、部署策略和维护管理。

c.监控管理平台

能够以分布式的方式对数据中心主机、操作系统、数据库、应用服务器和应用的性能数据进行自定义监控和展示。

通过定义复杂的报警逻辑,并采用基于邮件、SMS的报警机制来通知管理员,能够第一时间对问题采取应对措施。

2.3功能需求

a.基础运行平台

(1)运行环境

组件

版本

备注

操作系统

CentOS/Redhat7.1

对比7.0和7.1版本

Docker

1.9.1

对比1.3.2,1.6.1和1.8.3版本

Swarm

1.0.0

对比0.3、0.4和1.0.0版本

Docker-registry

0.9.1

对比0.9.1和2.x版本

(2)兼容性

Swarm集群支持所有Docker指令。

b.应用发布平台

图3列出了应用发布平台的6个子模块和17个功能模块:

图3应用发布平台功能需求

Ø主机管理:

主机管理提供对物理服务器的管理,包括查看主机列表,连接主机,主机加入集群,主机移出集群,修改主机,删除主机功能;

Ø集群管理:

集群管理是对服务器的统一规划和管理,包括查看集群列表,创建集群,修改集群,应用约束,添加主机,解绑主机,健康检查,恢复集群,删除集群功能;

Ø镜像管理:

镜像管理是对镜像的统一管理,包括查看镜像列表,创建镜像,发布镜像,删除镜像,修正镜像功能;

Ø容器管理:

容器管理是对容器的统一管理,容器中包含的是应用的具体实例。

包括查看容器列表,创建容器,启动容器,停止容器,删除容器,同步容器功能;

Ø负载管理:

负载管理是负载服务器的逻辑实现,直接和负载服务器对接,目前采用nginx做负载均衡。

包括查看负载列表,添加负载,添加应用,移除应用,修改负载,删除负载功能;

Ø仓库管理:

仓库管理是仓库服务器的逻辑实现,直接和仓库服务器对接。

包括创建仓库,修改仓库,删除仓库,同步镜像,查看镜像,查看仓库列表功能;

Ø应用管理:

应用管理是对同一种类型应用的逻辑实现,应用和负载以及集群相关联。

包括查看应用列表,创建应用,修改应用,删除应用;

Ø参数管理:

参数管理是根据不同的类型,在和服务器交互时需要传递的参数的集合。

包括查看参数列表,添加参数,修改参数,删除参数;

Ø模板管理:

模板管理是对于容器提供时统一参数的管理,目前模板是对启动参数的集合,在容器启动时指定模板,即可按照模板指定的参数进行。

包括查看模板列表,添加模板,修改模板,删除模板;

Ø日志管理:

日志管理是对用户操作行为以及用户操作请求的记录。

包括查询日志,日志展示;

Ø用户管理:

用户管理是对平台用户的统一管理。

包括查看用户列表,创建用户,修改用户,删除用户,用户授权功能;

Ø角色管理:

角色管理定义了平台中的角色,并且针对不同的角色赋予不同的权限,包括查看角色列表,角色授权,角色编辑功能;

Ø权限管理:

权限管理定义了平台中可以操作的行为,并且限定了不同用户对同一个权限的可操作性,事项用户行为的隔离。

包括查看权限列表,编辑权限名称功能;

Ø数据总览:

数据总览是对运行在发布平台中所有的资源汇总,包括主机数量,集群数量,负载数据量,仓库数量,镜像数量,容器数量等。

Ø监控管理:

与监控平台互操作,将监控对象按需添加到监控平台中;

Ø报表管理:

可查看周、月、季、年的资源监控信息,并可以按照一个格式导出,形成报表,比如PDF和excel格式;

Ø预警管理:

为监控对象添加预警规则,防止应用因违反某条规则导致失效;

Ø

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 环境科学食品科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1