云途加油站 | 一文读懂 Dynatrace 与 Amazon Lambda 的“双剑合璧心法”

article/2025/10/2 13:01:54

Amazon Lambda 正在掀起企业级云市场的一场小潮流。不少业内人士发现,越来越多的企业正在将 Lambda 函数加入其技术栈中。

这一潮流其实不难理解——

一则,门槛低。Amazon Lambda为企业进入云计算提供了相对较低的门槛,无需立即全面推行转移升级操作。

二则,经济适用。Amazon Lambda 函数严格按使用情况计费,这意味着在 Lambda 函数未运行时产生的成本为零。

三则,功能丰富。Amazon Lambda 函数几乎可以承担运行应用的所有操作职责。企业人员需要做的就是提供应该在给定事件或触发器上执行的代码。这意味着不需要配置或管理服务器(甚至容器),Lambda 就已经处理以下所有工作:

  • 负载均衡

  • 自动伸缩

  • 失败重试

  • 安全隔离

  • 操作系统管理

  • 利用率和容量

因此,一个设计良好的 Lambda 架构可以为企业节省大量成本。不过,凡事有利必有弊,虽然在运行功能时几乎没有运营开销,但在迁移到 Amazon Lambda 时却有三大挑战需要关注。

挑战1:本地开发困难重重

Lambda 函数在 Amazon Lambda 运行时环境中运行并深度集成到 Amazon 技术栈中。因此,在本地开发期间提供相同的环境可能会很复杂。

此外,“Serverless”意味着还需要 Lambda 函数以外的产品技术。使用 Lambda 时,您可能很快就会用到更多其他的Serverless产品,例如数据库。这使得在本地模拟相同的环境变得困难重重。

挑战2:部署编排难度加大

虽然 Amazon 可以减轻企业运行函数的运营开销,但更大规模地使用 Lambda 函数则需要成熟的部署策略。那么有没有两全其美之法?

实际上, 基础设施即代码 (IaC)也许正能解您的燃眉之急。IaC 在这里的最大功效,即是避免最终陷入手工部署功能实例的陷阱。至于开发阶段,我们则应该关注持续集成和持续部署。考虑到这一现实,Dynatrace Lambda 监测扩展支持所有主流的 IaC 技术。

Lambda 部署方法

挑战3:企业级可观测能力难以实现

在开发人员开始采用 Amazon Lambda 后不久,运维和网站可靠性工程团队便会开始想方设法打造等同于传统工作负载提供的洞察力水准。很快,只专注于监测 Lambda 部署的专用产品出现了。不过,它们却无法满足企业对内部部署与混合云之间的、端到端的可观测能力常见需求。这是因为,虽然这些专用产品大多建立在 Amazon CloudWatch 和 Xray 之上,但它们的代理有很大的局限性,因此在进程中运行代理和 Lambda 函数会带来一些难题。

而随着 Dynatrace Lambda 扩展的发布,这种局面已成为过去。如今,Dynatrace 可以监测混合环境中的 Lambda,因而能够满足企业的需求。

Lambda 虽好,挑战却也不少

搭配 Dynatrace,才能把好钢用在刀刃上!

那么,接下来我们再细致分析 Amazon Lambda 的常见应用场景。

场景1:扩展现有企业技术栈

对于许多企业而言,Lambda 函数提供了一种方便运用云计算的方法,并且无需启动整个云迁移计划。边缘计算的常用服务是 Lambda 大显身手之处。

就Dynatrace的客户而言,我们观察到身份验证或计算任务等功能正在转移到 Lambda。通常,Lambda 函数只是作为通往其他 Amazon 托管服务的网关,这引导我们进入下一个应用场景。

 使用 Amazon Lambda 扩展企业技术栈

场景2:其他 Amazon 服务的网关/代理层

Amazon 提供了一系列托管服务,这些服务也属于“Serverless”范畴。在 Lambda 函数中使用这些服务非常方便。只需将 Amazon 开发工具包用于给定服务并提供终端节点的 ARN。这使得所有的 Amazon 服务都触手可及,让他们能够构建复杂的应用,同时无需部署单个主机或容器。

使用 Lambda 函数作为其他 Amazon 服务的网关

场景3:单页应用后端

这可能会让人感到意外,但在我们的客户中,Lambda 的另一个常见应用场景是为单页应用 (SPA) 提供后端。

对于常规的网页,大多数用户交互会导致整个页面重新加载和服务器端生成页面,而单页应用则通过 JavaScript 动态更改其内容。如今,Angular、React.js 和 Vue.js 等前端框架用于完成这项工作。为了提供动态内容,单页应用主要依靠 REST API 来使用现代浏览器提供的方法(例如 XHR 或 fetch)来获取数据。

API 网关后面的 Lambda 函数就可以作为这样的 API 端点,可从其他的 Amazon 服务中获取数据,甚至可以回调到企业应用(例如从大型机)中获取数据。

 使用 S3 和 Lambda 为单页应用提供服务

然而,单页应用的 HTML 和 JavaScript 仍需要用于驻留的场所。Amazon S3 和 CloudFront 为驻留和服务此类静态资产提供了完美的解决方案。Amazon Lambda 和 S3 大多是根据使用量计费的。这意味着,与运行常规 Web 服务器相比,在用户不与您的站点交互时几乎没有成本。在单页应用中,监测用户操作和对后端调用是抢在终端用户开始抱怨之前找出问题的唯一方法。

 Lambda 函数的真实用户监测

这就是 Dynatrace 真实用户监测 (RUM) 完全集成到Amazon Lambda 监测扩展中的原因所在。通过将 JavaScript 片段添加到您的静态页面并在 Lambda 函数上设置配置选项,Dynatrace 不仅能为您提供真实用户监测的全部功能,还能提供由 Amazon Lambda 支持的从浏览器到后端调用的端到端跟踪。

精彩活动预告 

了解更多技术干货,请锁定8月27日本周六,下午14点到17点,亚马逊云科技将携手合作伙伴 Dynatrace 在深圳举行可观测互动体验活动,我们期待这次互动式的分享能帮助大家基于可观测性方案开拓解决问题思路,活动信息详见海报。

随着 Amazon Lambda 在企业中应用范围的拓展,尤其是不断出现的全新使用场景,相信企业 IT 专家们还会遇到新的令人兴奋的挑战。Dynatrace 官方微信平台推出了 有「迹」可云——亚马逊云科技 云途加油站 专题,以多篇实操技术内容,解析 Dynatrace 如何成为您在亚马逊云科技云上的「灵」通助手。了解更多关于 Dynatrace 的信息,可免费下载最新 Gartner 报告——


http://chatgpt.dhexx.cn/article/tF9QRcvZ.shtml

相关文章

Dynatrace AppMon最佳实践(一)

经常有客户问我,如何利用Dynatrace捕获必要的应用性能监控信息,从而快速诊断性能问题?所谓捕获必要的信息,即是在应用出现性能下降的时候,PurePath能够捕获导致事务响应缓慢的方法,或是导致事务失败的异常栈信息,亦或是用户请求的上下文参数。如何通过Dynatrace捕获必要…

什么是 Dynatrace 的 Speed Index 度量标准

Dynatrace 中的 Speed Index 是一种度量网页加载速度的标准,它与 Visually Complete 类似,但更加精细。Speed Index 是一个计算值,反映了整个页面的加载速度,并将所有重要元素的渲染时间考虑在内。与 Visually Complete 不同的是&…

dynamic-datasource动态数据源学习

学习链接 spring整合mybatis的核心思路 & 数据源动态切换 & 多数据源事务控制 - 自己的链接(本篇文章的上篇) Mybatisplus生成代码配置 & p6spy打印sql & mybatis日志打印 & mybatisplus用法 dynamic-datasource-spring-boot-sta…

什么是 Dynatrace 的 Largest Contentful Paint

Dynatrace 多维分析使 Web 开发人员能够沿多个过滤维度分析浏览器监控执行情况。 多维分析页面以图表形式显示选定时间范围内的性能、可用性和错误计数。 可以选择较短的分析范围并以散点图和列表格式查看单个数据点。 页面顶部显示长期(时间序列)数据…

使用 Dynatrace 对 Node.js 应用的性能数据进行分析

JavaScript Storefront 应用程序的性能问题的表现形式有多种,最典型的是响应时间(response time)的恶化,甚至由于资源耗尽导致的网站完全宕机。 由于 JavaScript Storefront 涉及许多组件,因此确定性能问题的根源可能具有挑战性,如…

dynatrace 详解

dynaTrace Ajax:前端性能分析利器 谢 菊, 性能分析工程师, IBM 谢菊,IBM 中国软件开发中心(CDL)Lotus 部门的软件性能分析工程师,具有多个产品的性能测试经验,如IBM Portal Accelerator 和IBM Docs。目前正…

dynaTrace Ajax:前端性能分析利器

什么是 dynaTrace Ajax 随着 jQuery、Dojo、YUI 等框架的兴起让构建 Web2.0 应用更加容易,但随之带来的定位等应用问题也越来越难,尤其是与性能相关的。dynaTrace Ajax Edition 是一个强大的底层追踪、前端性能分析工具,该工具不仅能够记录浏…

监控方法基本套路

监控方法基本套路 性能测试监控方法基本套路 1、传统OS定位方法: 通过CPU,内存,IO,网络等指标初步确定问题根据问题进一步确定进程的PID根据进程PID,确定到线程基本TID根据线程的Dump确定堆栈信息根据堆栈信息定位到…

Dynatrace系列之- 如何发现和分析问题

Dynatrace系列之- 如何发现和分析问题 Dynatrace用Problem(问题)表示异常情况,即偏离了正常行为或状态。例如某个服务速度变慢或某个用户登录应用速度变慢。每当检测到问题时,Dynatrace都会引发一个特定的problem event(问题事件)来表示此类异常。 请注…

网址和URL之间的区别:什么是RUI、RUL、URN

调用Web地址是普通的一个问题。一般这种情况,大家都会说,将“URL”放到浏览器中。这里提到的URL ,其实不是一个URL ,是网址的意思。URI 是统一资源标识符,而 URL 是统一资源定位符。因此,笼统地说&#xff…

146. LRU 缓存机制

LRU 缓存机制 运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制 。 实现 LRUCache 类: LRUCache(int capacity) 以正整数作为容量 capacity 初始化 LRU 缓存int get(int key) 如果关键字 key 存在于缓存中,则返回关键字…

物理读之LRU(最近最少被使用)的深入解析 (解释LRU_FLAG的含义)

物理读之LRU(最近最少被使用)的深入解析 转载请注明出处: http://blog.csdn.net/guoyjoe/article/details/38264883 一组LRU链表包括LRU主链,LRU辅助链,LRUW主链,LRUW辅助链,称为一个WorkSet(…

LRU(最近最少使用)缓存机制

title: LRU缓存机制 categories: 操作系统 tags: 操作系统LRUOS计算机知识 LRU(最近最少使用)缓存机制 LRU:最近最少使用缓存机制 其设计的原则依据:如果一个数据在最近一段时间没有被访问到,那么在将来它被访问的可能性也很小。也就是…

LRU简单实现-了解一下?

LRU 算法 LRU 是一种作为缓存的算法,像 CPU 缓存,数据库缓存,浏览器缓存。以及在移动端开发时的图片安缓存,采用 LRU 缓存策略的应用很广泛。在面试中也是常常考察的一个点。当然也有其他缓存方法,常见的策略有三种&a…

LRU总结

文章目录 [146. LRU 缓存机制](https://leetcode-cn.com/problems/lru-cache/)ACM模式LRU 在 MySQL 中的应用LRU 在 Redis 中的应用面试官:来,手写一个线程安全并且可以设置过期时间的LRU缓存 146. LRU 缓存机制 力扣原题 class Node{public int key;pu…

html ur是什么意思_url是什么意思?

实际上,我们在使用互联网的过程中,其中有许多东西都是只会用,而不知道它到底是啥名字,看见了也不理解它是做什么的,比如今天我将和大家说的URL,实际上就是我们在互联网生活中非常常见的一个东西。 web前端学习:打造全网web前端全栈资料库(总目录)看完学的更快,掌握的…

LRU 缓存(Java)

请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。 实现 LRUCache 类: LRUCache(int capacity) 以 正整数 作为容量 capacity 初始化 LRU 缓存 int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1…

LRU算法的理解,终于懂了

https://blog.csdn.net/luoweifu/article/details/8297084 以上是让我看明白的博客链接。 下面是我自己的理解,比如下面这道题: 可以这么来看,有一个容量为6的容器,每次放进去一个有编号的球,如果容器中有相同编号…

LRU缓存

一、什么是LRU算法 LRU,Least Recently Used算法,即一种缓存淘汰策略。 计算机的缓存容量有限,若缓存满了则需要删除一些内容,给新的缓存腾出空间,但问题是要删除哪些内容呢?当然是把用的少的缓存删掉&am…

【网络】HTTP 协议中 URI 和 URL 有什么区别?

HTTP定义 超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII形式给出 HTTP是用…