GreenQ: OpenWhisk for a Smart City Data Application
Even though smart city technologies address various verticals and use different platforms to gather, analyze and transfer data, they all have one thing in common — heavy duty data volume. A dynamic habitat such as a modern city generates a substantial amount of data on a daily basis.
GreenQ is a company engaging in smart residential waste collection, by installing hardware on waste collection trucks without installing sensors on the bins. With every lift of a waste bin, the sensors on the truck measure the amount of garbage inside the container (bin capacity) and monitor the time and location of the pick-up.
Data is analyzed and transformed — in real-time — into recommendations for process optimization, simply based on what has been “learned” from the collection procedure. You might call it IoT waste management, GreenQ calls it IoG — Internet of Garbage.
While the young, smart waste management company started serving more and more clients, the volume of the data increased, and the computing power they needed grew, too, up to the point where they needed to maintain the servers frequently to make sure their customers are getting current valuable information based on the most current local waste production status.
The question GreenQ’s developers had to answer was about the most efficient way to use their platform, especially during the drastic increase in data volume, as well as maintaining the same (or better) level of service to their clients.
Since their smart city waste management technology is set to send information to the server on different timings (only when the truck lifts a trash can), it seemed reasonable to use an service that can handle temporary high data rates while also not costing too much during idle times.
They realized that the answer for scalability and variable computing power demands can be found in OpenWhisk, an on-demand serverless platform. Instead of spending valuable time on designing and maintaining multi-servers scalable architecture OpenWhisk will handle it all for them.
OpenWhisk provides GreenQ with the best due to the application execution logic, developer tools and modulation.
For example, each lift of a waste bin by the truck is considered as an event (trigger) sending data to the core of the system. In response this data is being analyzed and inserted to the database (action). OpenWhisk provides a programming environment supported by a REST API-based Command Line Interface (CLI) along with tools to support packaging and handful catalog services.
The following illustrates the entire architecture of GreenQ’s solution leveraging OpenWhisk:
The entire solution is based on a device which collects information regarding every waste bin pickup. The information which is being collected includes: time, location and bin capacity. The raw data regarding every pickup is encapsulated in a file which is transmitted via sFTP to Bluemix while the truck’s location and status is transmitted using MQTT to Watson IoT platform.
Every file and every MQTT message being uploaded to Bluemix triggers OpenWhisk actions, for instance to insert information into a MySQL database and to start ongoing monitoring algorithms that create alerts.
The analyzed information regarding the waste collection is stored in the database, while every API call or UI access triggers an action fetching the relevant data from the database, analyzing it and making the information available via an API or UI.
To conclude, smart city solutions that must maintain a high level of service to their clients, profit more from the unique approach of OpenWhisk. A smart waste collection provider such as GreenQ can now be sure that they are working in smarter and more efficient way without having to handle scalability and computing power issues.