HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

在 AWS Well-Architected Tool 中使用无服务器剖析

  • 2020-02-27
  • 本文字数:1954 字

    阅读完需:约 6 分钟

在 AWS Well-Architected Tool 中使用无服务器剖析

当您在云中构建和运行应用程序时,您问自己“我做得对吗”的频率如何?


实际上,这是一个很好的问题,为了让您得到满意答案,我们在 2015 年公开发布了 AWS 架构完善的框架,这是一种将您的工作负载与我们的最佳实践进行比较的形式化方法,并为您提供有关改进方法的指导。如今,架构完善的框架为客户和合作伙伴设计和评估云架构提供了一种一致的方法,该框架基于以下五大支柱:


  • 卓越运行

  • 安全性

  • 可靠性

  • 性能效率

  • 成本优化


为了提供更多针对特定工作负载的建议,我们跳出传统视角,在 2017 年使用“剖析”概念扩展了框架,进入了特定的技术领域。目前,您可以使用三种剖析:


  • 无服务器

  • 高性能计算 (HPC)

  • IoT(物联网)


要进行改进,首先要做的事情是决定要衡量的方面以及如何衡量。为了让您以更结构化的方式查看工作负载,我们在 2018 年推出了 AWS Well-Architected Tool,这是 AWS 管理控制台中提供的一种免费工具,您可以在其中定义工作负载,并回答有关五大支柱的问题。


您可以将此 Well-Architected Tool 用于不同用途。例如:


  • 如果您正在处理特定的应用程序,则可以使用该工具来评估风险并找出需要改进的方面。

  • 如果您负责多个应用程序,则可以使用该工具查看所有应用程序的当前状态。


今天,我很高兴地宣布,我们增加了将剖析应用到 Well-Architected Tool 的功能,我们提供的第一个剖析便是无服务器剖析!


**在 AWS Well-Architected Tool 中使用无服务器剖析


**在 Well-Architected Tool 控制台中,我首先定义我的工作负载。我目前正在使用 Amplify 框架为移动应用程序构建后端。这非常简单,但我将使用 DynamoDB 全局表为我的用户存储数据,并且应用程序将在两个 AWS 区域中运行。添加 AWS 账户 ID 为可选操作,但对于了解在多账户设置中部署应用程序非常有用。



现在,我可以选择应用哪种剖析。默认情况下,AWS 架构完善的框架已存在。我会选择无服务器剖析。这将添加一组其他问题,帮助我了解如何按照框架最佳实践设计、部署和构建我的无服务器应用程序。



定义工作负载后,我开始进行审查。我直接跳到无服务器剖析。 新问题涉及在五大支柱。例如,我最喜欢的其中一个问题是性能相关的问题:



控制台右侧会针对每个问题提供资源,可帮助我了解可能的答案和使用的术语。 我选择了我在实施过程中要执行的活动和技术选择,具体为:


  • 我正在使用数据流(如由 Amazon KinesisDynamoDB Streams 提供的数据流)和异步函数调用来提高并发性。

  • 我正在内存中缓存用户的数据,以减少对数据库的访问。我还可以使用 Lambda 函数的 /tmp,或者使用诸如 Amazon ElastiCache 之类的外部数据存储。

  • 当服务集成可以在本机完成作业时,例如当我需要从 Amazon API Gateway 调用 Kinesis Data Firehose 时(这也是在优化我的成本),我会删除函数。


我保存并退出,而且即使我只回答了一个问题,我也从工具中获得了一些反馈。从工作负载概览中,我选择了无服务器剖析。然后我注意到,我需要减轻一项很高的风险。



我在下面就如何解决风险提出了建议,包括根据提出风险的问题的具体建议。对于无服务器应用程序,使用由平台自动扩展的合适容量单位来平衡性能和成本非常重要。



我单击第一个建议,然后收到了针对我的改进计划的具体操作项目。其中涵盖了我可以在无服务器应用程序中使用的不同架构组件,如 Lambda 函数、DynamoDB 表或 API 网关终端节点。在 此我将根据建议使用 Lambda Power Tuning开源工具来微调 Lambda 函数的内存/电源配置。



在制定改进计划之前,我将继续回答所有问题。我现在可以在 AWS 控制台中查看完整报告,或将其下载为 PDF 格式的文件以便与其他利益相关者共享。通过这种方式,我们可以共同规划必要的改进,获得一个成功的无服务器应用程序。



在我们做出改进后,我就可以返回并标记正确的答案,以消除高风险问题。出色的架构是多次迭代的结果。


**现已推出


**无服务器剖析目前已在所有提供 Well-Architected Tool 的区域推出,详情请参阅 AWS 区域表。它可以应用于现有工作负载,也可以用于您在工具中定义的新工作负载。


使用 AWS Well-Architected Tool 不会产生任何成本,您可以使用它来改进您正在处理的应用程序,或查看您所在的部门或区域使用的多个工作负载。


作为首席信息官/首席技术官,您可以将其用作控制面板,呈现您负责的所有应用程序的状态。为了更更轻松地执行这一过程,您可以与其他 AWS 账户共享工作负载,您可以使用该账户在单一视图中呈现多个应用程序。


由于该工具输出的是一份包含风险及风险解决方法的报告,因此您应在应用程序的整个生命周期内使用该工具,尤其是在设计和实施阶段,而不仅仅是在生产阶段使用,因为在生产阶段实施您获得的一些建议可能为时已晚。


本文转载自 AWS 技术博客。


原文链接:https://amazonaws-china.com/cn/blogs/china/new-serverless-lens-in-aws-well-architected-tool/


2020-02-27 16:39556

评论

发布
暂无评论
发现更多内容

游戏夜读 | 刀塔选手比较老吗?

game1night

手把手透析C语言堆内存申请malloc及扩容realloc

卓丁

c 堆内存管理 heap memory malloc realloc

转行程序员浅谈Linux下的多线程编程

WB

Linux 程序员 多线程

【应用异常监控利器Sentry搭建与学习笔记】

卓丁

Docker Sertry Fasthttp CI/CD Go 语言

职位拆解:互联网-运营

小鲸数据

行业资讯 移动互联网 运营 AARRR

ARTS 01 - 为什么写作在远程工作中那么重要?

Calvin

ARTS 打卡计划

修改Tomcat窗口的名称

阡陌r

Java tomcat 踩坑 实施

ARTS 第一周

onee

ARTS 打卡计划

【ARTS】Week 1

Amos

ARTS 打卡计划

LeetCode 241. Different Ways to Add Parentheses

liu_liu

LeetCode

你所不知道的淘宝325秘密

Geek_i59t1w

ios 淘宝 325

Lucene的Smart CN实现分词、停用词、扩展词

Page

中文分词 lucene 停用词 扩展词 SmartCN

Linux如何调试内存泄漏

泰伦卢

c c++ C#

Java 火焰图

wong

Java flamegraph

Mobileye如何在云上进行深度学习模型训练

Randy

自动驾驶 学习 AI AWS

ARTS week 1

刘昱

鄙视链 & 全栈

伯薇

学习 能力提升 全栈

Spring Data R2DBC 入门

稻草鸟人

MySQL WebFlux springboot R2DBC

Service Provider Interface介绍

Skysper

spi

“数据资产”究竟是“数据”还是“资产”

马踏飞机747

大数据 数据中台 数据治理 数据资产

LeetCode 1048. Longest String Chain

liu_liu

LeetCode

John 易筋 ARTS打卡Week 01

John(易筋)

ARTS 打卡计划

leetcode练级-只出现一次的数字 升级版

幸福三寸日光

算法 LeetCode js

向往优雅的代码

Janenesome

编码习惯 读书

Python 3.6.1 官方文档练习——初入江湖(三)

小匚

Python python教程

ARTS打卡 week 1

猫吃小怪兽

ARTS 打卡计划

leetcode练级-只出现一次的数字

幸福三寸日光

算法 LeetCode js

字节跳动:高级人才的五个基本素质

池建强

人才培养

Kubernetes 资料集合

倪朋飞

学习 Kubernetes 架构模式

我的 Windows Terminal 配置

FeiLong

Windows Terminal

我的读书生涯-小学到大学: 没有成长, 只有不断加深的疑惑

lmymirror

人生 读书 经历 半虚构

在 AWS Well-Architected Tool 中使用无服务器剖析_行业深度_AWS_InfoQ精选文章