As a software agency, the AlienGen team spends the bulk of its time on client work, making sure we’re delivering the best possible user experiences in tools that people will love to use. Our values are built on the idea that if we make people’s lives easier, they’ll want to continue working with us in the long-term.
This is true for our customers, and also true for our employees. It’s for this reason that AG developed its first in-house product!
A Cron task is a scheduled job running on a system. It can be used to execute any arbitrary task script, but it’s usually used to precisely schedule:
- Regular backup
- Synchronisation between systems
- Generation of sms/mail notifications
In this small list of tasks, it’s not hard to imagine the successful completion of a cron task being the difference between keeping a customer (and the associated revenue) or losing one (think missing or delayed orders, missing leads). This critical part of systems infrastructure is often ignored and neglect can lead to disaster!
Cronbee is a cron task monitoring tool originally developed for internal AlienGen use, but we realised quickly that this approach could benefit other teams, and we decided to release as a product available to anyone.
For our customers, we manage several systems and servers, with associated synchronisation and backup tasks. Sometimes, due to unexpected situations, some of them are delayed or don’t even run at all! For our customers it can mean a loss of money, and for us a loss of customer confidence and satisfaction.
For AG, the unique part of this design challenge was to find a solution that aligned with our client setup and specific context, especially the fact that synchronisation processes have to follow a pipeline where we have to monitor every step.
After some thorough research it was clear that existing solutions wouldn’t meet our needs, so we did what engineers do, and created our own!
Our first priority was to be alerted in real-time when something went wrong. The first half of our solution is an always available API that any running task can ‘ping’ with its current status, thus creating a link from the ‘black box’ or a running task, to the outside world.
The second half of the solution is to have parameters set up for each task in Cronbee. If a task doesn’t respond on time with the specified limits, an alert is sent to the team allowing us to solve the problem before our customers are impacted by the failure.
This simple interaction is all brought together via a beautiful interface to display the status of running tasks in real-time, which allows us to know when the system is operating well and be alerted quickly when there are problems.
As a business AlienGen is now able to track the running time of tasks in order to identify any increases in duration, a clear indicator of potential later failure. This allows us to prevent future problems and work proactively to keep our processes healthy and free from errors. Moreover, we now have better risk management during sensitive time-periods such as production deployments as we can continually monitor the health of critical processes and catch any regressions.
For our customers, we can provide ultimate transparency as we can share their dashboards with their internal teams and collaboratively visualise the health status of their infrastructure.