Chapter 14. Telemetry
The concept of telemetry is not among the original 12 factors. Telemetry’s dictionary definition implies the use of special equipment to take specific measurements of something and then to transmit those measurements elsewhere using radio. There is a connotation here of remoteness, distance, and intangibility to the source of the telemetry.
While I recommend using something a little more modern than radio, the use of telemetry should be an essential part of any cloud-native application.
Building applications on your workstation affords you luxuries you might not have in the cloud. You can inspect the inside of your application, execute a debugger, and perform hundreds of other tasks that give you visibility deep within your app and its behavior.
You don’t have this kind of direct access with a cloud application. Your app instance might move from the east coast of the United States to the west coast with little or no warning. You could start with one instance of your app, and a few minutes later, you might have hundreds of copies of your application running. These are all incredibly powerful, useful features, but they present an unfamiliar pattern for real-time application monitoring and telemetry.
Treat Apps Like Space Probes
I like to think of pushing applications to the cloud as launching a scientific instrument into space.
If your creation is thousands of miles away, and you can’t physically touch it or bang it with a hammer to coerce it into behaving, ...