def knine_project do # UTC Pub Date: 3/3/2017 17:14
Knine (pronounced K-9) is a tool for helping maintain of mid size services.
My very first motivation for Knine was about our chat service in one of our projects. unlike most of IM services our service didn’t use XMPP protocol. We have created a light-weight protocol over TCP called
Zigor inspired by Telegram’s MTProto. In this structure we cared about every bit of waste and designed communication mechanism in a bitwise level.
So one big advantage and of course, a lot of disadvantages and scary things!
One of those scary things was watching the cluster nodes health on a service that is not watchable easily. We could not just check for an open port, Instead we wanted running full diagnosys on protocol to see if it is not working the way it should.
On the other hand there were many other things that needed to be maintained like the charge we got left in our SMS service provider panel. we needed something to watch on that. For example wee needed it to tell us when the balance of the service is below a configured amount.
So Knine was the idea. A daemon that watches other services and can predict and help you prevent service outages.