Best practice to use X-Ray with Appmesh

0

I would like to know when using Appmesh, what is the best practice for distributed tracing? Since Envoy is running alongside every service, Do we need to instrument our application with SDK? Or Envoy is enough for sending tracing data? After all one of the Service Mesh benefits is observability. In other words, in what situation do we need to instrument our application ourselves when using app mesh?

2개 답변
0

Couple of things -

1, X-Ray is not only about "gathering" the traces. It's also about analytics and visualization. i.e. what you gonna do AFTER the traces are generated. It's like Prometheus and Grafana (not exactly, but you get the point). You can use Appmesh to send the traces to X-Ray and generate insight from them.

2, Envoy used in Appmesh not necessarily support all the latest features of Envoy. One noticeable one is not able to set the sampling rate. If that's something you want to customize, X-Ray is an option.

Jason_S
답변함 2년 전
  • Thanks. I totally agree with you on 1. We are gonna use X-Ray to analyze our application and potentially improve it.

    My point is if we need to instrument our application manually what is the point of Appmesh sending X-Ray traces? I think in a perfect world when using Service Mesh(Appmesh) we no longer need to instrument our application and Envoy does it on our behalf.

    What we are doing now: We are using Golang gin framework and because X-Ray SDK does not support gin, we had to use OTEL. At the same time, we are using Appmesh. My question is do we need to instrument our application(gin) while we are using Appmesh?

0

I would like to know when using Appmesh, what is the best practice for distributed tracing? AppMesh distribute requests to downstream services, the envoy will be nodes in XRay trace graph.

Since Envoy is running alongside every service, Do we need to instrument our application with SDK? Because Envoy supports vend segment, user can get segments represent envoy nodes in trace graph, even does not instrument application code by OTel/XRay SDKs. But if user wants to have more details instrumentation info in application, can further instrument application either by ADOT or XRay sdk.

Or Envoy is enough for sending tracing data? After all one of the Service Mesh benefits is observability. In other words, in what situation do we need to instrument our application ourselves when using app mesh? Follow previous question. It is up to how many details user want to have in his trace. The segment vended from envoy has basic data such as name, duration, response code, etc. If user feels it is not enough, can further instrument applications.

AWS
답변함 2년 전

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

질문 답변하기에 대한 가이드라인

관련 콘텐츠