¿Debo usar AWS X-Ray para el monitoreo de aplicaciones AWS o una de las soluciones APM completas como Dynatrace, New Relic, AppDynamics?

Después de leer sobre las capacidades, intente segmentar estas soluciones:

Todos ellos monitorean las transacciones.

AWS X-Ray requiere que use un SDK y cambie su código, mientras que las otras soluciones lo hacen automáticamente después de instalar agentes.

Mientras trabajo para Dynatrace, por supuesto, también quiero destacar por qué estoy especialmente orgulloso de nuestra oferta:

  • Dynatrace está rastreando cada transacción (100%), las otras soluciones son datos de muestreo, por lo que puede perder información relevante.
  • Para Dynatrace solo tiene que instalar un solo agente (!!!) por host para monitorear todo (incluidos los análisis de registro, los datos de usuario reales de front-end, …). Por eso lo llamamos OneAgent gent
  • Básicamente queremos hacer que el monitoreo sea divertido 😉 Entonces, si quieres descubrir cómo la IA puede hacerte la vida más fácil o tal vez quieras hablar con el primer asistente virtual para monitorear a los héroes, pruébalo.

(Tal vez le interese un artículo escrito por uno de nuestros clientes, que compara Dynatrace con New Relic).

¿Debo usar AWS X-Ray para el monitoreo de aplicaciones AWS o una de las soluciones APM completas como Dynatrace, New Relic, AppDynamics?

Si su aplicación es 100% en AWS, y sus desarrolladores están totalmente investidos en usar AWS-x-ray, entonces hágalo.

Si hay alguna desviación del 100%, rápidamente deseará haberse ido con un producto comercial APM. Y será brutal.

Dependiendo de que los desarrolladores instrumenten su propio código, se ha demostrado que esto es un gran riesgo. Simplemente no sucede y es por eso que las tecnologías de ‘vinculación tardía’ (utilizadas por todos los proveedores comerciales) son tan importantes. Y todos (comerciales y roll-your-own) ya están haciendo monitoreo de contenedores y microservicios.

También hay una realidad difícil: ¡su problema de producción NUNCA está dentro del código que probó! Siempre dentro del código que FALTÓ ser probado. La instrumentación automática detectará estos problemas con una eficiencia sorprendente, al igual que el seguimiento dinámico de las transacciones. Los planes de prueba rotos son la ruina de la industria …

Puede ampliar fácilmente esta idea para hacer instrumentación manual. Su problema siempre estará en el código que ‘olvidó’, y con mayor frecuencia, en un sistema que ni siquiera sabía que participaba. El nombre del juego es visibilidad y todo es feliz hasta que encuentras una llamada que … no sabes lo que está pasando allí …

La respuesta es que depende de cuáles sean sus objetivos con su supervisión del rendimiento. Hay varias cosas para rastrear cuando se trata del lado del servidor. Debe supervisar el uso de recursos (métricas), la experiencia del usuario final (métricas) y luego hay datos de diagnóstico. Por lo general, los datos de diagnóstico vienen en forma de registros, pero al usar las herramientas de APM obtienes una profundidad adicional de visibilidad en el nivel de código, las herramientas más avanzadas también brindan seguimiento de transacciones (New Relic no hace esto realmente).

Cada pieza de datos recopilados y analizados en el cliente agrega sobrecarga a la aplicación. Esto incluye sus declaraciones de registro, capturar rastros de pila, enviar métricas dentro de su código. El objetivo principal de estas herramientas APM es recopilar datos para proporcionar visibilidad para el análisis y el diagnóstico (RCA), y hacerlo de manera automatizada. Es por eso que la gente compra herramientas APM.

También puede hacerlo usted mismo manualmente, podría venir en forma de un registro, o un rastro de rayos X, o un lapso zipkin. El problema con estos enfoques es ¿cuándo enciendo esto? Si recopilo datos de cada solicitud, los gastos generales causarán problemas de rendimiento, si no enciendo esto para cada solicitud, no tendré datos para esas transacciones que son lentas o fallan. Este es el dilema con la instrumentación manual, y la razón por la que existen herramientas APM diseñadas para ejecutarse en producción con poca sobrecarga.

La segunda razón para usar herramientas comerciales de APM versus el código de instrumentación manual es cuando no puede obtener el código fuente. Por ejemplo, si está ejecutando un software comercial empaquetado de Sharepoint, Hybris, Puppet Enterprise, Oracle Weblogic, etc. Las herramientas comerciales de APM funcionan bien con estos productos, lo que le brinda un diagnóstico mucho mejor que el que tendría de otra manera.

Finalmente, la pieza que falta en la instrumentación manual es la experiencia del usuario final. Cuando observa las capacidades dentro de las herramientas APM para monitorear el navegador o las aplicaciones móviles, esto es algo que es muy difícil de hacer, más allá de simplemente usar el análisis GooGle. La otra ventaja clave es poder unir el lado del cliente con el lado del servidor, que es algo que AppDynamics y Dynatrace también pueden hacer.

Amazon parece querer abrir los datos de rayos X en algún momento, cuando miré por última vez, las API no estaban realmente definidas. Puede ser útil en algún momento, pero supongo que la adopción será bastante limitada, especialmente porque solo funciona en AWS, pero ya veremos.

Si bien la estación central de TI aún no tiene revisiones para AWS X-Ray, puede encontrar lo que los usuarios reales tienen que decir sobre Dynatrace, New Relic, AppDynamics y todas las otras soluciones APM importantes para ser útiles: Proveedores de administración del rendimiento de aplicaciones (APM)

A modo de ejemplo, este usuario escribe en su revisión de AppDynamics APM: “Trae todo a la vanguardia. Ayuda al personal de la aplicación más al personal ejecutivo a comprender qué está sucediendo con el rendimiento del usuario final porque, obviamente, ese es uno de los problemas más importantes en la actualidad ”. Puede leer el resto de su revisión aquí: Revisión de AppDynamics APM por un verdadero Usuario