《云原生微服务架构设计方法与实践—戴尔科技集团 彭建华(28页).pdf》由会员分享,可在线阅读,更多相关《云原生微服务架构设计方法与实践—戴尔科技集团 彭建华(28页).pdf(28页珍藏版)》请在三个皮匠报告上搜索。
1、云原生微服务架构设计方法与实践彭建华戴尔科技集团大中华区战略服务团队应用服务部云原生趋势云原生趋势技术正在改变各行各业1 IDC FutureScape:2018 年 10 月发布全球 IT 行业 2019 年预测-文档编号 US44403818经济愈发趋向于数字化经济愈发趋向于数字化竞争优势竞争优势数据软件成功意味着提供数字服务,由数据提供支持,并在多云环境中运行。60%(到 2022 年)全球 GDP 中占企业现状:从需求提出到产品化需要半年以上改进应用组合是第一要务去年未实现任何改进48%78%到到 2022 年,将有年,将有90%的新企业级应的新企业级应用使用云原生方法交付用使用云原生
2、方法交付到到 2022 年,将有年,将有70%的企业具有统的企业具有统一的虚拟机、一的虚拟机、Kubernetes 和多云环境管理和多云环境管理流程、工具流程、工具和具备这些技能的员工和具备这些技能的员工到到 2024 年,全球将有年,全球将有5亿亿云原生应云原生应用用由 Forrester Consulting 代表 VMware 进行的一项委托研究。“How Transformative CIOs Use Customer Experience to Differentiate&Deliver Results”,2020 年 2 月。IDC FutureScape 2020但云原生应用将很
3、快成为新标准但云原生应用将很快成为新标准什么是云原生?传统应用云原生应用应用开发周期3-6个月1-2周应用测试周期2-4周2-4天应用部署周期1-2周10-20分钟应用迭代周期6-12个月1次1天6-12次应用规模扩展纵向扩展,1-2周横向扩展,5-10分钟“敏捷”是企业能以多快的速度将想法落地成实际业务的能力(from idea to production)云原生带来的改变云原生带来的挑战现代应用挑战云原生体系组装非常复杂且耗时日常进行修补、版本控制和扩展以保持生产就绪状态保留现有的应用、技能和基础架构投资必须在私有、公有和边缘端的多个云环境中运行工作负载的同时完成这些工作。123在实际的多
4、云环境中在实际的多云环境中PaaS云平台现代应用挑战应用PaaS计算IaaS微服务存储网络云管理单体应用数据库商业软件应用云平台TanzuKubernetesCloudFoundry 将应用与运行环境解耦 支持多种开发语言 支持容器技术 支持微服务架构 自动化持续构建部署 实时监控,自动化运维 弹性伸缩,动态扩展 灰度发布,升级无业务中断 多租户隔离,基于角色控制访问 故障自愈,高可用性微服务架构微服务架构众多因素驱动IT走向微服务架构基础架构应用架构重型应用微服务物理/虚拟IaaS/PaaSIT业务从交易型转向交互型IT功能快速迭代开发需求IT系统水平扩展需求客户端的多样性IT系统持续发布需
5、求大数据技术推动业务智能化云计算及容器技术发展成熟什么是微服务架构微服务架构将单一的应用使用一套微型服务的方式来构建,这些微型的服务在各自的进程中运行并通过轻量级的进程通讯方式交互(通常是HTTP的API方式)。这些服务基于业务职能构建并能够由全自动的部署方式进行单独的部署,这些服务是去中心化的,并有可能由不同的开发语言使用不同的数据存储模式来构建。关键特征:关键特征:基于业务功能来划分 只在微服务中处理复杂业务逻辑 业务功能去中心化,各司其职 数据管理去中心化,分布式数据 微服务间轻量级的通讯机制 持续集成与持续发布 微服务之间需考虑失败可能性 微服务的可单独替换升级Data AccessS
6、erviceHTMLJavaScriptMVCServiceUI SpecialistsMiddleware SpecialistsDBAsBusiness CapabilityBusiness CapabilityBusiness Capability竖井式团队竖井式应用架构交叉式团队微服务应用架构微服务架构 vs 传统单体架构一体化架构一体化架构微服务架构微服务架构构建复杂/设计相对简单模块的依赖性由开发语言/开发框架/应用中间件决定应用更新周期紧耦合/无法快速迭代和部署伸缩能力有限,效率低下对新的开发人员而言比较友好,容易上手无法有效应对扩展性开发需要对于选定的技术路线的长期投资构建简单