PAAS平台基本概念
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
云计算技术的发展已经经历过了第一代虚拟化、第二代资源池化,正向第三代云计算技术前进——以容器、微服务、DevOps为关键技术和特征,能够满足金融业新型业务对快速部署、弹性扩展、自动化运维等核心需求。
•Openstack:开源企业级虚拟化及云计算管理平台,具有开放、稳定、生态完善等特点。
•Docker:容器级云应用快速部署及运行支撑平台,提供快速部署、弹性、应用编排等功能。
•DevOps:应用开发、测试、部署、升级的一体化平台及流程,缩短上线流程、降低运维风险。
•运维自动化:实现对多种环境和多种对象统一化管理,以异构管理、批量化、自动化为主要特征。
•环境管理
管理基础设施中的多个环境分区,并各个环境中的调度环境进行集中管理•仓库建设
建设并管理代码、应用、虚拟机、容器、组件与应用模板等仓库平台•调度平台
根据资源(基础设施、软件、容器等)类型建设并管理各类型资源调度平台•中间件
围绕高并发及微服务化需求构建消息通信、缓存、服务管理等中间件服务•服务治理
对业务服务进行发布、弹性伸缩、健康检查等管理管控,形成业务服务平台•业务编排
对应用、虚拟机、容器、中间件、服务等进行组件封装和编排服务•应用管理
对业务应用进行版本管理、升级、灰度发布、回滚、可用性、弹性等管理•监控与度量
监控业务运行性能,建立性能与可用性度量模型,支持弹性伸缩与容量分析
•运营支撑
建设日志、安全审计、权限管理、流程对接、数据同步等运营支撑平台•角色&多租户
围绕业务与组织架构设置角色体系,建设PaaS能力自服务门户
•基础Docker环境:基于统一化资源调度,综合建设物理服务器平台、虚拟化资源池平台、容器运行平台等
•服务治理&中间件:围绕应用开发及运行时需要的服务调用、消息通信、缓存加速、一致性协商、任务调度等问题,建设中间件服务平台•持续构建/编排部署:以DevOps理念支撑,构建应用持续构建、持续部署、软件仓库、编排模板管理的平台,支撑多角色多环境应用部署需求•自动化弹性:实时监控应用运行状态,自定义指标阈值,基于阈值告警实现业务的自动化弹性伸缩
两条设计原则+八条设计指南:
2原则
1.异步消息:利用消息系统解耦系统组件,提高系统的可扩展性与自愈性
2.数据一致性:识别不同数据的一致性模型(强一致性、最终一致性),设计
不同数据系统
8设计指南
1.缓存加速:利用缓存系统加速数据的读取速度,特别是对静态数据和只读库
表
2.计算分割:把计算按照逻辑分割成不同的组件,组件之间协同完成业务请求。
3.自动伸缩:实时监控系统的性能与负载压力,自动对性能瓶颈组件进行弹性
伸缩
4.数据区分:采用水平、垂直、功能等维度分布式存储到不同物理节点,提高
扩展性
5.数据多副本同步:利用多副本技术保障数据可靠性,根据需求选择不同的副
本同步策略
6.诊断&监控:收集请求、运行时、故障及性能计数等信息,定位瓶颈、故障
及错误恢复
7.多DC部署:从容错、负载均衡、数据保护等角度实现多中心部署架构及流
量路由/切换
8.度量&容量规划:对服务流量、性能、资源需求进行监控,度量服务需求,
对资源进行合理规划
消息编程注意问题:
1.根据队列长度自动扩展
2.消息故障时熔断保护
3.并发消费时负载均衡
4.基于优先级处理消息
5.排队削峰
6.超级监控确保分布式事务
推动MVC转向CQRS:
•服务治理:服务的元数据信息集中进行管理,包括服务路径、参数、描述、优先级等;服务实例向注册中心发布该服务信息
•服务分析:跟踪调用,从服务调用频度、服务依赖、服务扇入扇出数、服务响应延迟等多个维度分析服务
•自动弹性:根据服务分析结果和预定义的策略(如阈值)对服务实例数、服务资源分配等进行弹性伸缩,提高服务质量
•服务可用性:自动化检测服务可用性,并在发生可用性故障时快速实现主备切换,不影响可用性
•版本管理:提供服务实例的多版本管理能力,提供版本升级、版本回退、灰度升级等版本管理功能
•访问控制:提供访问控制机制,能够实现基于策略的访问控制,包括黑白名单、可用性范围等
•服务质量保障:包括服务弹性伸缩、流量控制、服务等级划分等,确保服务性能达到SLA规定。
•RPC框架:服务运行时平台的选型对于服务开发与服务运营都是关键性因素,候选技术包括spring boot、docker等
服务架构:解决服务发布、发现、调用、可用性维护、QoS控制、负载均衡等一系列问题。
运行支撑:提供服务封装、部署、运行监控、信息收集、弹性伸缩、主备切换等功能。
开发实施:提供开发SDK、多语言绑定、程序框架、部署测试工具集等,支撑服务开发开发部署。
基于Thrift的服务治理实现框架
基于Thrift的服务治理关键技术
应用编排&持续部署
Docker Compose vs Cloudify:
应用配置三要素:
•配置类型:不同的类型对应不同的处理流程,比如配置文件类型由配置文件插件处理;支持的类型包括:文件、可执行命令(shell或其他可执行程序)、SQL命令等。
•配置输入:不同的配置类型,其输入格式分别对应于配置模板文件、可执行命令(文件)、SQL语句;同时,配置输入还包括配置所需的其他参数,比如配置目标路径等,供插件具体执行配置时作为输入参数。
•配置阶段:配置分为检查阶段、环境准备阶段、部署前阶段、部署后阶段、启动前阶段、启动后阶段等,配置阶段定义了配置操作发生的阶段点(Stage),根据不同的配置,对应不同的配置阶段。
自动化弹性: