Hacker News new | ask | show | jobs
by nicodjimenez 2678 days ago
Agreed.

I'm starting to think that most of these analytics services are more trouble than their worth if you have a good engineering team. A few metrics API's + timescale DB + Grafana goes a long way. If you have a differentiated business you're probably measuring something unique. And if you're measuring something unique then you're better off building your own analytics.

Also, realistically most businesses are built on top of databases. So the most important stuff is in the databases anyway. So might as well just put metrics in SQL too.

2 comments

Self-hosting your analytics is probably the better way to go. There's Piwik (name has changed to Matomo at some point) and I noticed Countly also has an open-source version your can host yourself. There's a lot of functionality in analytics software and you should not throw it all away and roll your own simplistic thing when you can just take a quality open-source product and host it yourself.

But I agree that applications have unique things about them and for those, people need to implement their own metrics to measure whatever interests them. In that case, the current best choices for time-series database are InfluxDB and Prometheus. They provide very simple APIs and tools for collecting and transmitting metrics, and if you prefer to store aggregations of your metrics instead of the many individual data points, you can use the very simple but powerful StatsD api/client/library/package.

Shameless plug: My company HostedMetrics (https://HostedMetrics.com) offers hosted and fully managed InfluxDB and Prometheus. It includes everything needed for a turnkey metrics platform that is ready to accept your metrics the moment you create an account: StatsD for data transmission, Grafana for dashboards, and the alerting functionalities of InfluxDB/Prometheus.

I am working on rolling out everything on k8s for this reason. I know the conventional wisdom of startups is to just pay for services and move on, but I found that we just keep running into walls of either expense or the need to customize stuff. By the time we learn how to use someone's proprietary setup and get it all integrated, we could have just spun up a container in our cluster to handle it. GKE and a couple lines of kubectl and helm are pretty powerful these days.