当前,大家都在热议企业数字化转型,抛开其背景和意义,仅从建设角度来说涉及的内容之广、概念之多、建设难度之大都让很多人转了半天还没理清涉及的知识体系和概念关于企业架构的微服务化涉及企业架构、业务架构、IT架构、SOA、微服务架构等众多概念,以下根据已有的资料做了一个归纳整理,下面我们就来说一说关于架构师微服务深度解析?我们一起去了解并探讨一下这个问题吧!

架构师微服务深度解析(企业架构业务架构)

架构师微服务深度解析

当前,大家都在热议企业数字化转型,抛开其背景和意义,仅从建设角度来说涉及的内容之广、概念之多、建设难度之大都让很多人转了半天还没理清涉及的知识体系和概念。关于企业架构的微服务化涉及企业架构、业务架构、IT架构、SOA、微服务架构等众多概念,以下根据已有的资料做了一个归纳整理。

企业架构微服务化

企业架构

企业架构是20世纪80年代的产物,其标志就是1987年Zachman提出的企业架构模型,该模型按照“5W1H”,即What(数据)、Where(网络)、Who(角色)、When(时间)、Why(动机)、How(功能)6个维度,结合目标范围、业务模型、信息系统模型、技术模型、详细展现、功能系统这6个层次,将企业架构分成36个组成部分,描述了一个完整的企业架构需要考虑的内容。

企业架构(EnterpriseArchitecture,EA)的定义在概念上没有统一标准,尽管企业架构的描述各不相同,但有一点是可以明确的即企业架构是企业的战略组成部分,旨在帮助企业有效地组织资源和完成IT战略规划。

企业架构的定义

企业架构是一个系统过程,它表达了企业的关键业务、信息、应用和技术战略以及它们对业务功能和流程的影响,是对企业多层面、多角度的建构和描述,主要包括业务架构、应用架构、数据架构和IT架构。

有很多不同类型的企业架构框架方法,TOGAF框架是众多企业架构框架理论中的一种。TOGAF通用性较强,完整性和实用性都比较高,为一个企业或组织对于企业架构的接受、创建、使用和维护提供了一系列辅助方法和工具。同时TOGAF还是一个基于迭代过程模型的企业架构框架理论,作为支持该过程模型的重要基石,TOGAF包括了各种最佳实践,以及一系列可重用的现有企业资产。简而言之,TOGAF是一种协助发展、验收、运行、使用和维护架构的工具,可帮助企业设计、评估并建立机构的正确架构,内容涵盖了企业架构生命周期中的方方面面,所以现阶段的企业架构咨询中经常使用TOGAF框架为客户进行架构规划。

Togaf:ADM框架

业务架构

业务架构从诞生之初就很清楚地定义了自己的使命:面向复杂系统构建。也就是说,业务架构与其他架构一样,其目的也是要降低复杂度,从更好地规划和实现系统,因此TOGAF将业务架构归属于IT战略部分。

业务架构的定义

以实现企业战略为目标,构建企业整体业务能力规划并将其传导给技术实现端的结构化企业能力分析方法。

如今大热的“中台”概念,说到底也是一种业务架构设计结果,是对企业能力的一种规划,只不过阿里的实践代表的是自下而上的积累方式,而业务架构设计通常是自上而下的规划与演变。

企业级业务架构是连接企业顶层战略和技术实现的桥梁,是业务人员和技术人员互相沟通理解的桥梁。业务架构基于企业目标进行业务能力和流程的整体规划,对业务能力进行标准化、组件化。实际上,遵循业务架构设计方法,不断基于自身的实践进行积累和调整,任何企业都能发现适合自己的架构,包括适合自己的中台规划,之后再根据企业的业务规模和发展预期选择合适的技术栈。企业级业务架构设计的真正威力还体现在对企业的整体认知、规划与改变上。深入开展企业级业务架构设计,足以将一个企业完整、深刻地联结在一起,这不是领域级设计可以解决的问题。从这个角度来讲,企业级业务架构设计堪称“中台之上”。相对自下而上的“生长”方式而言,企业级业务架构设计更适合于传统企业的数字化转型实践。(付晓岩.企业级业务架构设计:方法论与实践)

业务架构和IT架构的关系

TOGAF框架将业务架构视为IT战略的一部分,但事实上,业务架构应当是企业战略而非IT战略的一部分,它不同于通常意义上的业务需求,而是企业业务战略的实现方法。因此,业务架构范围是可以大于IT架构范围的,可以包含企业战略的非系统化部分,是企业业务的全景描述。IT架构则是用于企业信息化建设的,是企业战略的系统实现部分。二者之间的关系,用灵魂与容器来形容也许更为恰当。业务架构是灵魂,IT架构是容器,即灵魂的载体,没有灵魂,只有容器是没有生机的,所以,技术人员需要关注业务和业务架构。

IT架构

IT架构承载企业的业务架构,指导企业IT对业务的实现,并通过应用架构、数据架构、技术架构来具体呈现。

业务架构为IT应用架构提供企业全业务的统一完整输入,以补足IT应用架构差距为目的,设计各应用系统功能、进行范围划分、设计接口关系和数据实体等内容以完整匹配业务架构,通过对各应用系统设计的结构化表达从而组建成IT应用架构。IT应用架构被结构化为应用域、应用、应用组件、功能组件、公共组件共5层,通过定义、业务支撑关系、服务、数据、技术等要素进行标准化描述,实现IT应用架构的模型化定义。其中应用域、应用、应用组件3层用于匹配业务架构中的通道与业务组件层,通过映射关系的描述,实现应用系统对业务的全覆盖。功能组件与公共组件是对模块化后IT应用的进一步细分,能够使IT功能剥离于业务本身,降低了功能实现的复杂度。功能组件与公共组件将成为应用功能开发的承载层。通过构建技术开发平台,实现企业代码开发平台以及功能服务统一管理,并依此构建上层应用组件以支撑IT应用架构向应用系统的落地,技术开发平台成为IT应用架构的必要补充。结合实际,使IT基础环境匹配技术平台。(任钢.微服务设计:企业架构转型之道)

应用架构:应用架构根据业务架构的总体要求,描述支撑业务和管理的应用系统、主要功能和功能之间的关联关系,确定未来应用架构的部署模式。应用架构根据业务架构的总体要求,利用信息化技术对各种业务模式进行优化设计,形成规范、完整、灵活、可扩展的应用系统功能及系统之间的关联关系。

数据架构:描述企业的概念数据模型、逻辑数据模型、物理结构以及数据管理资源,包括数据的归类、与业务应用的关系、数据的使用和管理策略等。数据架构是信息化架构的核心之一。数据架构的主要作用:一是要识别出企业业务活动和管理活动中所涉及的、需要由应用系统处理的主要数据类型;二是满足数据管理的需要,明确企业的核心业务数据,保证这些数据在整个企业层面的一致性、完整性与准确性;三是分析业务运作模式的本质,为未来确定核心应用系统以及分析不同应用系统间的集成关系提供依据。数据架构规划主要包括数据定义、数据部署与数据管理3部分。

技术架构:描述实现应用架构所采用的技术,同时也包括支持应用系统部署所需的基础设施和环境。技术架构由企业级应用集成平台、公共服务平台、基础设施平台和信息安全平台组成。技术架构一般基于服务理念,遵循不同技术平台共存、开源软件与商业软件并存的原则,充分考虑当前前沿技术(如云计算、物联网)的应用,建立具有开放性、标准化和安全性的企业级集成架构和基础设施平台。

SOA(面向服务的架构)

服务这个概念是伴随着SOA概念提出来的。多年来,服务本身的含义已经发生了天翻地覆的变化,如何定义服务成了难题。无论是SOA架构、微服务架构,还是企业架构等,对服务的概念都有各自不同的定义。如果对服务这个名词定义不清晰,后面所讲的内容会混乱不堪,因此下面综合上述3种架构的定义,统一了服务的概念。

对于服务的总的共性定义为:服务是通过提供有规范契约的接口、能够带来实用价值的一种有形组件或逻辑表示。

面向服务架构(SOA)又称“面向服务的体系结构”,是Gartner于1996年提出的概念。2002年l2月,SOA成了“现代应用开发领域最重要的课题”,国内外计算机专家、学者开始了对SOA的积极研究与探索。但是关于SOA架构,目前尚未有一个统一的、业界广泛接受的定义。

SOA(面向服务架构),它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。服务层是SOA的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性。

SOA是一种粗粒度、松耦合服务架构,服务之间通过简单、精确定义接口进行通讯,不涉及底层编程接口和通讯模型。SOA可以看作是B/S模型、XML(标准通用标记语言的子集)/Web Service技术之后的自然延伸。SOA将能够帮助软件工程师们站在一个新的高度理解企业级架构中的各种组件的开发、部署形式,它将帮助企业系统架构者以更迅速、更可靠、更具重用性架构整个业务系统。较之以往,以SOA架构的系统能够更加从容地面对业务的急剧变化。SOA系统是一种企业通用性架构。

在TheOpenGroup组织的定义中,SOA服务是一个重复业务活动的逻辑表示。

在维基百科关于SOA的服务定义中,服务是一个独立的功能单元,可以远程访问、独立操作和更新。维基百科还定义了服务的4个属性:1)它在逻辑上表示具有指定结果的业务活动;2)它是独立的;3)对于消费者来说,它是一个黑匣子;4)它可能包括其他基础服务。

微服务架构

微服务自2014年首次提出后,很多大型公司都已经开始实践并使用微服务来完成公司的主要业务逻辑,比如谷歌、亚马逊、Twitter。一般而言,微服务架构是一种低耦合的软件架构,首先将软件系统拆分成多个独立且可扩展的服务,使用一套小服务来开发单个应用,每个服务运行在自己的进程中,只负责完成特定的任务,并使用轻量级机制通信,通常是HTTPAPI,最后集成每个服务完成最终业务的系统。

微服务架构(MicroservicesArchitectures,MSA)定义

微服务架构将应用程序的不同功能单元微服务(Microservice)化,通过微服务间定义良好的接口和契约(Contract)联系起来。接口采用中立的方式定义,独立于具体实现服务的操作系统、软件框架、编程语言和运行基础设施平台,可以使用统一的、标准的、轻量级的方式进行通信。

异步消息传递微服务设计模式

微服务架构不仅具备SOA架构的特性,而且也有自己的独特之处。SOA架构在服务颗粒度、实现方式、服务部署等方面和微服务架构有不同之处。

SOA构架和微服务架构的相同点:

SOA架构与微服务架构都是构建面向服务的分布式系统应用的指导架构。

其核心组成都以服务形式提供。各个服务是自治的且各个服务之间都是松耦合的。

与技术实现和基础平台设施都无关。

SOA构架和微服务架构的不同点:

SOA架构使用粗粒度的服务,利用现有的资产,易于集成和管理,主要采用中间件。微服务架构可以看作是SOA架构的升级版,其强调服务的独立性、无状态、功能职责单一化,强调通过多个微服务的组合实现复杂业务,强调通过服务的替换和升级实现对企业业务的敏捷支持。