什么是AWS最佳架构和六大支柱

云计算
AWS Well-Architected Framework 描述了用于在云中设计和运行工作负载的关键概念、设计原则和架构最佳实践。通过回答一组基本问题,您将了解您的架构如何与云最佳实践保持一致,并提供改进指导。

AWS Well-Architected Framework 描述了用于在云中设计和运行工作负载的关键概念、设计原则和架构最佳实践。通过回答一组基本问题,您将了解您的架构如何与云最佳实践保持一致,并提供改进指导。

The AWS Well-Architected Framework is based on six pillars:

  • Operational Excellence
  • Security
  • Reliability
  • Performance Efficiency
  • Cost Optimization
  • Sustainability

图片

卓越运营支柱 Operational excellence - Operational Excellence Pillar (amazon.com)

卓越运营支柱侧重于运行和监测系统,并不断改进流程和程序。关键主题包括:自动化变更、响应事件以及定义标准以管理日常运营。

以下是在云中实现卓越运营的设计原则:

  • 执行运营即代码: 在云中,您可以将用于应用程序代码的工程规范应用于整个环境。您可以将整个工作负载(应用程序、基础设施等)定义为代码,并使用该代码进行更新。您可以为运营流程编写脚本,并通过启动这些脚本来自动执行流程,以响应事件。通过执行运营即代码,您可以减少人为错误并实现对事件的一致响应。
  • 频繁进行可逆的小规模更改: 将工作负载设计为可扩展且松耦合,以允许定期更新组件。自动部署技术加上小型增量变更可缩小影响范围,并能够在发生故障时更快地进行回滚。这将增强您的信心,在保持质量和快速适应市场条件变化的同时,为您的工作负载提供有益的变化。
  • 经常优化运营流程: 在改进工作负载的同时,您也要适当改进一下运营。在使用运营程序时,要寻找机会改进它们。定期审查并验证所有流程是否有效,以及团队是否熟悉这些流程。在发现差距时,相应地更新程序。向所有利益相关者和团队传达程序更新。将运营游戏化,以分享最佳实践并向团队传授知识。
  • 预测故障: 执行“故障演练”,找出潜在的问题,以便消除和缓解问题。测试您的故障场景,并确认您了解相应影响。测试您的响应程序,以确保它们的有效性,以及团队熟练他们的流程。设置定期的实际演练,以测试工作负载和团队对模拟事件的响应。
  • 从所有运营故障中吸取经验教训: 从所有运营事件和故障中吸取的经验教训,推动改进。在多个团队乃至组织范围中分享经验教训。
  • 使用托管服务: 尽可能使用 AWS 托管服务,减少运营负担。围绕与这些服务的交互制定操作程序。
  • 实施可观测性以获得切实可行的见解: 全面了解工作负载行为、性能、可靠性、成本和运行状况。建立关键绩效指标(KPI),利用可观测性遥测来作出明智的决策,并在业务结果面临风险时迅速采取行动。基于可操作的可观测性数据,主动提高性能和可靠性,降低成本。

图片

AWS 提供了很多服务可以帮助客户来达到这一目标,会经常涉及到的几个服务:

  1. Amzon CloudWatch - 提供了一个高可靠,可伸缩以及灵活的监控服务。你可以在短短几分钟之内将其启用,用来实时监控你部署在 AWS 上的资源和应用。
  2. AWS Config - 用来记录所有对资源配置进行的修改,并且可以对配置的合规性进行校验。
  3. AWS CloudTrail - 用来记录所有访问你的账户 AWS API 调用,包括通过 AWS 管理控制台,AWS SDKs,命令行工具等进行的 API 调用。还可以识别是哪些用户和账户进行了这些调用,以及触发调用的源 IP 地址。你还可以通过 API 将 CloudTrail 集成到应用程序中,自动化创建记录,检查记录的状态并且控制 CloudTrail 日志的开关。
  4. AWS CloudFormation - 使用 CloudFormation,可以将 AWS 资源的创建、配置和删除操作,以脚本的形式实现,从而实现自动部署。而且可以轻易实现多个相同环境的快速部署。
  5. AWS Trusted Advisor - 将你的 AWS 环境与最佳实践库对比,并针对成本,系统可靠性,性能,或者安全性方面提出改进建议。
  6. AWS Health - 提供可能会影响你 AWS 基础设施的事件的信息,并进行相应的指导来减轻影响。
  7. AWS Control Tower - 能够在你的组织和账户中管理并强制执行与安全,运行和合规性像个的管控规则。

图片

安全性支柱 Security foundations - Security Pillar (amazon.com)

安全性支柱侧重于保护信息和系统。关键主题包括:数据保密和完整性、管理用户权限以及建立检测安全事件的控制措施。

在云领域,有很多原则可帮助您提高工作负载的安全性:

  • 健壮的身份验证体系: 实施最小权限原则,并通过对每一次与 AWS 资源之间的交互进行适当授权来强制执行职责分离集中进行身份管理,并努力消除对长期静态凭证的依赖
  • 保持可追溯性: 实时监控和审计对环境执行的操作和更改并发送警报。为系统集成日志和指标收集功能,以自动调查并采取措施。
  • 在所有层面应用安全措施: 利用多种安全控制措施实现深度防御。应用到所有层面(例如网络边缘、VPC、负载均衡、每个实例和计算服务、操作系统、应用程序和代码)。
  • 自动实施安全最佳实践: 借助基于软件的自动化安全机制,您能够以更为快速且更具成本效益的方式实现安全扩展。创建安全架构,包括实施可在版本控制模板中以代码形式定义和管理的控制措施。
  • 保护动态数据和静态数据:将您的数据按敏感程度进行分类,并采用加密、令牌和访问控制等机制(如适用)。
  • 限制对数据的访问: 使用相关机制和工具来减少和消除直接访问或人工处理数据的需求。这样可以降低处理敏感数据时数据处理不当、被修改以及人为错误的风险。
  • 做好应对安全性事件的准备: 制定符合您组织要求的事件管理和调查策略和流程,做好应对事件的准备工作。开展事件响应模拟演练并使用具有自动化功能的工具来提高检测、调查和恢复的速度。

图片

可靠性支柱  设计原则 - 可靠性支柱 (amazon.com)

可靠性支柱侧重于执行预期职能的工作负载,以及如何从故障快速恢复以满足需求。关键主题包括:分布式系统设计、恢复计划以及适应变化的要求。

在云中,有许多原则可帮助您提高可靠性。在讨论最佳实践时,请记住以下几点:

  • 自动从故障中恢复:通过监控工作负载的关键性能指标(KPI),您可以在指标超过阈值时触发自动化响应机制。这些 KPI 应该是对业务价值(而不是服务运营的技术方面)的一种度量。这包括自动发送故障通知和跟踪故障,以及启动解决或修复故障的自动恢复流程。借助更高级的自动化功能,您可以在故障发生之前预测和修复故障。
  • 测试恢复过程:在本地环境中,经常会通过执行测试来证明工作负载能够在特定场景中正常运作。通常不会利用测试来验证恢复策略。在云中,您可以测试工作负载的故障情况,并验证您的恢复程序。您可以采用自动化方式来模拟不同的故障,也可以重新建立之前导致故障的场景。此方式可以在实际的故障发生以前揭示您可以测试与修复的故障路径,从而降低风险。
  • 横向扩展以提高聚合工作负载的可用性:使用多个小型资源取代一个大型资源,以降低单个故障对整个工作负载的影响。跨多个较小的资源分配请求,以确保它们不共用常见故障点。
  • 无需预估容量:本地工作负载出现故障的常见原因是资源饱和,即对工作负载的需求超过该工作负载的容量(这通常是拒绝服务攻击的目标)。在云中,您可以监控需求和工作负载利用率,并自动添加或删除资源,以保持最佳水平来满足需求,而不会出现超额预置或预置不足的问题。虽然还有很多限制,但有些限额是可控的,其他限额也可以管理(请参阅“ 管理服务限额和限制)。
  • 通过自动化来管理变更:使用自动化方式对基础设施进行变更。需要管理的变更包括,对自动化的变更,可对其进行跟踪与审查。

图片

性能效率支柱 Design principles - Performance Efficiency Pillar (amazon.com)

性能效率支柱侧重于有序流畅分配 IT 和计算资源。关键主题包括:选择根据工作负载要求优化的资源类型和大小、监测性能以及随着业务需求发展维持效率。

以下这些设计原则可帮助您在云中实现并维护高效工作负载。

  • 普及先进技术: 通过将复杂的任务委派给云供应商,降低您的团队实施高级技术的难度。与要求您的 IT 团队学习有关托管和运行新技术的知识相比,考虑将新技术作为服务使用是一种更好的选择。例如,NoSQL 数据库、媒体转码和机器学习都是需要专业知识才能使用的技术。在云中,这些技术会转变为团队可以使用的服务,让团队能够专注于产品开发,而不是资源预置和管理。
  • 数分钟内实现全球化部署: 您可以在全球多个 AWS 区域中部署工作负载,从而以最低的成本为客户提供更低的延迟和更好的体验。
  • 使用无服务器架构: 借助无服务器架构,您无需运行和维护物理服务器即可执行传统计算活动。例如,无服务器存储服务可以充当静态网站(从而无需再使用 Web 服务器),事件服务则可以实现代码托管。这不仅能够消除管理物理服务器产生的运行负担,还可以借由以云规模运行的托管服务来降低业务成本。
  • 提升试验频率: 利用虚拟和可自动化的资源,您可以快速利用各种类型的实例、存储或配置执行对比测试。
  • 考虑软硬件协同编程: 使用最符合您目标的技术方法。例如,在为工作负载选择数据库或存储时考虑数据访问模式。

图片

成本优化支柱 Design principles - Cost Optimization Pillar (amazon.com)

成本优化支柱侧重于避免不必要的成本。关键主题包括:了解长时间支出和控制资金分配,选择合适类型和数量的资源,缩放以满足业务需求而不过度开支。

请考虑以下成本优化设计原则:

践行云财务管理 为获得财务上的成功并加速在云中实现商业价值,必须投资云财务管理。您的组织必须投入必要的时间和资源增强自身在这个新的技术和使用管理领域中的能力。与安全或运营能力类似,您的组织需要通过知识积累、计划、资源和流程来增强自身能力,从而成为一家具有成本效益的组织。

采用消费模型: 仅为所用的计算资源付费,并可根据业务需求增加或减少使用量。例如,开发和测试环境通常只需要在每个工作日运行八个小时。您可以在不需要的时候停用这些资源,这样有可能节省 75% 的成本(40 小时对比 168 小时)。

衡量整体效率: 衡量工作负载的业务产出及其交付成本。使用此数据了解您通过提高产出、增加功能和降低成本获得的收益。

不再将资金投入到无差别的繁重任务上:AWS 会负责繁重的数据中心运维任务,例如安装、布置和运行服务器。它还消除了使用托管服务管理操作系统和应用程序的运营负担。因此,您可以集中精力处理客户和业务项目而非 IT 基础设施。

分析并划分支出属性: 使用云,您可以更轻松地准确了解工作负载的成本和使用量,从而将 IT 成本透明地归属到收入来源和各个工作负载拥有者。这有助于衡量投资回报率 (ROI),并让工作负载拥有者能够据此优化资源和降低成本。

图片

图片

图片

可持续性支柱 Design principles for sustainability in the cloud - Sustainability Pillar (amazon.com)

可持续性支柱侧重于减少运行的云工作负载对环境的影响。关键主题包括:可持续性责任共担模式,了解影响,最大化利用率以减少所需的资源并减少下游的影响。 

在构建云工作负载时应用这些设计原则,可以最大限度地提高可持续性,并将影响降至最低。

  • 了解您的影响: 衡量您的云工作负载的影响并为您的工作负载的未来影响建模。包括所有影响来源,例如客户使用您的产品所产生的影响,以及产品最终淘汰和停用所产生的影响。通过查看每个工作单元所需的资源和排放量,将生产性输出与云工作负载的总体影响进行比较。使用这些数据来建立关键绩效指标(KPI),评估在降低影响的同时提高生产力的方法,并估计提议的更改随时间的推移所产生的影响。
  • 设定可持续性目标: 对于每个云工作负载,建立长期可持续性目标,例如减少每个事务所需的计算和存储资源。针对现有工作负载的可持续性改进的投资回报进行建模,并为负责人提供投资于可持续性目标所需的资源。规划增长并构建您的工作负载,以便增长可降低影响强度(以适当的单位衡量,例如每用户或每事务)。目标可帮助您支持您的企业或组织更广泛的可持续发展目标、识别回归并确定潜在改进领域的优先级。
  • 实现利用率最大化: 适当调整工作负载规模并实施高效设计,以确保高利用率并最大限度地提高底层硬件的能源效率。由于每台主机的基准功耗,两台以 30% 利用率运行的主机的效率低于一台以 60% 利用率运行的主机。同时,消除或尽可能减少空闲资源、处理和存储,以减少支持工作负载所需的总能源。
  • 预测并采用更高效的新硬件和软件产品/服务: 支持您的合作伙伴和供应商进行上游改进,以帮助您减少云工作负载的影响。持续监控和评估更高效的新硬件和软件产品。设计灵活性以允许快速采用高效的新技术。
  • 使用托管服务: 在庞大的客户群中共享服务有助于更充分地利用资源,从而减少支持云工作负载所需的基础设施数量。例如,客户可以通过将工作负载迁移到 AWS Cloud 并采用托管服务(例如,用于无服务器容器的 AWS Fargate,AWS 在其中大规模运行并负责其高效运行)来分散电力和网络等常见数据中心组件的影响。使用有助于将影响降至最低的托管服务,例如使用 Amazon S3 生命周期配置将不经常访问的数据自动移动到冷存储,或使用 Amazon EC2 Auto Scaling 来调整容量以满足需求。
  • 减少云工作负载的下游影响: 减少使用您的服务所需的能源或资源量。减少或消除客户为了使用您的服务而升级其设备的需求。使用设备场进行测试以了解预期影响,并对客户进行测试以了解使用您服务的实际影响

图片

图片

责任编辑:庞桂玉 来源: 数字化助推器
相关推荐

2021-04-01 14:54:12

云计算边缘计算物联网

2019-06-20 15:35:07

云计算成本企业

2015-09-17 10:17:28

2015-12-18 18:03:43

AWS云计算

2010-03-30 11:29:08

BMCCMDBIT运维

2018-08-21 06:38:11

2019-01-07 08:00:00

2011-11-02 09:38:09

数据虚拟化虚拟化

2010-07-30 13:15:17

Flex优势

2023-10-18 10:48:44

Python解释器

2024-10-22 14:42:14

2010-09-25 15:22:19

DHCP故障处理

2010-08-16 10:14:23

云计算误区

2023-09-25 12:40:00

架构师数字化转型

2024-04-18 10:59:08

系统数据数据管理架构

2019-01-29 10:22:08

Web漏洞攻击XSS

2013-08-23 10:42:03

Hadoop

2009-06-10 17:13:50

Java开源软件

2022-01-23 10:44:39

零信任网络安全网络攻击

2023-08-31 22:12:51

低代码隐患技术
点赞
收藏

51CTO技术栈公众号