关于go:云计算-阿里云最佳云上实践介绍-卓越架构

4次阅读

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

相较传统 IDC,云计算的疾速迭代减少了维持良好架构的难度。云利用需关注稳定性、安全性、性能和老本。阿里云通过多年教训,倒退了一套名为 ”Alibaba Cloud Well-Architected Framework” 的优良架构框架,以帮助用户构建杰出的云架构。

关注【TechLeadCloud】,分享互联网架构、云服务技术的全维度常识。作者领有 10+ 年互联网服务架构、AI 产品研发教训、团队治理教训,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师,项目管理专业人士,上亿营收 AI 产品研发负责人。

一、卓越架构介绍

相比于传统 IDC 环境,云计算的基础设施和服务在一直疾速迭代和演进,对云用户而言,在上云、用云、管云过程中继续维持良好的云上架构变得极具挑战。对云上利用来说,稳固、平安、性能、老本是架构设计中最通用畛域的形象,也是组织层面最须要关注的几个维度。

基于多年服务各行各业客户的经验总结,咱们将阿里云上的架构设计最佳实际总结为一系列的方法论和设计准则,造成阿里云卓越架构框架(Alibaba Cloud Well-Architected Framework),以帮忙云用户构建良好直至卓越的云上架构。

阿里云卓越架构蕴含以下五个架构最佳实际支柱:

  • 平安合规:辨认企业外部、内部的平安要求和监管诉求,在云环境中针对网络安全、身份平安、主机平安、数据安全等全方位地进行布局和施行,同时继续对威逼进行检测和疾速响应。
  • 稳定性:无论在何种环境都无奈防止单个组件故障的产生。稳定性的指标就是要尽量升高单个组件故障对业务带来的整体影响。该支柱侧重于如何让业务零碎利用古代云平台的基础设施达到高可用,做到面向失败设计,具备肯定容灾性的能力。同时把控利用零碎的变更流程、部署架构、配置标准等,制订企业应用治理标准,设定利用层面的治理规范。
  • 老本优化:通过技术手段理解云资源的老本散布,帮忙企业均衡业务指标与云上老本,通过充沛高效应用云服务来构建业务利用,尽可能晋升云环境和业务需要之间的符合度,通过继续优化来防止资源节约,缩小不必要的云上开销并晋升经营效率。
  • 卓越经营:侧重于利用研发态、运行态相干工具与零碎的构建和应用,同时也须要思考组织内如何对利用、工作负载、资源、事件等进行响应,定义日常操作流程,指引企业构建本人的经营模型。
  • 高效性能:依据性能监控指标主动触发弹性伸缩能力,通过云平台的资源储备应答流量顶峰,建设齐备的可观测性体系帮助定位性能瓶颈。通过性能测试伎俩建设性能基线,验证架构设计指标并继续优化。

基于这五大支柱,卓越架构提供相应的设计准则和最佳实际,以及可落地的计划。同时,卓越架构还提供了收费的架构评估工具和度量模型,来评估以后架构设计与期望值的差距,并提供相应的改良指引和计划。在设计和施行过程中,阿里云提供了专家服务和认证的合作伙伴,帮助架构的演进。

阿里云卓越架构框架面向的是首席技术官(CTO)、架构师、运维、平安、研发等角色。通过理解卓越架构中定义的最佳实际和解决方案,组织中的这些职能角色可能一直的将利用架构和卓越架构中的最佳实际进行比拟,并一直进行架构的迭代和改良,从而升高危险、管制老本、晋升效率,为业务的高速倒退提供松软的根底。

二、平安合规

2.1 概述

平安治理的目标是风险管理,企业抉择将业务迁徙到云上,并不意味着平安危险的升高,也并不示意企业的平安要由云供应商来承当。

云平安的责任模型是共担的责任模型,基于云的客户利用,云供应商要保障云平台本身平安并提供相应的平安能力和产品给云上的客户。客户则负责基于云供应商提供的服务或原子化能力构建保障利用零碎或业务的平安体系。

随着企业上云的节奏越来越快,以及网络攻击的老本越来越低,平安的建设曾经跟不上业务的倒退。所以更应该在上云之初就布局平安体系的建设和设计,不要等到业务曾经运行起来后在思考平安建设。

2.2 平安责任模型

基于阿里云的客户利用,其平安责任由单方独特承当:阿里云要保障云平台本身平安并提供平安产品和能力给云上客户,客户负责基于阿里云服务构建的利用零碎的平安。

平安责任模型示意如下图所示:

阿里云负责基础设施(包含跨地区、多可用区部署的数据中心,以及阿里云骨干传输网络)和物理设施(包含计算、存储和网络设备)的物理和硬件安全,并负责运行在飞天分布式云操作系统之上的虚拟化层和云产品层的平安。同时,阿里云负责平台侧的身份治理和访问控制、监控和经营,从而为客户提供高可用和高平安的云服务平台。

客户负责以平安的形式配置和应用各种云上产品,并基于这些云产品的平安能力以平安可控的形式构建本人的云上利用和业务,保障云上平安。阿里云基于阿里巴巴团体多年攻防技术积攒,为客户提供云原生的平安服务,爱护客户的云上业务和利用零碎。

2.3 云平台数据安全和隐衷保障体系

数据安全是为了推动数据能够被高效流动而外围打造的是一套信赖机制。不碰用户数据是阿里云的红线,也是最低要求。阿里云数据安全体系的外围是赋予数据权力和任务,让其所有者、共享者、监管者能够基于这些信赖,开释数据的价值,这是阿里云数据安全的理念。

阿里云曾经残缺笼罩了基于地区和可用区概念,构建的基础设施和平台层的数据危险收敛能力。平台之上,围绕平安、合规、隐衷三大命题,阿里云为用户提供原生的、高度自动化、高透明度的爱护能力,致力构建值得信赖的平安计算环境,促成数据在被爱护的状态下流动起来、应用起来。信赖的根底是明确其中的权力和任务。在分类分级的前提下,咱们对数据的所有权、归属权、应用标准、删除权等做了细粒度约定,并通过法律法规、资质认证等多种手段保障权力和任务的履行。因而,阿里云也是亚太区领有最全合规和隐衷资质的云厂商。

2.4 布局和设计

平安是须要设计和布局的,应在构建基于云或本地数据中心的同时,建设平安零碎和相干控制措施,建设配套平安治理流程和机制,建设安全意识管理体系等。并将技术控制措施、治理流程、人员组织配套的融入云基础设施的构建、业务开发,利用上线和日常经营当中。

三、稳定性

零碎稳定性是指零碎在运行过程中面对各种非预期事件影响下可能继续提供牢靠服务的能力,是零碎建设的重中之重。但随着各公司业务范围的扩大和软件系统架构继续迭代降级,零碎的复杂度随之减少,面对更多的非预期事件危险,如各类软硬件故障、谬误的变更、突发流量,甚至到光纤挖断、自然灾害等引起的整个机房不可用状况,如何保障系统稳定性具备很大挑战。

一个稳固的分布式系统须要可能疾速适应变动,及时发现和解决问题,并且可能放弃零碎的一致性和可靠性。稳定性通常蕴含零碎可用性、可靠性、可观测性、可运维性、可扩展性、可维护性等。应用云计算平台服务能够更好的构建零碎稳定性,例如云计算平台能够依据零碎的理论需要,动态分配和开释计算资源,使得零碎更容易扩大,升高零碎负载压力,从而进步零碎的可扩展性。再者云计算平台会提供冗余存储和备份能力,防止零碎因为硬件故障或其余起因导致的停机或数据失落。这种备份机制能够进步零碎的可靠性。

3.1 责任共担模型

阿里云平台提供高可用的基础设施,并提供利用稳定性相干工具体系。用户能够基于阿里云提供的产品及本框架中定义的最佳实际动手,来建设云上利用的稳定性。

在分布式系统中,须要思考的稳定性问题比较复杂,贯通软件系统设计态、研发态、运维态、运行态,笼罩从 IaaS、PaaS 到下层 SaaS 零碎,所有这些都可能会影响零碎的稳定性。为了确保零碎可能继续稳固地工作,倡议遵循以下设计准则。

3.2 面向失败的架构设计准则

家喻户晓,零碎异样事件是不可避免的,如网络提早、硬件故障、软件谬误、突峰流量等,倡议在零碎设计阶段就要从这些异样事件引起的零碎执行“失败”登程,提供冗余、隔离、降级、弹性等能力,旨在确保零碎的高可用性和高可靠性,以应答不可避免的故障和意外产生。

3.3 面向精密的运维管控准则

因为业务的扩大和零碎服务进一步拆分,分布式系统的复杂度剧增。再加上产品迭代放慢,版本繁多,同时某些业务对实时性有较高要求,运维的不确定性和复杂性大幅减少。倡议通过精细化的治理和可观测伎俩,如版本控制、灰度公布、监控告警、主动巡检等伎俩,旨在进步运维效率、确定性和稳定性。

3.4 面向危险的应急快恢准则

在一些场景下,即便设计了各种技术手段去进步零碎的冗余、放弃业务的高可用,但还是防止不了生产系统故障的产生,所以须要面对故障建设一个高效的故障应急流程机制和稳固的技术平台,实现故障危险实时发现、应急团队无效协同、处理过程精确记录、故障疾速止损和复原以及后续故障复盘,旨在进步故障应急效率,减小故障影响,升高相似故障的再次发生,晋升零碎整体高可用性。

基于稳定性支柱设计准则,整体稳定性设计方案可参考如下:

3.5 架构设计准则

软件系统从所有的性能都在一个应用程序内运行的单体利用架构,到不同的功能模块别离部署在不同的服务器上的传统分布式应用架构,再到服务细分通过轻量级的通信机制进行相互调用的微服务架构,到当初将云计算、容器化、微服务架构等技术联合起来的云原生架构。在软件系统架构演进中不变的是零碎的根本属性,蕴含存储、计算和网络,变的是存储、计算和网络的实现形式和规模,往大规模、高性能、高牢靠、易扩大等方向迭代演进,所以对架构稳定性提出了更高的要求。

零碎可预感的稳定性危险蕴含软硬件故障和不可预期的流量,小到线程级危险,大到地区级劫难,从此登程可通过容灾、容错、容量三方面建设零碎架构稳定性。

变更设计准则

在企业的运维治理与运行过程中,就会有变更产生。变更是指增加、批改或删除任何可能对服务产生间接或间接影响的内容。当变更失败时可能会带来严重后果:业务中断、客户舆情等等一系列问题。为了升高变更带来的业务危险,须要遵循变更设计准则: 可灰度、可监控、可回滚。

应急响应机制

应急响应机制的关键点在于事件产生后,有规范的操作流程和动作。阿里巴巴在过来十几年的平安生产过程中,积淀了一套故障应急响应机制,简称应急响应 1 -5-10。是指在 1 分钟内发现故障,5 分钟内组织相干人员进行初步排查,10 分钟内发展故障复原和解决工作。企业在设计应急响应机制时,能够参考该形式明确响应期间的规范动作和流程,确保在事件产生时,相干干系人都可能明确本身职责和所须要采取的措施。

演练常态化

故障演练提供了一种端到端的测试理念与工具框架,实质是通过被动引入故障来充沛验证软件品质的脆弱性。从提前发现零碎危险、晋升测试品质、欠缺危险预案、增强监控告警、晋升故障应急效率等方面做到故障产生前无效预防,故障产生时及时应答,故障复原后回归验证。基于故障自身打造分布式系统韧性,继续晋升软件品质,加强团队对软件生产运行的信念。故障演练可分为计划验证的容灾演练、稳定性验收的红蓝攻防,以及故障应急验证的突袭演练。

四、老本优化

云计算可能为企业 IT 基础设施带来敏捷性和效率晋升,随着云上业务体量和业务场景复杂度一直减少,企业在云上资源配置不合理或配置过渡的景象普遍存在。与此同时,企业在多组织老本管理效率、老本可控、均衡业务指标与老本等方面均面临微小挑战。

老本优化支柱提供了云上老本治理及优化的设计准则和最佳实际,帮忙企业高效地应用云服务来构建业务利用,缩小不必要的开销并晋升经营效率,让企业在云上更具经济效益。老本优化并不意味着只谋求低价格,在过程中须要进行必要的衡量取舍,关键在于晋升老本管理效率、正当抉择云资源及防止老本节约,并在业务指标、平安合规、稳定性等方面与老本之间达成均衡。

老本优化贯通企业整个上云用云全生命周期,本支柱从云财务布局及治理、老本可视化及摊派、老本监控、云服务及计费形式抉择、利用负载老本优化等方面进行论述,为企业在云上以最优老本达成业务指标提供深刻领导。
“云老本治理与优化”不是欲速不达的我的项目,是一个涵盖企业上云用云全生命周期,关系到企业外部管理机制的体系化工程,是一个重复迭代和继续经营的过程。

依据 FinOps 官网《What is FinOps》的形容,“FinOps 是一种一直倒退的云财务管理学科和文化实际,通过帮忙工程师、财务、技术和业务团队合作制订数据驱动的收入决策,使组织可能取得最大的业务价值。”

FinOps 是“Finance”和“DevOps”的合成词,强调业务团队与工程师团队之间的沟通和合作。

FinOps 通过 Inform、Optimize、Operate 三个生命周期阶段实现云老本的可视、优化与继续经营,激励实际 6 大 FinOps 准则,将泛滥 FinOps 能力划分为 6 大畛域,最终通过 Crawl(匍匐)、Walk(行走)、Run(奔跑)3 个水平来掂量实际的成熟度。

“FinOps”在行业中常见的别名有“云老本治理(cloud cost management)”、“云老本优化(cloud cost optimization)”、“云财务管理(cloud financial management)”等。

阿里云云老本治理与优化框架

阿里云在 FinOps 核心理念根底上,交融本身实践经验,提出更加细化落地的本土化“云上老本治理施行框架”,供企业客户参考施行。

云上老本治理贯通上云用云全生命周期

从企业上云及用云的历程看,大抵能够分为用云打算、用云执行、监控剖析、老本优化等阶段,老本治理贯通各个阶段,每个阶段的关注点各有不同。

用云打算阶段 :场景包含企业首次上云、增量上云、存量复购。

用云执行阶段 :场景包含洽购执行、用云管云规定执行(包含财务规定设置、资源配额设置等)、商务履约执行(包含对账、充值、开票等)。在用云执行阶段,从财务管理和资源管理两个视角做好老本治理。

监控分析阶段 :对应 FinOps 的 Inform 阶段,次要解决老本摊派与老本可视化问题。

老本优化阶段 :对应 FinOps 的 Optimize 阶段,次要通过计费形式优化、资源应用优化和架构优化来落地执行。

继续经营 :云上老本治理是一个重复迭代和继续经营的过程,企业应继续循环以上四个阶段,造成长效运作机制,使云上老本能够无效管控、继续优化。

五、卓越经营

云计算可能为企业 IT 基础设施带来敏捷性和效率晋升,随着云上业务体量和业务场景复杂度一直减少,企业在云上资源配置不合理或配置过渡的景象普遍存在。与此同时,企业在多组织老本管理效率、老本可控、均衡业务指标与老本等方面均面临微小挑战。

老本优化支柱提供了云上老本治理及优化的设计准则和最佳实际,帮忙企业高效地应用云服务来构建业务利用,缩小不必要的开销并晋升经营效率,让企业在云上更具经济效益。老本优化并不意味着只谋求低价格,在过程中须要进行必要的衡量取舍,关键在于晋升老本管理效率、正当抉择云资源及防止老本节约,并在业务指标、平安合规、稳定性等方面与老本之间达成均衡。

老本优化贯通企业整个上云用云全生命周期,本支柱从云财务布局及治理、老本可视化及摊派、老本监控、云服务及计费形式抉择、利用负载老本优化等方面进行论述,为企业在云上以最优老本达成业务指标提供深刻领导。

构建经营模型

经营模型是指组织和业务团队应用云计算平台反对业务的过程中,依据业务需要、企业架构、组织文化、现有的技术水平和工具等构建的模型。每个企业的经营模型都是独特的,本文将介绍四种常见的经营模型以供参考。

构建经营模型的目标是为了实现更高效、更灵便的基于云计算平台的治理和经营。具体来说,构建经营模型的目标包含以下几个方面:

1. 实现疾速部署和扩容:通过云计算平台构建规范的公布工程,实现快读部署和扩容,进步服务的响应速度和灵活性。

2. 晋升决策的有效性:通过构建可观测零碎,从而以高度兼顾与整合的形式将业务数字化操作所产生的可观测数据进行反馈并发明决策循环,进步组织决策有效性。

3. 优化资源配置和利用效率:通过对云计算平台中各种资源(如计算、存储、网络等)的实时监控,配合一些优化措施,可能进步资源的利用效率,升高云服务的老本。

4. 进步业务的稳定性和可靠性:基于云平台提供的监测和业余技术能力,能够帮助企业晋升故障响应速度,缩短故障诊断工夫,进步业务的稳定性和可靠性。

云卓越核心 CCoE 经营模型

云卓越核心 CCoE 是驱动云转型的最佳实际。企业通常至多有一个云治理团队,或由相干负责人组建一个云卓越核心(Cloud Center of Excellence,简称 CCoE)负责布局和对接上云的整体计划,包含在组织层面确认上云的整体打算、步骤,以及收集组织的具体需要。

云卓越核心经营模型组织通常包含:

  • 企业管理层:企业管理层须要明确云在公司的战略地位以及各个团队应该如何应用云。
  • 云卓越核心:该团队能够是虚构的组织,设计云服务的供应模式和管理体系,并提供相应的技术筹备。其中的成员包含:

    • 架构师和业余技术人员,负责上云架构设计和业务上云迁徙工作;
    • 平安、合规等领域专家,负责设计企业 IT 治理计划、预估危险和制订治理规定;
    • 财务专家,负责制订财务的治理流程和老本摊派规定。
  • 云治理团队:在企业业务全面上云之后,继续优化云上架构,为新业务提供云上环境。建设企业云上运维体系,搭建运维平台,以及通过自动化运维的形式,对云上环境进行继续治理和治理。依据新业务需要,调配所需云资源和所需权限,并对资源进行初始化配置后交付。利用团队只需用云,无需关注基础设施搭建。

六、高效性能

性能度量了零碎在单元环境内承载工作负载的效率,零碎性能通常能够由 QPS、并发和 RT(响应工夫)等典型指标来掂量。在传统 IT 环境中,零碎的容量评估和布局是零碎设计的重要环节,通常会基于系统对峰值负载体现进去的性能承载能力来给零碎抉择适合的节点数量布局,在双活零碎中思考到 failover 会须要给单节点设计更大的冗余,对于过载的场景也须要有过载管制相干功能模块来防止整体宕机。这个设计的环节是绝对固定和长周期的工作,因为往往节点的部署和交付都是绝对长周期的工作。

在云的基础设施环境中,灵便的弹性性能很好地解决了传统 IT 环境中的痛点,将容量评估和线上扩容变得绝对简略,同时也为高性能设计带来了更多选项和复杂性。除了设计层面的容量评估和灵便弹性,实现层面的性能测试、性能监控和性能优化之外,充分发挥云产品因为技术迭代带来的性能红利同样成为高性能零碎须要考量的重要因素。本章节会全面形容基于云基础设施的高性能零碎设计、施行和优化等环节,包含如下次要内容:

  • 高性能架构设计:包含高性能架构常见设计准则、业务适应规格和类型、可伸缩和可扩大、性能层面局部架构设计最佳实际和挑战和注意事项等内容。
  • 性能测试:包含性能测试介绍、性能测试的实用场景和性能测试最佳实际等内容。
  • 性能监控:包含为什么须要性能监控、什么是性能监控和性能监控最佳实际等内容。
  • 常见性能优化伎俩:包含弹性计算优化、网络优化、数据库优化和架构优化等内容。

性能是零碎的一个重要指标,如果性能无奈达到用户预期,会造成大量的用户散失。而很多时候性能问题和零碎最后的架构设计相干(当然零碎架构是能够继续演进和迭代的),任何架构设计都必须思考可能带来的性能问题。

因为性能问题简直无处不在,所以优化性能的伎俩也十分多,从用户浏览器到数据库,影响用户申请的所有利用相干环节都能够进行性能优化。随着云计算在 IT 收入占比的一直晋升,越来越多的用户外围业务零碎跑在云上,云的架构设计和选型也对性能十分重要。基于云的特点,云架构中无关性能设计的方面,有以下注意事项和根本准则:

无效的云资源选型

作为一个软件系统,利用层面有很多性能优化和架构设计的思考点,然而一个零碎的性能基石其实是底层计算和存储资源的性能,这个是原子能力。当零碎应用的计算和存储资源性能越好,越有利于下层利用进行整体性能调优和优化,所谓“工欲善其事必先利其器”。

在大规模分布式系统一直倒退的趋势下,计算场景和对算力的需要越来越丰盛。比方在很多通用计算的场景下,最关怀的其实是计算集群的规模,对计算节点自身的单节点能力并没有高要求(比方短时大量计算申请的峰值场景);而在当初炽热的 AI 模型训练场景下,则必须应用相似 A100 GPU 计算卡的裸金属机器来疾速满足大规模 AI 训练的要求。同时云资源大都是按可用区维度进行部署的,一旦抉择可用区进行大量资源部署后迁徙和革新老本会很高,因而抉择无效的可用区也十分重要。在抉择可用区时,须要综合思考延时,库存,资源类型等因素。

即在场景越来越丰盛的状况下,云资源的资源选型从一开始就能很大水平影响最终的零碎性能。因而从云架构的理论角度来看,云资源的选型十分重要,具体选型的准则能够参考评估适合的云服务。

可伸缩、可扩大的云架构

大型零碎须要面对大量用户的高并发拜访和存储海量数据,不可能只用固定数量的服务器来解决全副用户申请,这样既不经济,也没有方法有效应对灵便的业务拜访。通过集群的形式将计算资源和存储资源等组成一个整体提供服务,在须要的场景下,能够及时通过调整计算和存储资源来缓解高并发带来的计算和存储压力,从而实现在拜访峰值场景下能够向用户无效提供稳固的服务,在拜访低谷的期间又能够开释不必要的资源或放弃零碎的低位运行来节俭 IT 收入。

对于一个严格设计的零碎来说,存在不同性能的计算节点,如应用服务器集群、缓存服务器集群、数据库集群等。应用服务器集群如果是无状态的场景下(数据保留在另外的节点上),那么伸缩机器是比较简单间接的;对于缓存服务器集群来说,新退出的计算节点则须要进行相干缓存刷新或预热等来保证数据的可拜访性;对于数据库来说,实时的伸缩是比拟艰难的,须要提前做好数据备份和数据同步等形式,辅助路由伎俩等晋升数据库集群的整体可用性和性能。

云上架构设计的局部最佳实际

在云计算高度倒退的明天,公共云上曾经运行了大量的外围业务零碎。这些业务零碎从设计到逻辑等方面都思考了云自身带来的便利性,同时公共云的倒退也一直汲取这些业务零碎的需要来一直优化本身的产品设计,并推出更适配业务需要的云产品。因而在一些比拟有特点的场景下造成了最佳实际,借助这些最佳实际预期能够无效晋升云架构设计初期的架构设计能力,晋升零碎整体性能,具体能够参考每个云产品文档中的最佳实际相干内容,以及阿里云最佳实际频道。

关注架构设计的注意事项

性能并不需要自觉地谋求极致,在高性能架构设计的过程中,还须要关注性能设计中的一些挑战和注意事项,防止引起不必要的资源节约和研发投入。具体能够参考挑战和注意事项。

关注【TechLeadCloud】,分享互联网架构、云服务技术的全维度常识。作者领有 10+ 年互联网服务架构、AI 产品研发教训、团队治理教训,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师,项目管理专业人士,上亿营收 AI 产品研发负责人。
如有帮忙,请多关注
TeahLead KrisChang,10+ 年的互联网和人工智能从业教训,10 年 + 技术和业务团队治理教训,同济软件工程本科,复旦工程治理硕士,阿里云认证云服务资深架构师,上亿营收 AI 产品业务负责人。

正文完
 0