写点什么

在 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:39682

评论

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

XLD音频无损解码器:X Lossless Decoder中文激活版

真大的脸盆

Mac Mac 软件 音频解码 音频处理工具 音频管理

融合低代码与GPT,微软的又一个神奇颠覆

ToB行业头条

Python Dev Day@北京站,我们来啦!

PyChina

扫一扫,原来这么简单

HarmonyOS SDK

HMS Core

双非渣硕,开发一年,苦刷算法三个月,四面字节成功斩获offer

Java 数据结构 面试 算法

宝塔SSH ROOT账号无法登录

源字节1号

开源 软件开发 小程序开发

在 Kubernetes 中部署应用交付服务(第 1 部分)

NGINX开源社区

用 JavaScript 写出一个彩票系统?

泰罗凹凸曼

JavaScript 前端

国际版语音房聊天APP,视频语音平台开发搭建经验及后台项目简要说明

山东布谷科技胡月

语音聊天系统 语音直播app开发 国际版语音直播APP 国际版语音系统源码 语音聊天房系统搭建

软件测试/测试开发丨iOS自动化测试之基于模拟器的自动化测试

测试人

ios 软件测试 自动化测试 测试开发

Pushing to Git returning Error Code 403

刿刀

Spring为什么需要三个级别的缓存来解决循环依赖

Java spring 面试 循环依赖 三级缓存

软件测试/测试开发丨app自动化测试之Appium 源码分析

测试人

软件测试 自动化测试 测试开发 appium

火山引擎VeDI零售行业解决方案 聚焦精准营销场景提升品牌转化

字节跳动数据平台

大数据 云服务 数据平台 企业号 3 月 PK 榜

自动化回归测试平台 AREX 0.2.7 版本正式发布!

AREX 中文社区

开源 自动化测试 接口测试 回归测试

软件测试/测试开发丨iOS自动化真机测试验证环境过程中常见问题

测试人

软件测试 自动化测试 测试开发 ios测试

AI 未来已至,向量数据库站在新的节点上

Zilliz

英伟达 非结构化数据 Milvus 向量数据库

2023年实用性好的堡垒机推荐

行云管家

网络安全 堡垒机

小程序营销模板的发展现状及前景分析

没有用户名丶

小程序

ONES 入选北大光华 MBA 整合实践项目,推动校企合作

万事ONES

bitget合约一键跟单社区交易平台开发功能以及模式分析

开发微hkkf5566

太厉害了!GitHub上标星80K的微服务实战笔记,看完跪了

Java 微服务 Spring Cloud Spring Cloud Aliababa

文档智能分析产业实践,基于PP-StructureV2和OpenVINO实现训练部署开发全流程

飞桨PaddlePaddle

一文详解Java中的ThreadLocal

Java 多线程 线程池 ThreadLocal

2023年好用的谷歌浏览器插件推荐(Chrome必备扩展程序) 安装教程

互联网搬砖工作者

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