What is Telemetry?
The universal definition of Telemetry is the recording and transmission of data via an automatic form from some remote or inaccessible source to an IT system in a different location in order to monitor and analyze the data. The data from Telemetry can be sent using radio, infrared, ultrasonic, GSM, satellite or cable, depending on the. The reason that Telemetry is so critical in DevOps is that can provide insight into which feature the customer uses most and it sometimes can detect bugs and issues before they are detected by the customer. In other words, we can solicit feedback without contacting the customer directly and in many cases without the customer even knowing.
Telemetry isn’t Logging
While logging is a highly recommended practice, we need to understand that it is normally a tool we use during development to diagnose errors and code issues. General Logging is typically used internally rather than with actual customers. Telemetry on the other hand is used to collect data from actual customer usage.
Benefits of Telemetry
The key benefit of adding Telemetry to your applications is that it gives teams the ability to monitor the state of objects while not physically present. The data that is sent from Telemetry can be gathered and delivered into a dashboard for the team to analyze and respond as needed.
What you can see:
Are your customers using the feature and how are they using it?
The frequency and duration of usage by the user.
Which settings are being used most often by the users.
Investigate the context of crashes.
What exactly happened during a crash.
In the DevOps market, today there are numerous vendors trying to promote monitoring, choosing among them can be distracting. In order to sort through the various vendors and determine which tool(s) are best for you, it’s advisable to sit down and determine which types of monitoring hold the most value to you and your customers.
Understanding the Background of Monitoring
It’s important to recognize that various types of monitoring have been around for many years and isn’t some new concept brought about by DevOps. Even though monitoring predates DevOps, it is having an effect on monitoring in the sense that it has advanced the software development process so much that it in turn is helping evolve monitoring.
What are we Monitoring?
In DevOps, we are monitoring a number of crucial categories. The first category is the log output of our applications, here we are looking for errors and exceptions in real time. The next category is the health of the servers, here we are looking at the uptime and performance in respect to the available resources. Another category is milestones in the development process, here we are really looking at the success of the DevOps implementation.
Another critical category is the known vulnerabilities or weaknesses in our application code and insecure coding practices. The next category and one of the easiest to setup is failed builds and deployments. The last category is user activity monitoring, we use this to help teams drive feature development and the scaling of our infrastructure.