微服务弹性资源管理平台构建-微服务架构实践

微服务弹性资源管理平台构建-微服务架构实践
    马上咨询

    杜威  高级研发管理顾问,资深系统架构师,微软企业护航专家

    曾在多个全球500强研发中心研发中心服务近17年时间,参与多个全球协作的大型研发过程,积累了丰富的研发设计及管理的实战经验。近 17 年从事研发管理、产品管理及高端架构设计方面的工作。杜先生同时是微软企业护航专家。具有10多款大中型产品的研发管理、设计、实施及质量管理经验,包括可口可乐GKPMS,Schlumberger Horizon(全球下一代能源勘探开发平台)Viewers,RTPM(全球实时油藏分析与管理平台),Dolphin(面向全球的中间件开发平台),中国移动BI个性化客户沟通项目, CCM-Customer Communication Management(全球最大个性化客户沟通产品),Sagent(全球著名BI产品)。 近 17 年的产品及项目的研发过程中,在多个全球协作开发的大型项目上实践过,如:大型应用系统的需求分析,基于用例的需求分析,基于功能点的项目管理过程实践,敏捷开发,基于迭代的开发流程管理,大型项目群管理,单元测试, TDD(测试驱动的开发),大型应用系统的核心架构设计,基于领域模型的驱动开发(Domain Driving Development),海量数据/大数据存取的架构设计及实践,详细设计推动代码实现及质量, 持续集成, 高质量代码管理,等多种先进的软件研发过程,在大中型软件的项目管理,需求分析,研发管理, 架构设计及质量控制领域有相当丰富的实践经验。

    课程简介

    微服务作为一项在云中部署应用和服务的新技术已成为当下最新的热门话题。微服务是一个新兴的软件架构,把一个大型的单个应用程序和服务拆分为为数众多的支持微服务。一个微服务的策略可以让工作变得更为简便,它可扩展单个组件而不是整个的应用程序堆栈,从而满足服务等级协议。

    企业和服务提供商正在寻找更好的方法将应用程序部署在云环境中,微服务被认为是未来的方向。通过将应用和服务分解成更小的、松散耦合的组件,它们可以更加容易升级和扩展,理论上是这样。

    讲师将结合微服务在企业应用的实践, 展开对微服务架构设计的应用与思考,课程上覆盖构建微服务的10多种框架探讨与经验分享,帮助参课的学员更好的进行微服务应用的落地,实践性非常强,在前期多家知名企业的内训中都取得非常好的反馈。 

    课程对象

    • 架构师
    • 资深开发人员
    • 开发人员
    • 项目管理人员

    课程实施

    课程通过4种方式实施:

    • 实践经验分享
    • 大型实例案例分析
    • 深入探讨
    • 系统性理论知识梳理

    课程特色

    本课程方案注重微服务架构的实战过程,去掉了一定量的理论,把实战的比重增大到总课时数的60%。其余40%为理论以及指导性的流程。

    贯穿课程案例:

    课程通过讲师实践过的一个大型系统的微服务重构过程,通过案例贯穿课程中主要关键点:

    • 既有系统重构到微服务
    • 微服务整体架构设计

    课程安排(3天)

    第一天
    大型分布式系统的核心思想
    • 通过一个大型分布式应用系统的核心架构讲解如何实现:高并发,高性能,高可用,横向扩容的巨石系统应用架构
    • 巨石系统架构的缺陷
    微服务架构的引入
    微服务的核心架构思想
    • 什么是微服务 
    • 微服务服务自治的核心思想 
    • 微服务的粒度
    • 微服务拆分的核心思想
    • 微服务平台的核心价值 
    • 微服务的运行方式
    • 微服务的隔离舱实现
    • 技术异构性的解决方案
    • 弹性资源调度在统一应用的微服务平台上的实践
    • 扩容与缩容
    • 简化部署与快速开发
    • 微服务下的开发流程与组织结构相匹配
    • 微服务的组合与编排调度
    • 对可替代性的优化 
    • 面向微服务的架构 
    • 遗留系统重构到微服务的关键点
    典型案例分析:分析一个千万级代码、全球多中心协同开发的大型商业化软件,在微服务架构设计中的实践与开发管理, Framework,开发流程调整,研发转型的分享
    微服务平台与服务设计的核心12要素
    • 服务中的基准代码管理策略
    • 服务依赖管理管理策略
    • 服务配置信息管理策略
    • 服务后端服务平台的构建
    • 服务的构建,发布,运行与持续集成的引用-DevOps的实现思想
    • 服务进程化的无状态与有状态设计分离问题
    • 服务通过端口的暴露
    • 服务的并发与扩容设计
    • 服务设计的Disposability提供简易的强健壮性
    • 服务实现时保持 开发, 测试, 上线的环境一致性
    • 服务的统一日志管理框架
    • 服务管理进程的设计
    典型案例分析:分析全球多中心协同开发的大型商业化软件,在微服务实现过程中对于12要素的实现方法 
    Restful的微服务构建
    • Restful 微服务的特点
    • Restful 微服务的访问方式
    • Restful 微服务的注册与发现
    • Restful 微服务的端口定义原则
    • Restful 微服务的构建工具
    • RPC与Restful 微服务的混合架构

    案例实践:

    从业务的角度拆分Restful微服务,构建Restful微服务,启动Restful微服务
    微服务架构设计之容器篇构建
    • 微服务架构设计容器选择Docker原因
    • Docker对微服务构建的核心技术与应用场景
    • 微服务构建到Docker容器中

    案例实践:

    构建微服务并在Docker中进行多实例发布(不通过端口映射方式),注册微服务到APIGateway,实现原始方式的微服务容器化,帮助理解Docker快速发布等特性对微服务的应用场景
    第二天
    开源框架在微服务平台下的应用于选型-构建微服务的基础设施基于Docker集群的弹性平台集群构建
    • 集成Docker构建弹性资源平台
    • Kubernetes的微服务集群构建
    • 微服务集群的搭建
    • 微服务的弹性资源调度管理
    • 微服务副本管理实现
    • 实现微服务扩容与缩容
    • 实现Service Gateway, 完成服务注册与服务路由
    • 微服务集群服务路由的4层与7层均衡负载
    • 基于微服务集群实现均衡负载
    • 基于微服务集群实现微服务无缝升级

    操作实践:综合实践操作通过一个实践案例, 完成Docker微服务集群的整合构建,构建微服务容器编排平台进行微服务核心框架的应用与讲解

    实例分析:微服务ServiceGateway实现

    实例分析:微服务均衡负载实现

    实例分析:微服务无缝升级实现
    微服务治理中的核心问题与解决方案-构建与实现-细节到详细设计

    • 微服务发现与负载均衡
    • 微服务的服务管理中心设计
    • 服务路由的设计
    • 服务路由的负载策略
    • 配置中心化及变更管理
    • 微服务发布服务器
    • 从微服务的构建到Docker
    • 配置的集中管理
    • 配置的注册
    • 配置的变更
    • 配置的变更通知
    • 微服务日志管理
    • 微服务的基础日志服务
    • 集中日志管理的架构设计
    • 应对高并发的微服务日志处理
    • 微服务日志中的削峰处理
    • 微服务日志的解析与检索
    • 微服务日志监控
    • 微服务扩容与缩容
    • 集中资源的管理与调度
    • 扩容的策略
    • 与微服务管理集群的集成
    • 动态的微服务扩容
    • 微服务监控
    • 通过微服务集群监控硬件资源的使用
    • 使用微服务集群监控微服务状态
    • 基于应用的微服务监控而不是基于硬件的微服务监控
    • 微服务授权与防攻击
    • 身份认证
    • 电子证书
    • 授权与用户验证
    • 微服务隔离舱
    • 使用Docker实现微服务隔离舱
    • 如何在Docker中部署微服务
    • 微服务限流
    • 限流的设计
    • 限流的策略
    • 限流实现在哪里
    • 微服务熔断
    • 熔断的设计
    • 熔断的策略
    • 熔断实现在哪里
    • 微服务降级
    • 分级的设计
    • 降级的实现
    • 降级对计算资源的调度
    • 动态降级与计算资源
    • 微服务上线验证与灰度发布
    • 微服务版本控制
    • 灰度升级的数据问题
    • 微服务错误分析与调用链跟踪
    • 微服务的集中日志管理
    • 微服务编排调度日志实现
    • 微服务实例调度
    • 调度路径与管理
    • 微服务的调用
    • 微服务路由与调用
    • 微服务的无缝升级

    无缝升级的版本控制设计

    无缝升级的服务路由设计

    典型案例分析:分析一个千万级代码、全球多中心协同开发的大型商业化软件,在架构设计中的微服务架构设计。掌握微服务架构设计设计的设计技巧,提升业务的可扩展性与灵活性

    典型案例分析:结合Docker与微服务集群构建一个微服务平台
    面向微服务的高可扩展框架设计的核心设计思想
    • 面向微服务的松耦合架构的核心设计思想
    • 把需求变化的影响面控制在很小的范围内如何做到,使业务变更所带来的影响最小
    • 微服务的定义
    • 微服务自治的核心思想
    • 基于微服务的业务逻辑层设计
    • 抽象业务成为微服务,以微服务形式提供
    • 微服务的架构设计
    • 微服务的解耦设计
    • 微服务远程的实现分析 RPC还是Restful
    • 微服务热拔插,微服务热部署的架构核心设计思想
    实现可拔插微服务的设计目的
    微服务数据体系架构设计
    第三天
    微服务架构设计之性能评估&扩容篇
    • 微服务架构之服务性能评估目的;
    • 微服务架构之服务性能相关环节;
    • 微服务架构之服务性能评估工具
    • 微服务架构之服务性能评估方法;
    • 微服务架构之服务扩容; 
    微服务架构之我们的案例;
    微服务架构设计之监控篇
    • 微服务架构监控重要性;
    • 微服务架构监控数据采集方法;
    • 微服务架构监控设计;
    • 服务架构之进程监控;
    • 微服务架构之语义监控;
    • 微服务架构之错误日志监控;
    • 微服务架构之机器资源监控;
    • 微服务架构之数据波动监控;
    • 使用ELK(Elasticsearch、Logstash和Kibana)搭建微服务集群监控平台
    微服务架构设计之我们的实践案例;
    微服务架构设计之自动化部署篇
    • 微服务架构设计自动化部署目的;
    • 微服务架构设计自动化部署为什么选择Jenkins;
    • 微服务架构设计Jenkins环境搭建
    • 微服务架构设计自动化部署模式/架构;
    微服务架构设计之我们的实践案例;
    基于微服务的DevOps的应用实现
    • 敏捷后从开发到运维依然存在障碍, 导致上线的问题
    • 如何实现快速的开发到运维的自动化管道Pip-DevOps
    • DevOps的实现实践分析
    • DevOps中的 Delivery Pipline
    • DevOps中的 Code Pipline的开源实现
    • DevOps的持续集成过程
    • 微服务在DevOps中的重要价值
    • Git, Jenkins, Maven, Docker? J
    • 结合客户的真实情况:分析未来实现DevOps的规划步骤
    典型案例分析:分析全球100强的研发中心,在DevOps领域的应用与探索
    课程回顾及咨询建议