Use New Relic One para supervisar sin esfuerzo las aplicaciones en Azure Spring Cloud

Publicado el 1 julio, 2021

Principal PM Architect, Java on Azure

Hoy anunciamos la integración de la supervisión del rendimiento con New Relic One en Azure Spring Cloud.

Durante los últimos 18 meses, hemos trabajado con muchos clientes empresariales para conocer sus escenarios. Muchos de estos clientes tienen miles de aplicaciones de Spring Boot que se ejecutan en centros de datos locales. A medida que migran estas aplicaciones a la nube, deben instrumentarlas para supervisar su rendimiento (APM) con herramientas que sus desarrolladores ya conocen y han usado durante años. Además, deben garantizar la continuidad de las aplicaciones de escritorio y móviles que ya se han instrumentado previamente para una supervisión completa con agentes como New Relic One. Con la integración de New Relic One en Azure Spring Cloud, puede continuar su recorrido e instrumentar fácilmente las aplicaciones de Spring Boot con New Relic One.

La mayoría de las organizaciones que implementan Spring Boot actualmente comparten un objetivo similar: maximizar las ventajas de ejecutar aplicaciones de Spring Boot casi a cualquier escala, usando la automatización y la supervisión del rendimiento de las aplicaciones. Aunque Azure Spring Cloud destaca por abstraer gran parte del trabajo relacionado con la administración de las cargas de trabajo contenedorizadas, la dificultad de supervisar y mantener el rendimiento y el estado de estas aplicaciones, o de solucionar problemas cuando se producen, puede ser enorme, especialmente cuando las organizaciones implementan estas aplicaciones a gran escala. Con el fin de ayudarlo a continuar satisfactoriamente su recorrido con New Relic One, hemos integrado y actualizado la capacidad de instrumentar, supervisar y ofrecer observabilidad mediante New Relic One en todas las instancias de Azure Spring Cloud. Esto comienza con una configuración rápida y sencilla de la instrumentación. A continuación, puede analizar el rendimiento y el estado de las aplicaciones, las máquinas virtuales Java (JVM), las transacciones, etc. para identificar y solucionar problemas de rendimiento.

Instrumentar aplicaciones de Spring Boot

Ejecute un "aprovisionamiento" automatizado para disfrutar de una experiencia totalmente desatendida de instrumentación y supervisión de las nuevas aplicaciones que cree e implemente, usando Terraform o una plantilla de ARM. También puede ejecutarlo a petición desde la CLI de Azure si desea tener más flexibilidad y control.

az spring-cloud app update --name customers-service \
    --jvm-options="-javaagent:/opt/agents/newrelic/java/newrelic-agent.jar" \
    --env NEW_RELIC_APP_NAME=customers-service NEW_RELIC_LICENSE_KEY=<key>

Explorar el rendimiento de las aplicaciones de Spring Boot

Después de la instrumentación, puede explorar el rendimiento de las aplicaciones de Spring Boot desde el portal de New Relic One. Con Service Map, puede ver las aplicaciones en acción. Por ejemplo, en la siguiente captura de pantalla, se muestran todas las aplicaciones del popular proyecto Petclinic:

Captura de pantalla 1: muestra todas las aplicaciones del popular proyecto Petclinic.

Figura 1: muestra todas las aplicaciones del popular proyecto Petclinic.

Para observar el rendimiento de las aplicaciones, explore aplicación por aplicación en el portal de New Relic One. Por ejemplo, en la siguiente captura de pantalla, se ven las transacciones procesadas por customers-service, su rendimiento y la tasa de errores:

Captura de pantalla 2: muestra las transacciones procesadas por customers-service, su rendimiento y la tasa de errores.

Figura 2: muestra las transacciones procesadas por customers-service, su rendimiento y la tasa de errores.

Para profundizar más en las máquinas virtuales Java subyacentes, vaya a la hoja "JVMs" del portal de New Relic One. Por ejemplo, en la siguiente captura de pantalla, se muestran las máquinas virtuales Java para todas las instancias de aplicación de customers-service:

Captura de pantalla 3: muestra el número de JVM para todas las instancias de aplicación de customers-service.

Figura 3: muestra las máquinas virtuales Java para todas las instancias de aplicación de customers-service.

Puede analizar las dependencias de las aplicaciones, incluidas las transacciones de base de datos. Para ello, vaya a la hoja "Databases" (Bases de datos) del portal de New Relic One. Por ejemplo, en la siguiente captura de pantalla, se muestran todas las transacciones de base de datos para customers-service:

Captura de pantalla 4: muestra todas las transacciones de base de datos para customers-service.

Figura 4: muestra todas las transacciones de base de datos para customers-service.

Puede ver el seguimiento de la pila de cada subproceso a través de New Relic One Thread Profiler para saber el tiempo que han consumido los métodos de Java. Esto proporciona información sobre las funciones "activas" de las aplicaciones donde se invierte la mayor parte del tiempo. Por ejemplo, en la siguiente captura de pantalla, se muestra un seguimiento de la pila de un subproceso de la aplicación customers-service:

Captura de pantalla 5: muestra el seguimiento de la pila de un subproceso de customers-service.

Figura 5: muestra el seguimiento de la pila de un subproceso de customers-service.

Ofrecer valor a los usuarios finales

Una vez instrumentadas, a medida que escala horizontalmente las aplicaciones de Spring Boot, las nuevas instancias se supervisan automáticamente. Esto le permite dedicar menos tiempo a administrar la instalación y el mantenimiento del agente, y más energía a identificar y resolver incidentes con mayor rapidez. El servicio Azure Spring Cloud es ideal para la actualización periódica del agente.

Vista de las instancias de aplicación de Spring Boot

New Relic One Navigator permite ver con una mirada rápida el estado operativo de las instancias de una aplicación. Esta vista de pájaro de todo su patrimonio está disponible automáticamente, sin necesidad de configuración. Navigator facilita la exploración de un gran número de instancias, ya que muestra las instancias en una vista de panal concentrada muy intuitiva, con los colores de un semáforo en función de las alertas que defina. Puede identificar rápidamente las instancias con alertas y descubrir la causa principal, además de ver qué sistemas dependientes podrían estar afectados.

Como ilustración, la siguiente vista de Navigator agrupa las instancias en instancias de Azure Spring Cloud, lo que le permite comparar rápidamente las operaciones en una implementación de varias regiones. Puede agrupar y filtrar las instancias para centrarse rápidamente en resolver los problemas. También puede explorar en profundidad cualquier instancia para ver un resumen de su actividad y las posibles infracciones, junto con métricas y metadatos clave, incluidos los atributos personalizados:

Captura de pantalla 6: muestra cómo se agrupan las instancias en instancias de Azure Spring Cloud en la vista de Navigator.

Figura 6: muestra cómo se agrupan las instancias en instancias de Azure Spring Cloud en la vista de Navigator.

Detectar anomalías en las instancias de aplicaciones de Spring Boot

New Relic Lookout proporciona una vista intuitiva de las instancias que se desvían del comportamiento normal, mediante la visualización de círculos de colores que indican la gravedad del reciente cambio de señal y tienen un tamaño proporcional a la magnitud de la señal de la métrica. Lookout compara automáticamente las señales de los últimos cinco minutos con respecto a la hora anterior.

Del mismo modo, puede usar New Relic One para supervisar aplicaciones de Java en servicios de Azure, como Azure Kubernetes Service y Virtual Machines.

Crear soluciones y supervisarlas hoy mismo

Microsoft y VMware crearon Azure Spring Cloud de forma conjunta, y también se encargan de operarlo y prestar soporte. Se trata de un servicio totalmente administrado para aplicaciones de Spring Boot que abstrae la complejidad de la infraestructura y la administración del middleware de Spring Cloud, para que usted pueda centrarse en la creación de su lógica de negocios y dejar que Azure se haga cargo del escalado dinámico, las revisiones, la seguridad, el cumplimiento normativo y la alta disponibilidad. Con solo algunos pasos, puede aprovisionar Azure Spring Cloud, crear, implementar y escalar aplicaciones de Spring Boot y empezar a supervisarlas en cuestión de minutos. Seguiremos incorporando a Azure Spring Cloud más características sencillas para los desarrolladores y listas para la empresa.

Nos encantaría saber cómo está creando soluciones impactantes con Azure Spring Cloud. Comience hoy mismo. Implemente aplicaciones en Azure Spring Cloud con una guía de inicio rápido.

Recursos