While architecting a system to power a business, “analytics” and “alerting” are core part of the whole process. Choosing the right tool is very essential. There are already various tools on the web, which are free for use. But majority of times the setup effort is usually high. It might seem small for big teams, but if you are a scaling start-up with a small engineering team, your major focus should be to ship features as fast as possible, and you are developing first-in-the-market products, which may iterate to something completely different very quickly, which puts effort required to setup alerting in question.
But on the other hand, analytics and alerts are important too, to understand how is our product doing in the real world. Otherwise you won’t know how to iterate, or whether to.
This is not just limited to product and business, but applies to engineering infrastructure too. You need continuous feedback on how your infra is coping up, and have regular analysis towards the expense.
Before jumping into the solution, (though its pretty obvious going by the title), let’s spec out what are the least requirements that we would need to get an idea how we are doing.
- Events occurring on real time basis as alerts (i.e real time purchases being notified)
- Periodical consolidated analysis of the business
- All kinds of alerts around infrastructure (i.e downtime, daily expense, new servers being spawn)
- Major bit of all these alerts should be accessible to all the stakeholders very easily
Now Slack with small combination of few helpers, has kept us informed through days of our business and alert about our infrastructure.
Slack API is a wonder, in terms of how easily it integrates with different services, and you don’t need to stress about access, as your team is already on it (Sorry for assuming that your team is on slack). All you need to do is : Go to Webhook Management > Register a webhook > Give it access to channels > Use that webhook to send messages or integrate with 3rd party services.
For example, we have written a small dedicated lambda, where our backend pushes any “worth notifiable” data, like real time purchases occurring, or new institutes being onboarded.
I’d be lying, if I said we don’t get a dopamine hit for every alert of that kind.
As a personal recommendation, whatever database you use, attach it with Redash. The tool has the ability to write crons and on-demand queries on your DB, and ability to send Tables and Visualisation of every kind to your mail and to your slack workspace.
In coming weeks, I’ll try to write on how we use Redash in detail, and Segment as our aggregator collector. Subscribe to my newsletter for further posts like this.
2021-05-19 18:28 +2560
792433a @ 2021-05-19