使用AppDynamics当场发现每一个Spring Boot应用程序的问题!

1,412 阅读8分钟

今天,我们很高兴地宣布将AppDynamics整合到Azure Spring Cloud中,实现全栈观察。

在过去的20个月里,我们与许多企业客户合作,了解他们所面临的情景。其中许多客户有成千上万的Spring Boot应用在企业内部的数据中心运行。当他们将这些应用迁移到云端时,他们需要使用他们的开发人员所熟悉的、已经使用多年的解决方案,为应用性能监控(APM)提供仪器。此外,他们必须确保桌面和移动应用的连续性,这些应用已经使用AppDynamics这样的代理为端到端监控预先设置了仪器,它可以自动发现和映射所有的应用、微服务和基础设施,以及动态混合、多云环境中的任何依赖。随着AppDynamics在Azure Spring Cloud中的集成,你可以继续你的旅程,用AppDynamics轻松地检测你的Spring Boot应用程序。

"我们对Azure Spring Cloud的部署只是更广泛的多区域、多云架构的一个组成部分。我们在Digital Realty使用AppDynamics已经好几年了,我们强烈希望有这样一个单一的玻璃窗来捕捉性能指标,并监测整个堆栈的可用性。但不仅如此,AppDynamics是一个强大的APM工具,是采用事件驱动架构的一个组成部分。我们正在试验自我修复和AIOps,需要扩大我们在这个领域的能力,现在我们可以做到这一点。" - Devon Yost,企业架构师,Digital Realty Trust

"随着我们的客户寻求使他们的应用程序现代化,并利用Azure Spring Cloud等云平台的易用性和扩展性,对全栈观察能力的需求比以往任何时候都更加重要。Presidio的许多客户利用AppDynamics的仪表功能,以其业务所需的高性能、高成本效益和高可用性的方式运行其Spring Boot应用程序。当他们计划迁移到Azure和Azure Spring云平台时,他们将比以往任何时候都更需要对其应用的洞察力和可见性的一致性。Azure Spring Cloud对AppDynamics的支持将这两个平台结合在一起,为Presidio及其客户提供了一条清晰的发展道路。" -Presidio数字业务解决方案和服务高级技术总监Rich Gondek。

"我对我们与微软的持续合作感到兴奋。AppDynamics将为在Azure Spring Cloud内工作的开发人员提供实时可见性,并提供相关的见解,使他们能够隔离任何性能问题的根源,并根据业务影响的背景优化微服务。" -AppDynamics的执行首席技术官Gregg Ostrowski

"微软致力于让Spring开发人员更容易在Azure上大规模运行他们的应用程序。对于我们的许多客户来说,AppDynamics是全堆栈可观察性的关键部分,通过我们的合作,他们现在可以把这个功能集成到Azure Spring Cloud中。支持开发人员选择的APM工具(如AppDynamics),可以最大限度地减少变化,这样他们就可以专注于提供新的功能。"-微软开发者部门企业副总裁Julia Liuson说。

观察和关联应用程序与整个IT堆栈的基础设施、网络和安全的能力,现在在一个数字化转型的世界中至关重要。技术人员要求全栈的可观察性,这样他们就能在问题影响到客户和业务之前预见这些问题。同时,开发人员继续创新和发展IT堆栈,采用最新和最灵活的云平台,如Azure Spring Cloud,以快速和轻松地部署和运行应用程序的规模。在他们这样做的时候,至关重要的是,他们能够迅速实现全栈可视性、洞察力和行动,将孤立的数据转化为可操作的洞察力,为IT团队提供共享的背景,以便他们能够提供卓越的数字体验,优化成本和性能,并最大化数字业务收入。

AppDynamics和微软将继续合作,确保Azure客户能够通过Azure上的云原生应用程序保持这种业务观察水平。现在,客户可以使用AppDynamics观察他们部署在Azure Spring Cloud上的服务和工作负载中最重要的东西,而不需要修改代码。

在Azure Spring Cloud部署中激活AppDynamics代理,就像通过Azure CLI部署服务时配置JVM选项和环境变量一样简单。

图1 - 显示了Azure CLI命令,以激活AppDynamics作为部署的一部分。

AppDynamics代理也可以在Azure Spring Cloud中通过Azure Portal、利用Azure Resource Manager(ARM)模板、Bicep Templates或通过Terraform激活。

激活后,打开AppDynamics门户,开始监控。在下面显示的视图中,AppDynamics显示了Azure Spring Cloud中的所有Spring Boot应用。

图2--显示在生产工作负载中运行的所有Spring Boot应用

你还可以看到自动流程图,它显示了通过应用程序的数据流,揭示了Spring Boot应用程序及其依赖关系,以及需要解决的任何问题的确切位置,以减轻业务影响。在下面显示的视图中,自动流程图是自动提供给你的--不需要额外的配置。

图3 - 显示Spring Boot应用程序及其依赖关系的自动应用程序流程图

AppDynamics根据生产应用行为追踪关键业务交易。它动态地对性能进行基准测试,并自动发现正常情况,因此客户和开发人员只有在超过阈值时才会收到警报。在下面显示的视图中,它显示了从api-gateway应用到customs-services应用,然后再到MySQL数据库的数据流。

图4 - 显示从一个Spring Boot应用到另一个Spring Boot应用,然后到MySQL数据库的数据流

您还可以获得深度诊断,如完整的调用堆栈和细化的方法级代码细节和数据库查询。你可以打开开发模式进行偶尔的故障排除,在这种模式下,AppDynamics收集的数据的某些默认限制被关闭,让你对应用活动有更多的了解。在下面的视图中,我们放大了所有的数据库调用,在过去的几个小时里,大约有5百万次调用,而且响应时间良好。

图5 - 放大Spring Boot应用程序的所有数据库调用

你可以寻找最慢的数据库调用。在下面显示的customers-service应用程序的视图中,这些是最慢的数据库调用--特别是,大量的时间花在设置连接上。一如既往,还有一些改进的余地。

图6--显示Spring Boot应用中最慢的数据库调用

AppDynamics也有一个很好的JVM指标浏览器,你可以跨时间查看JVM指标。在下面的视图中,你可以看到JVM线程数与JVM CPU使用率的对比。当然,你可以通过指标浏览器得出更多的洞察力。

图7 - 在AppDynamics指标浏览器中显示跨时间的JVM指标

通过使用AppDynamics,你可以实现开发人员、操作员和业务团队之间的无缝协作。统一的监控和实时洞察力使这些团队共同维护应用性能、用户体验和业务绩效。

今天就建立你的解决方案并对其进行监控!

Azure Spring Cloud是由微软和VMware共同建立、运营和支持的。它是针对Spring Boot应用的完全管理服务,抽象出基础设施和Spring Cloud中间件管理的复杂性,因此你可以专注于构建你的业务逻辑,让Azure负责动态扩展、补丁、安全、合规和高可用性。只需几个步骤,你就可以在几分钟内配置Azure Spring Cloud、创建应用、部署和扩展Spring Boot应用并开始监控。我们将继续为Azure Spring Cloud带来更多方便开发者和企业使用的功能。我们希望听到你如何使用Azure Spring Cloud构建有影响力的解决方案...

开始用AppDynamics监控你的Spring Boot应用吧!

资源