Usecases
This case study is intended to aid you with your thought process on how and where you can implement SixthSense Observability. Taking the most common issues in banking, retail, and streaming, these usecases are built and explains how SixthSense Observability will help resolve them. This section will be updatated periodically.
Demonstrated a tracing use case where Kafka is used as a message service
Usecase | Description |
---|---|
Usecase 1 | Visibility into the transaction. |
Components | Java micro services, Kafka |
Basic Flow
Banking with a payment service. First, you interact with the UI, which is a Java application in the back end. When you authorize a bank transaction, the Java service pushes the information into Kafka and another service reads from Kafka and makes the payment.
Problem
Following are the problems if there is a problem with payment.
- You will not have visibility into what goes in the Java service which receives the request.
- If there is any lag you would not know as there is no visibility in what happens in Kafka.
- Visibility into payment Java microservice.
- It is hard to keep track of application instances because the application is a microservice that scales when there is a high load.|
SixthSense Solution
- As the applications are microservices and Docker will be used to scale, you can embed the SixthSense Observability Java agent into your application Docker image to identify the number of application instances and track the transactions hitting the application instance.
- SixthSense Java agent supports tracing. When there is an issue with a transaction, the agent will list it in error or slow call. It will provide you with a trace id and trace drilldown until the end of the transaction, helping you locate the precise method, whether it's in the front end microservice, Kafka or downstream Java application. This will help you identify the problem with the transaction.
- Additionally, the VM Monitoring agent or the Kubernetes agent can be installed on these instances to give you details of the VM performance, which will assist you in determining RCA if the problem is with the VM itself.
Database query execution issues
Usecase | Description |
---|---|
Usecase 2 | Visibility into the transaction and dependent DB. |
Components | Microservices, DB. |
Basic Flow
Retail customers use Clubcard/priority customer points to add points or redeem points. When you log into a retail store virtually or physically you will have to swipe/enter you Clubcard/priority customer information into a front-end microservice. This will in turn query the backend, which may be a database.
Problem
You will face the following problems if there is a problem with backend.
- You do not have visibility into what goes in the microservice service which receives the request.
- Visibility into query execution status.
- Visibility into backend.
SixthSense Solution
- As the applications are microservices and Docker will be used to scale, you can embed the SixthSense Observability agent into your application Docker image. This identifies the number of application instances and tracks the transactions hitting the application instance.
- SixthSense APM agent supports tracing. When there is an issue with a transaction, the agent will list it in error or slow call. It provides you with a trace id and trace drill-down until the end of the transaction, helping you locate the precise method, whether it's in the front end microservice or backend.
- The APM agent provides you with DB Query details and their performance.
- Additionally, the DB Monitoring agent can be installed as a container and configured to monitor the DB instances which will present you with in depth DB performance metrics. These will assist you in determining RCA if the problem is with your backend DB itself.
End user is the bad guy
Usecase | Description |
---|---|
Usecase 3 | Visibility into the end user transaction and the application estate. |
Components | Microservices, End user monitoring. |
Basic Flow
Streaming sites, customers use browser\mobile application to watch a video which is streamed on the end device. You will have to login to these sites\applications to watch the videos.
Problem
You will face the following problems if there is a problem with the backend.
- As there is no visibility into streaming sites, they are often blamed when there is a problem with streaming.
- As a result of Rakuten's research, it was found that the problem is not often with customer devices/actions, but lack of visibility on the streaming sites is the culprit.
SixthSense Solution
- As the applications are microservices and Docker will be used to scale, you can embed the SixthSense Observability agent into your application Docker image to identify the number of application instances and track the transactions hitting the application instance.
- SixthSense Browser\Mobile agent supports tracing. When there is an issue with a transaction, SixthSense UI will correlate the trace from front end to the APM and backend which will give the ability to identify where the issue is.
- Our Browser\Mobile agent once instrumented will also give you details to the web pages load times and DOM metrics which will help you identify if the issue is on the end user device.
- Additionally, the DB Monitoring/VM Monitoring agent can be installed as a container and configured to monitor the DB/VM instances which will present you with in depth DB/VM performance metrics. This will assist you in determining RCA of the problem.