成功/ Lightbend

在无状态服务器平台即服务Akka serverless背后的Lightbend公司是如何使用Grafana Cloud来监控其基础设施的

当像Capital One、PayPal和Verizon这样的顶级公司需要平台来满足他们苛刻的、全球分布的云原生应用环境和流数据管道时,他们就转向了平台Akka它是运行在Kubernetes上的云本机应用程序的最流行的Actor模型实现。

Akka背后的公司是Lightbend它是云原生应用程序和体系结构领域的领导者。十多年来,Lightbend一直在提供可伸缩的、高性能的微服务框架和流引擎,用于构建以数据为中心的系统,这些系统经过优化,可以在云原生基础设施上运行。

2021年6月,Lightbend宣布公开测试Akka Serverless(General Availability, 2021年11月),云原生开发平台即服务的新类别。可观察性不仅对Akka Serverless的成功至关重要,而且对Lightbend本身也至关重要。毕竟,该公司的首席站点可靠性工程师费尔南多·科斯塔(Fernando Costa)说,“如果你正在服务或托管一家公司的数据,而你发生了事故,你可能会失去客户。”因此,公司依赖于Grafana云来监控其Kubernetes集群。

“因为我们拥有的工具,我们使用Akka Serverless还没有出现任何停机的情况。”

- Lightbend首席站点可靠性工程师Fernando Costa


使用Akka Serverless, Lightbend可以同时定位“状态”和函数,这意味着函数需要的数据在需要的时候被传递给函数。通过这种独特的方法,Akka Serverless为开发人员带来了api优先、无数据库的编程模型和无服务器的运行时。“如果没有可观察性,我们就无法运行Akka Serverless。它是一切,”科斯塔说。“我们运行这些函数时并不知道它们在做什么,也不知道它们的逻辑,但我们需要保持它们的运行,并有一个很好的方法来收集它们的指标。可观察性让我们从外部更好地理解,因为我们无法检查函数。”

Costa解释说,通过自动化,Lightbend还可以同时掌握客户的所有功能,而无需有人随时查看。“我们现在有客户在使用这个系统,他们可以在几秒钟内从两个豆荚变成100个豆荚。”但如果不是格拉夫娜云,光弯可能不知道。他说:“如果没有这样的工具,我们就无法对任何可能的异常或故障进行检测和警报。”“你不可能同时看所有人。”

使用Grafana进行监视可以帮助Lightbend更快地响应sla和slo。他解释说:“我们可以看看Akka Serverless是否在工作,并证明它在工作,我们的服务器在及时响应。”

可观察性帮助Lightbend在客户体验方面保持领先地位。科斯塔说:“你不希望发生了意外却不知道——或者更糟的是,让顾客告诉你。”“监控的价值在于,甚至在客户注意到之前,或者在某些情况下,在任何事情发生之前,就知道出了问题。”

从零开始

Costa于2020年加入Lightbend,在此之前,Akka Serverless还没有一个集中的可观察性工具。他以前是系统管理员,因此对Grafana很熟悉,并且已经使用了大约四年。

当他第一次尝试格拉弗纳的时候,科斯塔对它在禁区外使用的方便性印象深刻。他说:“刚开始绘制图表感觉很好。”就可观察性而言,他补充道:“这是预测或预防问题的完美工具。”

时光飞逝,Costa开始思考如何满足Lightbend的需求。他很快意识到Grafana是一个完美的匹配,尤其是因为他的同事都是开源的粉丝。“而且,我们编写的所有库都可以使用Prometheus轻松地公开指标,”他说。“这是一个双赢的局面。”科斯塔也喜欢格拉夫纳提供的灵活性。“更好的是,我可以对多个数据源使用相同的工具。”

在最终选择Grafana之前,Costa测试了另一个有竞争力的解决方案进行比较。他认为这对于度量和事件的基本监视是可以的,但对于Lightbend的高级需求则不行。其中包括能够操作数据,并确保其用户部署正常运行,同时保持项目的严格IaaC标准。“如果你需要自己发布指标,”他说,“Grafana是更好的选择。”

一旦Costa将Grafana作为他的堆栈选择,他就面临着另一个决定:如何以一种既能优化团队工作量又能优化Grafana适应Lightbend业务需求的能力的方式,最好地托管、管理和部署它。

“我们需要专注于我们的产品,而不是其他东西。而Grafana Cloud让我们能够安心地做到这一点。”

- Lightbend首席站点可靠性工程师Fernando Costa

尽管Costa拥有《Cortex》的自主托管经验,并且拥有能够让《Lightbend》做到这一点的脚本,但这种设置存在太多缺点。科斯塔解释说:“这就像一个专职人员的工作,只是维护,而且有安全隐患。”“这至少需要另一个集群,我们必须将数据发送到其他地方,并确保数据被正确存储。我还认为我们会有Cortex和灭霸在旁边,所以这是很多要处理的。”

Costa还向他的经理展示了与Grafana Cloud的成本相比,支付所有这些费用需要多少钱。由于所有这些原因,决定加入Grafana Cloud——把可伸缩性、可用性、备份等问题留给Grafana Labs——是很容易的。bob电竞频道“每个人都很开心,”他说。“对我们来说,Grafana将是最简单的更新。”

多亏了Grafana Cloud, Costa能够专注于Akka Serverless的性能,而不是运行一个可观察性基础设施堆栈。“我们需要专注于我们的产品,而不是其他东西,”他说。“Grafana Cloud让我们可以安心地去做这件事。”

数据流设计

在确定了最适合Lightbend的工具和部署方法之后,Costa开始着手确保所有的架构都是正确的。

Lightbend管理和编排Kubernetes中的容器,并在同一集群上运行Prometheus。他们有两个生产中的Kubernetes集群,有54个节点和343个客户(并且还在增长)。在Grafana云度量在美国,该公司拥有超过42万个Prometheus和Graphite的活性系列。

Lightbend的数据主要来自普罗米修斯,但也来自谷歌Stackdriver。Costa说:“我只是直接从谷歌读取数据,而不是把数据导出到普罗米修斯。”该公司目前也拥有Postgres和Graphite数据源,它们依赖于Grafana Cloud Metrics来实现Prometheus和Graphite。

Costa创建了Lightbend的第一个Grafana仪表板,他正在构建节点出口商、API服务器、Kubernetes API和Istio等类型。但这个工具变得如此流行,以至于现在的用户——甚至不在他的团队——都在创建自己的仪表盘,以解决科斯塔的团队在第一次建立Grafana系统时甚至没有想到的问题。门户中有超过25个成员。“我们有很多不同的人在创造仪表盘,”他说。“有些人甚至在运行BI。”

如果公司的任何团队正在运行Kubernetes,并希望在Grafana中添加要分析的指标,他们只需要适当地标记舱和部署。“每天都有新事物,”科斯塔说。“使用其他工具是不可能做到这一点的——或者这需要我们编写代码并修改代码来实现。考虑到Grafana Cloud Metrics能够让我们创造出创造性的内容,这两种方法都是不值得的。”

Costa每天发送grafana生成的报告,他说Lightbend的CEO Jonas Bonér甚至注意到了图表中的数据。“有一次他问为什么一个数字今天是20毫秒,明天是2秒。”Costa在查看了更详细的仪表盘后,不到两分钟就找到了答案。

对Grafana的投资不仅帮助了整个公司,还改变了科斯塔和他的团队的运作方式。他说:“没有格拉夫纳,我的团队的生活将是一场噩梦。”“不是每个人都能访问Kubernetes和我们的其他生产环境,所以任何需要度量的人都会来找我们。我脑子里没有计算或合计指标的命令,所以要得到他们的答案需要花很多时间。”相反,科斯塔和他的团队可以专注于观察趋势,并领先于任何潜在的担忧。

关键指示板

Costa和他的团队一直在Grafana内部工作,以跟踪Akka的进展,他们的一些仪表盘是经常去的地方。以下是Lightbend的一些关键仪表板:

Akka无服务器通用度量

Costa最喜欢的仪表板之一是用来监视高级指标的。仪表板上的面板包括项目总数、活动项目、在Akka Serverless上运行的服务、gRPC请求、命令、趋势、警报等等。这是整个公司每天共享的数据。“这几乎是过去24小时内的所有数据,”他解释说,“没有我们不能展示的数据。”

Costa回忆起一件事,Grafana的仪表盘和警报帮助Lightbend克服了可能会带来的巨大挑战。谷歌的一次重大故障影响了几家公司,但在谷歌宣布这一事件之前,Costa说他的团队注意到新节点无法启动。他说:“我们能够在这次大停电的情况下保持系统正常运行,因为我们看到所有的指标都显示出了问题,我们开始测试。他们在两天内无法启动节点,但由于Grafana仪表盘触发的警报告诉我们将出现问题,我们已经启动了额外的节点,能够度过谷歌的问题,而不会对客户产生任何影响。”

操作

下面的仪表盘被Lightbend的Akka Serverless和运营团队使用,这是一个真正的时间节省。“基本上,如果我有任何问题,我可以来这里看看发生了什么,而不必访问Kubernetes或登录到系统,”Costa说。“我们可以看到所有的生产部署,所有的容器,所有正在运行的一切。我还可以通过名称空间进行选择,看看请求是如何运行的,或者从侧车检查数据。”

Costa估计,由于不需要手动收集所有信息,每次出现问题时,使用Grafana仪表板可以为支持团队成员节省至少20到30分钟——考虑到他们每周可能有2到3个问题,随着时间和团队成员的增加,这些问题会增加。他说:“这是非常费时的,最终也是划算的。”

不过,这不仅仅是一种节省时间和金钱的方式。“这也是安全问题,”科斯塔说。“如果我需要,我可以访问制作,但我甚至不再需要每天访问Kubernetes。如果我需要检查什么东西,我就会来到这个仪表盘。”

除了Costa和他的团队,Lightbend的技术支持团队还利用了Grafana提供的安全单窗格。“他们很少访问我们的生产环境,所以他们每天都使用这个仪表板来查看发生了什么,或者一个容器没有运行CPU——不管是什么问题——作为支持Akka无服务器开发人员的一种方式。”

综合监测

Lightbend也使用综合监测,这是Grafana Cloud的一个重要特征。下面的Akka Serverless度量仪表板包括一些外部端点的时间,这是Costa用合成数据计算的。他计划做更多。“我们现在正在设计如何使用合成来监视来自不同地域的每个部署服务的响应时间和可用性——就像一个基本的验证,”他解释道。Lightbend将把它作为SLO报告的一部分。

这个合成仪表板监视Akka Serverless的API可用性。它的API是系统的关键部分之一,因为它是客户与系统交互并管理其服务的入口点。

开源和支持

非开源的可观察性工具不允许对软件运行的完全可见性,因此Grafana的好处之一是客户可以自己找到(或创建)问题的解决方案。bob彩票中奖计划科斯塔说:“我通常打开GitHub,并试图找到一些东西或自己编写代码来更改一些东西。”

当Lightbend遇到管道破裂时,他能够在GitHub中引用Grafana源代码,并在测试中运行Docker容器,以快速确认问题。有了这些信息,可以加快对Grafana团队的支持。“他们的反应很快,”他说,“我已经得到了我需要的所有答案。”

期待

Lightbend为Akka Serverless引入了一个性能测试,并一直使用Grafana作为其中的一部分。Costa说道:“我们正在运行旧版本的性能,将数据推送到Grafana,应用升级,再次运行并比较两者,并在它们发生巨大变化时寻找警报。”“一旦我们有足够的数据来决定正确的阈值,就应该发出警报。”

他希望在未来,Lightbend可以开始使用洛基(和Grafana Cloud Logs),这样他就可以无缝地关联度量和日志。此时,Lightbend的日志在谷歌Cloud Platform中,因此Costa构建了带有链接的仪表板,这些链接可以返回谷歌Stackdriver,从而选择合适的名称空间。“但这不是一回事,”他说。“我是一个非常视觉化的人,所以,如果我能将事物视觉化并相互关联,这对我有很大帮助,而不是跳过链接。”

当Costa想到他在Lightbend所依赖的Grafana时,他惊叹于多年来技术进步改变了监测和可观察性的方式。“十年前,我管理着大约200台服务器。它们有名字,就像宠物一样。现在完全不同了。就像我们有成群的牛,”他说。“通过可观察性和自动化,我们可以管理数千台服务器和数千个应用程序,这是令人惊讶的。有很多工具对我们有很大帮助,Grafana就是其中之一。”

行业
软件与技术

公司规模
100名员工

总部
加州旧金山

bob手机app官网产品/项目使用

79bob官方下载

普罗米修斯

皮质

石墨

Grafana云

420000 +

Grafana云度量的活动系列