To ensure high availability, a regular health check is always a good idea. All you need to do is to periodically request the application endpoint and analyze the response for response time, return code and response content.

If application depends on external services, like DNS and Authentication services, then it is a good idea to probe these external services too and analyze response.

Consider a DNS server that is compromised, health check can confirm if the response to a DNS query is as expected to has been tampered.

What works best is to have application expose health and telemetry data (insights) that can be queried from outside so you also get the exact view as the application is getting when it connects to external resources like database, etc.

You should place the health monitoring app as close to the customer as possible so you get the same view as the customer would. This is good when you are analyzing response times.

You should also secure any endpoint that is exposing insights into the application.

Advertisements