关于云原生:云原生架构应该怎么设计

34次阅读

共计 6082 个字符,预计需要花费 16 分钟才能阅读完成。

简介:阿里巴巴为大量各行各业的企业客户提供了基于阿里云服务的解决方案和最佳实际,以帮忙企业实现数字化转型,并积攒了大量教训和教训。阿里巴巴将企业的外围关注点、企业组织与 IT 文化、工程施行能力等多个方面与架构技术相结合,造成了阿里巴巴独有的云原生架构设计办法— ACNA(Alibaba Cloud Native Architecting)

ACNA 的概念

阿里巴巴为大量各行各业的企业客户提供了基于阿里云服务的解决方案和最佳实际,以帮忙企业实现数字化转型,并积攒了大量教训和教训。阿里巴巴将企业的外围关注点、企业组织与 IT 文化、工程施行能力等多个方面与架构技术相结合,造成了阿里巴巴独有的云原生架构设计办法— ACNA(Alibaba Cloud Native Architecting)。这套办法在阿里云官网最近出版的畅销书《阿里云云原生架构实际》中有更详尽的介绍。

(1)ACNA 的作用与目标

1)晋升研发团队的能力,实现老本、进度打算、性能和品质等指标。
2)领导研发团队管制研发和运维过程,优化 IT 组织构造并打造更加高效的软件工程流程机制。
3)疏导研发团队,在确定云原生架构的成熟度以及定位云原生化方面关键问题的过程中抉择改良策略。

(2)ACNA 的实现步骤

1)确定企业以后所处的云原生架构成熟度级别。
2)理解会对改良生产品质和优化过程起关键作用的因素。
3)将工作重点集中在无限的几个要害指标上,从而无效达到优化现有研发流程的成果,进而继续改良产品。

ACNA 是一个“4+1”的架构设计流程,其中,“4”代表架构设计的要害视角,包含企业策略视角(ACNA-S1)、业务倒退视角(ACNA-S2)、组织能力视角(ACNA-S3)和云原生技术架构视角(ACNA-S4);“1”示意云原生架构的架构继续演进闭环(ACNA-S5)。4 个要害视角和 1 个闭环的关系(命名为 ACNA-G1),如图 1 所示。


图 1 ACNA-G1:ACNA 架构设计流程关系示意图

ACNA 除了是一种架构设计办法,还蕴含对云原生架构的评估体系、成熟度掂量体系、行业利用最佳实际、技术和产品体系、架构准则、施行领导等。本书的其余章节将别离具体解说云原生的技术和产品体系、架构准则、最佳实际等方面,这里次要介绍云原生架构的成熟度掂量体系和施行领导两个方面。

ACNA-S1:企业策略视角

任何架构都必须服务于企业策略,云原生架构也不例外!与以往架构的降级有所不同,云原生架构的降级不仅是技术的降级,更是对企业外围业务生产流程(即通过软件开发和经营构建数字化业务)的一次重构,云原生架构降级的意义,如同工业时代用更自动化的流水线替换手工作坊一样粗浅。

企业必须分明业务策略与云 IT 策略之间的关系,即云 IT 策略只是对业务策略进行必要的技术撑持,还是云 IT 策略自身也是业务策略的一部分。通常,高科技公司会对云计算提出更高的需要,比方,通过大量应用云厂商提供的 AI 技术为用户提供智能化的用户体验,以及应用 IoT(物联网)和音视频技术为用户建设更宽泛、活泼的连贯。

实际上,在数字化转型的明天,越来越多的企业认为云 IT 策略应该在企业业务策略中表演技术赋能业务翻新的重要角色,云 IT 曾经变成了“Cloud First”,甚至“Cloud Only”,只是在全副采纳私有云还是采纳混合云的策略上存在一些差异。基于云 IT 策略,云原生架构能够帮忙企业实现泛在接入技术,构建数字化生态系统,还能够从技术的角度确保数字化业务的疾速迭代,构建面向用户体验治理的数字基础设施,继续优化 IT 老本,升高业务危险。

ACNA-S2:业务倒退视角

阿里巴巴在为企业提供云服务和征询的过程中发现,数字化业务对技术架构的次要诉求是保障业务连续性、业务疾速上线、业务老本管制,以及科技赋能业务翻新。业务连续性诉求次要是指数字化业务必须可能为用户继续提供服务,不能因为软硬件故障或 Bug 导致业务不可用,还要可能避免黑客攻击、数据中心不可用、自然灾害等意外事故产生。此外,当业务规模快速增长时,软硬件资源的购买和部署肯定要及时,以便企业可能更好地拓展新用户。

市场瞬息万变,相较于传统业务,数字化业务具备更灵便的个性,这就要求企业具备更快的“业务到市场”的能力,包含新业务疾速构建、现有业务疾速更新等。云原生架构可能深刻理解企业对这些能力的诉求,并在产品、工具、流程等多个层面进行不同水平的解决。须要留神的是,这些诉求同时对组织构造带来新的要求,可能会要求利用进行彻底重构(比方微服务化)。

云计算必须为企业开释老本红利,帮忙企业从原来的 CaPex 模式转变为 OpEx 模式,即不必当时购买少量软硬件资源,而是用多少领取多少;同时,大量采纳云原生架构也会升高企业的开发和运维老本。有数据显示,通过容器平台技术可使运维收入老本升高 30%。

传统模式下,如果要应用高科技赋能业务,则会经验一个简短的选型、POC、试点和推广的过程,而如果抉择应用云厂商和第三方提供的云服务,则能够更疾速地利用新技术进行翻新。因为这些云服务具备更快的连贯速度和更低的试错老本,且在不同技术的集成上具备对立平台和对立技术依赖的劣势。

ACNA-S3:组织能力视角

云原生架构降级是对企业的整个 IT 架构的彻底降级,每个组织在进行云原生架构降级时,必须依据企业本身的状况因地制宜,其中,组织能力和技术栈处于等同重要的位置。云原生架构波及的架构降级对企业中的开发、测试和运维等相干人员都带来了微小的影响,技术架构的降级和实现须要企业中相干组织的积极参与和配合。特地是在架构继续演进的过程中,须要相似“架构治理委员会”这样的组织负责云原生的布局和落地,并一直检查和评估架构设计与执行之间是否存在偏差。

此外,云原生架构的设计还须要思考组织构造的扭转。后面提到一个十分重要的云原生架构准则就是服务化(包含微服务、小服务等),这个畛域的一个典型准则就是康威定律,要求企业的技术架构与沟通架构必须保持一致,否则会导致畸形的服务化架构,甚至导致组织沟通成本上升和“扯皮”景象增多的问题。

企业须要思考的另外一个很重要的问题就是,企业承受扭转的水平如何,或者说,企业可能疾速进行组织结构调整,并放弃业务稳定性的能力如何。云原生架构降级要求大量的企业 IT 人员也进行技术体系的降级和岗位职能的从新设计,这势必导致本来处于稳固和舒服区的技术领导者和底层员工必须破而再立,所以组织扭转的危险不得不慎重考虑。

ACNA-S4:云原生技术架构视角

从技术架构的维度看,ACNA 认为架构维度蕴含七个重要的畛域,具体阐明如下。

(1)服务化能力

用微服务或小服务构建业务,拆散大块业务中具备不同业务迭代周期的模块,业务以标准化 API 等形式对模块进行集成和编排;服务间采纳事件驱动的形式集成,缩小相互依赖;通过可度量建设一直晋升服务的 SLA(Service Level Agreement,服务等级协定)能力。

(2)弹性能力

利用云资源的个性,依据业务峰值和资源负载状况来主动裁减或膨胀零碎的规模,业务不再须要进行容量评估、按量付费。

(3)无服务器化水平

在业务中,应尽量应用云服务,而不是本人持有第三方服务,特地是本人保护开源软件的模式;利用的设计应尽量变换成无状态模式,把有状态的局部保留到云服务中。进一步采纳 Serverless 技术体系重构利用运行时,让软件的底层运维逐步“隐没”。

(4)可观测性

IT 设施须要失去继续治理,任何 IT 设施中的软硬件产生谬误后都要具备疾速修复的能力,以防止影响业务,这就须要零碎具备全面的可观测性,内容波及对传统的日志形式、监控、APM、链路跟踪、服务质量(Quality of Service,QoS)度量等多个方面。

(5)韧性能力

韧性能力除了包含服务化中罕用的熔断、限流、降级、主动重试、背压等个性之外,还包含高可用、容灾、异步化等个性。

(6)自动化程度

关注开发、测试和运维三个过程的敏捷性,举荐应用容器技术自动化软件构建过程、应用 OAM 标准化软件交付过程、应用 IaC(Infrastructureas Code,基础设施即代码)和 GitOps 等自动化 CI/CD 流水线和运维过程。

(7)平安能力

关注业务的数字化平安,在利用云服务加固业务运行环境的同时,采纳安全软件生命周期开发,使利用合乎 ISO27001、PCI/DSS、等级爱护等平安要求。平安能力是根底维度,要求在架构评测中关注,但它不会参加评分。

ACNA-S5:架构继续演进闭环

云原生架构演进是一个一直迭代的过程,每一次迭代都要经验从企业策略、业务诉求到架构设计与施行这样一个残缺的闭环,整体关系(命名为 ACNA-G2)如图 2 所示。


图 2 ACNA-G2:架构继续演进闭环

上面就来具体介绍架构继续演进闭环的要害输出和实现过程。

1. 要害输出

1)企业策略视角(ACNA-S1):包含数字化策略诉求、技术策略(特地是云策略)诉求、企业架构诉求等,倡议量化形容翻新效率晋升百分比、IT 老本升高值、危险老本升高值等。

2)业务倒退视角(ACNA-S2):包含新业务(特地是数字化业务)的技术诉求、BI/AI(商业智能 / 人工智能)诉求、IoT(物联网)诉求、用户体验诉求等,倡议量化形容业务迭代速度晋升值、用户体验改善百分比、业务开发效率晋升百分比等。

2. 要害过程

1)辨认业务痛点和架构债权(ACNA-S5-P1):明确并量化业务痛点(比方,云上云下一套部署、端到端的可观测性等);技术债权根据各企业的具体情况而有所不同,通常蕴含容器化革新、CI/CD 欠缺、微服务革新、老利用下线、遗留系统集成计划、非 x86 架构的转移等。

2)确定架构迭代指标(ACNA-S5-P2):倡议每次迭代不超过 1 年,并通过 OKR(ObjectiveandKey Result,指标与要害成绩法)的形式,在指标中形容本次迭代的业务指标,在要害成绩中量化业务价值和技术价值。留神,在确定迭代指标的时候,要充沛辨认架构降级的利益相关者(Stakeholder)及其价值诉求,避免出现我的项目很胜利然而得不到业务方认同的状况。

3)评估架构危险(ACNA-S5-P3):危险和价值往往是一对矛盾体,不要因为危险大而不做云原生架构降级,也不要因为迫切降级而漠视危险,倡议在危险和价值间取得均衡。P3 阶段的重点是辨认危险类别和危险点,它们会依据企业所在行业和企业本身个性的不同而不同。危险类别通常包含组织危险、市场危险、技术危险、设计实现危险、施行落地危险、运维危险、IT 文化危险、财务危险、数据危险、合规危险等。

4)选取云原生技术(ACNA-S5-P4):P4 阶段须要从云原生技术栈中选取在本次迭代中须要采纳的云原生技术,也须要把采纳该技术可能造成的危险和带来的价值放在首位思考。

5)制订迭代打算(ACNA-S5-P5):P5 阶段须要充分考虑是否每个里程碑都可能失去各参与方的认同,肯定要防止先闭门开发而后冀望产出一个高价值产品的状况,因为像云原生架构降级这样的我的项目,须要与各参与方深度单干,且在执行过程中很可能呈现扭转打算和指标的状况。

6)架构评审和设计评审(ACNA-S5-P6):P6 阶段作为扭转企业整个生产流水线的重要架构降级,须要在技术上进行架构评审和重要设计评审,让重要设计在各参与方之间失去认同,这也是缩小整体危险的重要伎俩。

7)架构危险管制(ACNA-S5-P7):在 P3 阶段确定了危险点之后,就须要马上设定这些危险的监控办法和预警阈值,并在架构降级的过程中一直监控这些阈值的变动状况,做到实时危险评估和预警。整体而言,在整个施行过程中,企业须要建设“辨认—监控—评估—预警—改良”的风控闭环。

8)迭代验收和复盘(ACNA-S5-P8):为了让云原生架构降级的下一个迭代取得成功,即便本次迭代曾经胜利验收,也须要团队主观、深刻地对本次迭代的得失进行复盘,特地是在组织能力、我的项目和产品的治理能力等软技能。

云原生架构成熟度模型

云原生架构成熟度模型是一种可能帮忙企业找到以后软件架构与成熟的云原生架构之间的差距,从而在后续的架构优化迭代中进行针对性改善的评估模型。ACNA 参考 CMM(Capability Maturity Model,能力成熟度模型)的定义,从次要的架构维度定义了云原生架构的成熟度模型。咱们须要留神到,ACNA 的云原生架构成熟度评估模型不会帮忙企业从通用技术架构、利用架构或信息架构的维度进行评估,因而它并没有帮忙实施者梳理架构的外围利益相关者和架构交付合同。同时,评估模型自身也没有对团队外围人员技能以及组织的流程、文化和流水线建设进行评估,而是从基于云的现代化利用这 一特定的软件技术架构进行评估。尽管这样的评估范畴绝对较小,然而更业余,可操作性更强。

此外,ACNA 云原生架构成熟度模型的评估对象不是企业或架构施行人员,而是某个具体软件所采纳的架构。因而,对于一个企业而言,可能局部软件的评估后果是零级(初始级),局部软件的评估后果是中级(倒退级),这齐全取决于每个软件本身的架构状况。

6 个评估维度

ACNA 云原生架构设计共蕴含 6 个要害架构维度(Service + Elasticity + Serverless + Observability + Resilience + Automation,简写为 SESORA),在此咱们先定义要害维度的成熟度级别,如图 3 所示(命名为 ACNA-T1)。


图 3 ACNA-T1:云原生架构成熟度模型:要害指标维度

联合云原生架构的四个不同成熟阶段,咱们定义了整个架构的成熟度模型,如图 4 所示。


图 4 云原生架构成熟度模型

评估模型的施行领导和工作表

评估模型施行领导的整个工作流程(命名为 ACNA-T2)如表 5 所示。

表 5 ACNA-T2:云原生架构评估模型施行领导的工作流程

为了对立 ACNA 评估模型的产出,咱们给出了对立的《云原生架构评估表》(命名为 ACNA-T3),以让用户对后果有统一的认知,如表 6 所示。

表 6 ACNA-T3:云原生架构评估表

服务化能力的评估

服务化能力的评估(命名为 ACNA-T4-1)如表 7 所示。

表 7 ACNA-T4-1:服务化能力评估表

弹性能力的评估

弹性能力的评估(命名为 ACNA-T4-2)如表 8 所示。

图 8 ACNA-T4-2:弹性能力评估表

无服务器化水平的评估

无服务器化(Serverless)水平的评估(命名为 ACNA-T4-3)如表 9 所示。

表 9 ACNA-T4-3:无服务器化水平评估表

可观测性的评估

可观测性的评估(命名为 ACNA-T4-4)如表 10 所示。

表 10 ACNA-T4-4:可观测性评估表

韧性能力的评估

韧性能力的评估(命名为 ACNA-T4-5)如表 11 所示。

表 11 ACNA-T4-5:韧性能力评估表

自动化能力的评估

自动化能力的评估(命名为 ACNA-T4-6)如表 12 所示。

表 12 ACNA-T4-6:自动化能力评估表

原文链接
本文为阿里云原创内容,未经容许不得转载。

正文完
 0