Con más de 43 millones de vehículos vistos al mes, el rendimiento y la disponibilidad de Dealer.com impulsa el negocio de miles de concesionarios de automóviles en todo el país. Si el sitio web no está disponible o si ocurre un error y los compradores no pueden obtener una cotización de forma fácil y rápida, o no pueden hacer sus averiguaciones preliminares en relación a un vehículo nuevo, la venta podría terminar esfumándose.
En entornos de software complejos como el de Dealer.com, cada solicitud suele pasar por decenas de servicios individuales. Un solo servicio problemático en la ruta puede afectar el tiempo de respuesta general para esa solicitud, convertir una buena experiencia en una mala y quizás hacer que los clientes busquen en otros sitios.
Los equipos de software —que trabajan en un entorno donde hay muchos servicios involucrados en atender una solicitud— necesitan comprender perfectamente el rendimiento de cada servicio, tanto ascendente como descendente, para poder resolver con más eficacia los problemas de rendimiento, medir el bienestar general del sistema y priorizar las áreas de alto valor para mejorarlas.
El rastreo distribuido de New Relic está incluido para los clientes de APM
El rastreo distribuido de New Relic está diseñado para dar a los equipos de software que trabajan en entornos modernos una manera fácil de capturar, visualizar y analizar trazas en arquitecturas complejas. Y si ya estás usando el monitoreo del rendimiento de aplicaciones (APM) de New Relic, podrás disfrutar del rastreo distribuido sin costo adicional. Solo tienes que actualizar los agentes, abrir New Relic y seleccionar Traces para ver tus datos de rastreo.
Los agentes de New Relic APM eliminan por completo la carga operacional de administrar el software de rastreo complejo, para que los ingenieros como Andrew de Dealer.com puedan instrumentar sus entornos de modo que generen telemetría de trazas ilimitada sin tener que preocuparse por las complejidades asociadas con desplegar y escalar componentes.
Es posible observar automáticamente todas las trazas de la aplicación en todos los sistemas distribuidos. El rastreo distribuido de New Relic proporciona visualizaciones de gráficos de dispersión y de cascada detallados y prácticos para una variedad de frameworks de lenguajes como C, Go, Java, .NET, Node.js, PHP, Python, Ruby y otros. También incluye datos del browser y monitoreo de móviles de New Relic, AWS Lambda y trazas de formato de Zipkin a través de Trace API. Además, es compatible con normas comunes para trazas como OpenTelemetry y W3C, para que puedas investigar y resolver problemas más rápido.
Comprender las complejidades del software
Para comprender por qué el rastreo distribuido es tan importante, es útil observar a las plataformas en la nube, el uso de contenedores y la orquestación de contenedores a los que las organizaciones de software con visión progresista recurren para rápidamente diseñar, escalar y operar aplicaciones críticas para el negocio.
A pesar de las numerosas ventajas que ofrecen las arquitecturas de software desarrolladas en microservicios y serverless, la gran cantidad de componentes y su diversidad de lenguajes, los entornos operativos y la propiedad representan una carga nueva y significativa para los equipos que tratan de administrarlas. Los equipos no podrán trabajar eficazmente en la resolución de problemas de un sistema complejo hasta que comprendan todas las dependencias de los servicios y cómo las características de rendimiento de los servicios dependientes afectan sus solicitudes y transacciones. Para encontrar la aguja en el pajar, como dice el refrán, es necesario tener una visión completa de todo el sistema.
Comprender cómo un servicio descendente que se halla “a pocos pasos” puede ocasionar un cuello de botella crítico para un servicio es imprescindible para resolver los problemas rápidamente. También es importante dar a los equipos de DevOps información valiosa sobre cómo optimizar su código. Si no puedes determinar cuándo, por qué y cómo ocurre un problema, los pequeños defectos podrían persistir en producción hasta que llegue el día de la "tormenta perfecta" en la que una serie de eventos se unan para provocar que el sistema falle en su totalidad. El rastreo distribuido proporciona una vista detallada de las solicitudes individuales para que puedas identificar con precisión qué partes del sistema en general están presentando errores, lo que te ayudará a optimizar y resolver los problemas más rápido.
Datos e información valiosa
El rastreo distribuido ofrece visibilidad de extremo a extremo al mostrar las dependencias de los servicios. Puedes considerarlo como una manera de registrar y visualizar solicitudes a través de sistemas distribuidos y complejos. Pero el trabajo de recolectar y visualizar los datos de rastreo puede resultar arduo y complejo a la hora de desplegar, administrar y escalar puertas de enlace o satélites de terceros para la recolección de datos.
New Relic hace que la configuración del rastreo distribuido sea fácil gracias a la instrumentación automática. Nuestro código de aplicación de instrumentación automática emplea agentes de lenguaje que trabajan con cientos de bibliotecas y frameworks distintos en muchos lenguajes. Tú despliegas un agente y New Relic APM se encarga de instrumentar cada servicio involucrado en la solicitud, crear intervalos para las operaciones dentro del servicio y agregar automáticamente información importante para la resolución de problemas en cada span. Incluso puedes agregar atributos personalizados a las transacciones y ver toda tu información en la traza, sin tener que modificar nada.
Los agentes de New Relic APM crean automáticamente un ID de traza única para cada solicitud entrante y propagan ese ID junto con otra información de correlación necesaria a modo de “contexto de traza” en toda la llamada. Por ejemplo, cuando un servicio hace una llamada a otro servicio, New Relic agrega el contexto de traza al encabezado de solicitud HTTP para que el siguiente servicio lo pueda usar. Nuestra instrumentación automática está diseñada para acabar con el trabajo duro de tener que administrar y propagar el contexto.
¿Qué pasa si estás usando un transporte que necesita instrumentación manual? El agente de New Relic APM proporciona una API que se puede usar para inyectar y extraer el contexto de traza. Si se usa el formato especificado por la norma W3C Trace Context para propagar el contexto de traza, se goza de interoperabilidad con cualquier otro agente o herramienta de rastreo que también sea compatible con esa norma.
Nada de esto tiene mucha importancia si no puedes identificar la información valiosa en los datos de tu stack. New Relic APM ofrece visualizaciones de trazas diseñadas para ayudarte a comprender rápidamente por qué una solicitud determinada se está comportando de manera lenta, dónde se originó un error y dónde puedes optimizar el código para mejorar la experiencia de tus clientes.
Este diagrama ilustra cómo estos componentes funcionan de manera coordinada para el rastreo distribuido de New Relic:
Primeros pasos con el rastreo distribuido de New Relic
¿Ya estás listo para comenzar a identificar cómo mejorar tus aplicaciones? Con New Relic APM y el rastreo distribuido, pronto estarás analizando arquitecturas complejas para comprender mejor las dependencias en todo tu sistema.
1. Consulta la documentación sobre rastreo distribuido.
2. Despliega el agente APM más reciente o actualízalo en cada servicio involucrado en el trayecto de la llamada que te interesa. El rastreo distribuido estará disponible de inmediato con la actualización.
- Despliega el agente del browser más reciente.
- Despliega el agente de móviles más reciente.
Eso es todo. Ahora puedes acceder a la información de rastreo distribuido de New Relic APM e identificar rápidamente las trazas lentas y las trazas con errores. Incluso puedes usar el filtrado avanzado para identificar trazas con una combinación de atributos.
¿Quieres más información?
El rastreo distribuido está disponible gratuitamente para todos los clientes de New Relic APM que tienen la edición Pro o Enterprise. El uso del rastreo distribuido facilita optimizar el código para mejorar la experiencia de tus clientes.
Si deseas conocer cómo funciona, consulta los detalles técnicos del rastreo distribuido.
Las opiniones expresadas en este blog son las del autor y no reflejan necesariamente las opiniones de New Relic. Todas las soluciones ofrecidas por el autor son específicas del entorno y no forman parte de las soluciones comerciales o el soporte ofrecido por New Relic. Únase a nosotros exclusivamente en Explorers Hub ( discus.newrelic.com ) para preguntas y asistencia relacionada con esta publicación de blog. Este blog puede contener enlaces a contenido de sitios de terceros. Al proporcionar dichos enlaces, New Relic no adopta, garantiza, aprueba ni respalda la información, las vistas o los productos disponibles en dichos sitios.
Esta publicación contiene declaraciones "prospectivas", tal como se define ese término en las leyes federales de valores, incluidas entre otras, el plan de desarrollo futuro del rastreo distribuido además de las ventajas que ofrecen tales características. El logro o el éxito de las cuestiones cubiertas por dichas proyecciones a futuro se basa en los supuestos, expectativas y convicciones actuales de New Relic, y está sujeto a riesgos sustanciales, incertidumbres, supuestos y cambios de circunstancias que pueden provocar que los resultados, el rendimiento y los logros reales de New Relic no sean los expresados o implícitos en las proyecciones a futuro. Si desea más información sobre los factores que pueden afectar los resultados financieros y de otra clase de New Relic y las proyecciones a futuro en este comunicado de prensa, consulte los expedientes que New Relic envía a SEC periódicamente, así como el formulario 10-K más reciente de New Relic, en concreto los títulos “Factores de riesgo” y “Discusión y análisis de resultados de las operaciones y análisis de la situación financiera de la compañía”. Pueden obtenerse copias de estos documentos en el sitio web de relaciones con inversores de New Relic, http://ir.newrelic.com o en el sitio web de la SEC, www.sec.gov. New Relic no asume ninguna obligación de actualizar estas proyecciones a futuro, ni tiene previsto hacerlo, excepto cuando una ley lo requiera.