Our flagship open-source framework for cloud billing – Cyclops has matured to version 3.0 today. Over the past several months, Cyclops team at SPLab has gathered community feedback, updated the architecture, changed the database backends and improved the reliability of the framework.

Cyclops 3.0 release includes:

  • New pricing and billing rule engine
  • PostgreSQL/TimescaleDB database backend
  • HTTPS support and message acknowledgments
  • More robust and failure resilient microservices

Cyclops 3.0 architecture

For the first time, we open source a rule engine that allows for flexible pricing and billing, as well as customisable discounting. The rule engine micro service utilizes Drools inference engine and its forward chaining data-driven rule execution. Thus the system is completely reactional, where individual facts are asserted into memory and based on pattern matching appropriate rules are fired.

The most prominent features of the rule engine are:

  • Rule templates and their instantiation
  • Rule instances and their execution
  • Stateless and stateful sessions
  • Counters and helper objects
  • Sync and Async messaging
  • Output controlled by rules
  • Facts persisted via JTA
  • Logging and auditing
  • Alarm notifications
  • Stream processing
  • Batch processing
  • State recovery

Cyclops 3.0 release can be downloaded from our git repo https://icclab.github.com/cyclops, and its documentation is available on the GitHub wiki at https://github.com/icclab/cyclops/wiki.

This version also comes with an essential collector developed by us. OpenStack events collector that taps into OpenStack messaging sub-system.

For latest news on Cyclops, follow us on twitter: @rcb_cyclops