The Appliance ...
Our analytic software, Kronometrix, runs on top of an operating system, tuned and configured for data analysis, bundled as a ready image, which can be downloaded and installed. The idea is simple, we wanted to offer something which is already tested, tuned and configured for hundreds, thousands of data sources. We call this, the Kronometrix Appliance and we want it to be ready to:
- work with or without WAN connection
- work on batteries and solar panels
- handle large or small volume of data in real-time
- analyse data from different data sources, different industries
- have zero-administration and no maintenance
- be affordable
Memory it's the new hard disk
Another PHP or Java application on top of MySQL ? Or maybe PostgreSQL ? Right ? Boringggg.
When we started Kronometrix, we basically cleaned the table and we wanted to see things aligned for future not 1978. The first thing, was where to store all the time series data and how to access that. And we went full speed into the future: a NoSQL database all mapped to RAM, fast and efficient to store any sort of data structure we might need. Then it came the persistence to disk, since any system might go South, so persistence was an important factor. So we went for Redis. A solid NoSQL database with persistence on disk, fast, efficient and lots of data structures to chose from running across a number of Linux and UNIX operating systems.
Note: we evaluated at that dedicated time series databases, like InfluxDB but we found it complex, and buggy, hard to maintain and operate unless you want to deploy 20 computing nodes, poor time-series analysis capabilities within.
It's Samba time
Then it came the language and the web framework around it. Java, PHP, Python, Ruby all with their own pro and cons. But this time we looked further and stopped at Pontifical Catholic University of Rio de Janeiro in Brazil. Welcome Lua, a very powerful, fast, lightweight, embeddable scripting language running on OpenResty, one of the fastest web frameworks on planet Earth.
1. Physical appliance
Suppose you want to receive data from 1500 hosts in a data center, every minute and process up to 100 performance metrics, each metric computing the MIN, MAX, COUNT, SUM, AVG, LAST across 10 predefined time range intervals. That would take a bit some effort, and if you look further into even more dense data centers with hundreds of racks the physical appliance is there to help. For those ready to digest data in real-time from thousands of data sources, with minimal storage latency and full speed, we have a ready appliance which be easily racked and powered on.
Or think about a remote damaged facility, a warehouse or factory which needs to be continuous monitored using a private LAN, without a permanent WAN connection. Worse the power electricity supply on that location is not stable. For that a light and mobile appliance, can be installed to receive data from dozens of environmental sensors placed on the factory.
Another example, a small airfield, 1 run-way small airport which would like to share meteorological data to the instructor pilots and local operators, all using the private LAN. More, they would like to keep the meteorological raw data and analyse it every 6 months in order to see how many cancellations were made due bad weather and poor visibility. For such setup, Kronometrix Mobile Appliance helps in gathering data from all weather stations and nicely displaying it to pilots, operators and personnel.
2. Virtual appliance
Kronometrix can easily be installed as a virtual image under any modern hypervisor: Xen, KVM, ESX, or on any public cloud providers like Amazon EC2, Rackspace, Joyent or any other public cloud operator. Same top features are available as a virtual appliance, focusing on zero-administration, no maintenance, easy deployment.
Using a cloud or virtualization infrastructure software will allow Kronometrix to quickly expand and use more virtual machines to handle larger amounts of data with minimal effort.
The software is available as a ready to be installed ISO image.