云原生架构实施路线图.docx
《云原生架构实施路线图.docx》由会员分享,可在线阅读,更多相关《云原生架构实施路线图.docx(8页珍藏版)》请在第一文库网上搜索。
1、云原生架构实施路线图AA【导读】云原生架构体系内容众多,建设做不到一步到位,彼此之间也存在着先后次序相关性,需要通过一系列项目持续完成相关的能力,从而实现云原生融合架构。本文分享了根据云原生架构体系中技术之间的关系和实际经验,基于“顶层规划+分步实施”的原则,定义为5个步躲的云原生架构实施路线图。通过本文能够相对深入的理解云原生架构体系,并为企业实际做出顶层规划提供启发。云原生架构体系内容众多,如果深入到微服务、容器、DevOps.服务网格ServiceMesh、自服务敏捷基础设施、混沌工程、安全等任何一项内容都有很多的工作需要做。比如说微服务,一套SPringC1OUd开发框架就需要很多的学
2、习成本,更别说还有很多其他的框架、方法和思想,比如微服务的拆分领域驱动设计DDD方法等。云原生这么多的内容做不到一步到位,而且彼此之间也存在着先后次序相关性,它需要通过一系列的项目持续完成相关的能力,从而实现云原生融合架构。由于云原生架构体系内容众多,需要对其有相对深入的理解并能根据企业实际做出实施顶层规划,然后以分步实施的方法边建设边交付价值,使整个体系建设具备可持续性。图1云原生融合架构实施步骤根据云原生架构体系中技术之间的关系和实际经验,基于“顶层规划+分步实施”的原则,云原生架构实施路线图我们定义为5个步骤:1 .微服务采用及运行环境容器云平台构建;2 .服务管理和治理;3 .持续交付
3、及安全;4 .自服务敏捷向基础设施建设;5 .增强生产环境韧性和安全性。每个实施步躲又可以根据实际建设需要分为若干个子项目,并可能需要多次迭代。比如说,步躲一微服务采用及运行环境构建,容器云平台建设和系统微服务架构采用可能需要分别以不同的项目立项。容器云平台作为基础设施平台,可能还需要规划采购服务器、存储、网络设备等,也可能需要根据微服务系统改造进度持续进行采购。微服务的设计开发就是个持续的过程,可能涉及不同系统的新建或改造重构。同时呢,也可能需要前期的咨询、规划指导和培训等。不同的单位实际情况不同,所采取的步骤和方式也会不同。1 .步骤一:微服务采用及运行环境构建云原生架构体系中,应用是交付
4、业务价值的载体,而微服务是构建业务应用的技术。经微服务架构分解的应用服务运行在容器中。所以第一步在采用微服务的同时需要构建容器环境支撑微服务的运行。基于容器技术和容器调度管理技术如Kubernetes构建企业内私有容器云平台支撑微服务应用系统的部署、运行和管理,实现微服务运行时环境支持,基于容器云平台可以实现相关的自服务敏捷能力,比如弹性扩展、服务路由、分发限流、健康检查、错误隔离、故障恢复、资源调度等。以云应用12或15要素为指导设计微服务。当前微服务分拆的方式通常是基于领域驱动设计(DDD)方法。不过DDD对业务领域的划分往往难以清晰定义领域边界,存在着领域划分不合理、数据同时存在于不同领
5、域的问题,为每个服务选择合适的责任级别及其范围是困难的,需要极深的经验和对业务的理解。因此MartinF1OwIer建议可以先建一个传统的大一统系统,在对领域知识有更好的了解以后,再通过重构将其改造成微服务。笔者觉得DDD通过领域划分可以在一定程度上简化业务关系,从而简化微服务设计,但领域划分也使每个领域缺乏全局认识,所以DDD更像是一种分类简化的设计方法,这会造成多次的重复迭代,造成浪费。而MartinF1OWIer的建议则使DDD有了全局的视角,能够从上到下,全局来看到领域划分和设计,但这个大一统系统并不容易建设。笔者基于实践提出了“主数据驱动设计”的微服务设计方法,主数据本来就是系统间共
6、享的高价值数据,基于企业主数据设计的微服务天然具备系统间的可重用性。而且基于行业通用数据模型(COmmonDataMode1,CDM)则很容易定义并完善主数据微服务,减少重复的迭代设计和实现。2 .步骤二:服务管理和治理微服务架构在分解应用的同时也带来了微服务数量的成倍增长,使服务的管理和治理难以通过人工完成。随着微服务量的增加,需要完善服务的管理和治理能力。在完成容器云平台运行时支撑建设之后,可以侧重实现服务的治理和AP1的定义,以支持高效的管理和敏捷的服务编排响应,同时实现基于AP1的协同。微服务治理有多种实现的方法。基于容器云平台可以直接利用k8s的能力实现服务的注册发现、配置、路由分发
7、、负载均衡、弹性扩容等,不过容器云平台要作为企业级应用支撑平台,需要在Kubernetes之上扩展实现服务的管理和治理能力。CNCF推荐用ServiceMesh,代理东西向流量,支持跨语言。Porvita1的SpringC1oud框架提供了相对完整的服务治理实现,比如服务的注册发现、配置、熔断、客户端负载均衡等,但仅支持Java;等等有众多的框架和技术。微服务架构提出的一个主要目的就是通过AP1来屏蔽开发语言,无论用什么开发语言,只要遵循同样的API,都可以进行协同。其实这类似于地球上不同国家之间的交流,通过相互可以理解的公共语言就可以对话。因此在实现服务治理时需要考虑跨平台能力以及对内和对外
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 原生 架构 实施 路线图
![提示](https://www.001doc.com/images/bang_tan.gif)