可观测性为SERVERLESS

无服务器可观察性问题

“无服务器”应用程序是通过编写和部署功能到云提供商,并使用他们的代码或你自己的代码连接其他第三方服务,以进行数据存储、队列、推送通知等。无服务器模式的定义是无需管理任何底层功能。这可能是构建松耦合应用程序的一种非常高效和强大的方法。这个范例是由AWSλ

但是,无服务器可能是不透明的,而且很难调试,原因与它的强大是一样的:您永远不能登录后只看到静默地吞下请求的东西。如果我们编写的函数和它们使用的服务没有很好的工具,要知道发生了什么就会令人沮丧,甚至不可能。

我们构建Honeycomb就是为了回答这些问题——处理微服务、无服务器、分布式系统、多语言持久性、容器、CI/ cd——并构建对系统和软件实际工作方式的理解。你无法调试你不知道的东西。

现在开始


serverless可观测性



要做什么

构建可观察性进入您的无服务器环境:

  • 仪器代码冗长地。注意服务之间的界限;可靠地显示错误消息和调试信息取决于我们。
  • 从第三方组件中获得尽可能多的细节。例如,数据库服务是否发出有关存储状态、系统统计或内部的有用事件或指标?将它们与来自您自己代码的代码一起使用,以实现相关性。
  • 要格外小心地检测部署路径和回滚。很难说到底发生了什么变化。
  • 仔细考虑在每个失败场景中会发生什么(重试、故障转移、中止?),并记录您期望发生什么的详细解释。级联故障太常见了,AWS us-east-1的每个用户都很清楚。
  • 作为系统状态的一部分,审计配置和配置更改。
  • 控制第三方服务的泛滥。例如,尝试将事件存储标准化为可重用的客户端、函数和数据库。

可观察性需要丰富的检测,不是轮询和监视阈值或定义的健康检查,而是随便问个问题关于你的软件如何工作。一个可观察的系统是一个你可以完全询问的系统。