How Can jBilling Help You?
Who’s Using jBilling?

“jBilling handles any complex subscription we can think of.”
Russell Vowles
UK Broadband Ltd.
See all testimonials >

Billing in the Cloud

From a billing perspective there isn't a lot a pressure with performance. Even a modest server can do pretty well when it comes to invoice generation (which is the most typical batch process). I do remember a good 15 years ago, when this was not the case. The billing system was written in C, and it ran on a high-end Sun server. And it did manage to get all the invoices out in time, but if anything went wrong and the process had to be ran again, we were in trouble.

But there are other patch processes that are still under pressure from a performance perspective. Notably mediation and rating, a common occurrence in the telco world. In the case of mediation, for large operators it is very much a reality that the mediation process has to be written in C. Java is just too flabby for this type of heavy lifting.

True to be told, things are changing fast. The (in)famous long list of rates for each possible 'starting location - end location' is fading fast. I just signed up to a flat-price long distance plan for home that includes 50 countries. Very cheap and (most surprisingly), provided by the traditional local phone operator.

Some cutting-edge communication providers are ditching the whole mediation process out the window. I just came from visiting one of these companies in Silicon Valley, where I could witness the emergence of a full real-time platform: when an event happens, it is dealt with on the spot. No more saving a 'CDR' to a text file to be process at night by a mediation module.

And then there is the hardware running the whole thing. Servers are getting faster by the minute, no news there. But with cloud computing and elastic resources you can easily scale your processing resources without touching real hardware.

This is helpful when it comes to rating, for example. Rating can demand a lot of CPU power. This is specially true for the rule-based rating that we use in jBilling. The problem is, other options that do not involve a rules engine are cumbersome to deploy, hard to maintain, and end up all to often as a spaghetti-code-XML-mountain nightmare. All in the name of old hardware.

The good news is that flexible, elegant rating with a rules engine is now very much possible for fairly high volume scenarios. A recent benchmark got us to the low hundreds records per second, processed in batch mode. But I'm getting ahead of myself, that is jBilling 2 territory which I'll comment on a different blog.

Until then!

Emiliano Conde
Lead Developer
jBilling.com