Rating, Charging & Billing (RCB) has been an ongoing research initiative from ICCLab. As part of this, a proof of concept (PoC) for OpenStack has been developed and released under Apache Licence v2.0. The PoC is a standalone application which can collect the resource usage data from Ceilometer for a certain time period interval, define a pricing function per user, determine the price for the resource used per user and eventually generate a bill and display it via a PDF. This is demonstrated through a video.
Even though the architecture used in PoC was able to demonstrate all the basic functionality of RCB, it was not extensible and not suitable for being deployed in the distributed environment. It was also observed that the data produced at different stages for RCB process had the potential to create a platform upon which other applications using them, could be built. With these drawbacks, an attempt has been made to redesign the architecture from a modular & micro service perspective.
The new architecture has been split into multiple micro services consisting of User Data Records (UDR) Generator μ service, Rating & Charging μ service, Billing μ service, Message broker μ service and authentication service.