Monitoring and observability are a critical part of running production-grade platforms.
API Service monitoring is relatively easy. Several third-party services offer the ability to periodically execute requests against your API, evaluate the response, and ascertain your service's health. When coupled with an incident management platform, these services deliver excellent end-to-end solutions for monitoring the availability of your API service and are set up through a simple configuration.
At Cloudize, we like UptimeRobot for this purpose, but we can integrate with whichever monitoring service our clients prefer to use.
One challenge, however, lies in monitoring services that do not offer an endpoint that can be queried. A good example might be a queue processing service or a cron-based processing engine. In these cases, most monitoring platforms offer what is known as a heartbeat endpoint, which allows your service to send a periodic heartbeat transaction to the upstream monitoring platform. The monitoring platform constantly checks that the expected heartbeats have been received. If a certain number of consecutive heartbeats have not been received, an incident is raised with your configured incident management service.
That said, services such as UptimeRobot rate-limit these heartbeat endpoints, which can be problematic when a service, such as a queue processing engine, scales out due to load. In this case, to ensure that this rate-limiting doesn't raise false alerts, these events need to be deduplicated, and a single event should be sent representing all instances of your running application.
By abstracting this complexity behind a simple and easy-to-use API, the Cloudize Heartbeat Proxy Service allows its consumers to focus on the core capabilities that differentiate their offerings in the marketplace and leave the complexity of deduplicating and sending these events to us.
Best of all, we offer this service free of charge to all businesses in New Zealand and Australia with low transaction requirements (less than 20 heartbeat events per minute). For customers with higher throughput requirements, we offer hosted dedicated instances for a small fixed monthly fee or, for our enterprise customers, the service can be delivered on-prem.
If you'd like access to the service, please contact us, and we'll issue you an API Key that will grant you access.
In addition, if you're using javascript, you can install our SDK with:
npm install @cloudize-sdks/cloudize-heartbeat-proxy-sdk