Cyclops
The ultimate billing framework for cloud
services
Piyush Harsh & Srikanta Patanjali
ICCLab, Winterthur
Switzerland
ICCLab - Who we are ?
InIT Cloud Computing Lab (ICCLab)
Cloud Services Today
• Volume based service
• Undifferentiated services like compute,
storage & network
• Prices & SLAs are similar to each other
Value addition propositions
• Common basic service, differentiated VAS
• Ability to respond quickly to changing
business requirements
• Similar approach for Rating, Charging &
Billing (RCB) towards resellers, distributors,
customer
What is RCB ?
• R = Rating
• C = Charging
• B = Billing
RCB: How things are done today?
• Semi automated process, rigid in nature
• Changes in portfolio requires changes in
RCB component
• Many still do this process manually
RCB: How things should be done!
RCB should be• Generic
• Support changes to service portfolio
• Modular and not monolithic
Cyclops: USP
A billing framework for clouds designed from grounds up
• Architecture - Micro Services
• External applications - Plug n Play
• Dynamic rates for cloud resources
• Orchestration ready (RCBaaS)
• Native support for OpenStack
Cyclops: RCBaaS
• One step installation & configuration
• Powered by OpenStack Heat
• Standalone installation scripts for micro
services
Cyclops: Architecture
Cyclops: UDR mService
• Creation of Usage Data Records
• Interfaces with IaaS (OpenStack,
CloudStack, etc)
• Gateway for external applications
(PaaS/SaaS)
• API for data visualization & analytics, usage
reports
Cyclops: UDR mService
External Application
UDR mService
Message Broker
Time Series Database
fetch
send
fetch
fetch
send
Cyclops: UDR mService
Usage Data Record
Time UsageResource meta User meta Unit
Cyclops: RC mService
• Generation of Charge Data Records (CDR)
• Rating policy configuration (Dynamic/Static
rating policy)
• Interfaces with the rate engine
• API for User’s Charge & resource’s rate
report
Cyclops: RC mService
Time Series DatabaseRating & Charging
mService
Rate EngineUDR Service
Scheduler
Cyclops: RC mService
Charge Data Records
Time UsageResource name User Id Price
Cyclops: Billing mService
• Conversion of charge records into periodic
bills
• Factors in discounts, promotions, etc..
• Integration with external SLA module• Support for Penalties
Cyclops: Billing mService
RC Service
Billing mService
Discount Engine SLA Module
Time Series Database
Dashboard
Cyclops: Dashboard
• Unified web based interface
• Differentiated views for administrators & end-
users
• Uses APIs from RCB micro services
• Integrated with OpenAM OpenID
Connect
Cyclops: Dashboard
OpenAMLogin
UDR mService
RC mService
Billing mService
Support Service
User/Admin dashboard
Usage Visualization,
Resource
Configuration
Rating policy, rate &
charge visualization
Bill status, tax and
discount management
Invoice generation
Dashboard
Cyclops: USE CASES (MCN)
Consolidated billing for applications served out of
cloud!• Billing based on application specific metrics + usual
cloud meters.
DSSaaS: Digital Signage System
Billing based on: #Number of Active Screens.
• Content served and hosted out of OpenStack
clouds
• Cyclops UDR allows external usage data to
be sent in, rated and billed upon.
Cyclops: USE CASES (TNova)
• Multiple stakeholder support- Revenue sharing between SP & NF-Provider
• Support for pay-as-you-go and subscription
billing models- Subscription windows (begin/end) handled as events
- UDR translates those events into time-based usage
reports.
Cyclops: USE CASES (Product Catalog)
Base meters -> product bundles
- Rules attached to the bundles are stored in
the rule engine
- Using bundles/products to offer different
billing models such as Pay as you go (Usage
based, Time based), Subscription
- Aimed at B2C scenarios
Cyclops: USE CASES (Product Catalog)
Product-A
Product-B
Meter-1: rating rule a
Meter-2: rating rule b
Meter-3: rating rule c
Meter-4: rating rule d
Cyclops: USE CASES (Product Catalog)
UDR Service RC Service Product Catalog
Rate Engine
Cyclops: Short Demo
Upcoming Features
• Security - Full integration with OpenAM
• Intelligent caching
• Auditability: WORM
• Resource consumtion forecasting
General Availability
CYCLOPS v1.0 Release – June 14th 2015
https://github.com/icclab/cyclops-udr
https://github.com/icclab/cyclops-rc
https://github.com/icclab/cyclops-billing
http://icclab.github.io/cyclops
https://github.com/icclab/cyclops-support
Apache Licence v2
Questions?
For further details contact -
Srikanta Patanjali, [email protected] - @parallelthought
Piyush Harsh, [email protected] - @ICC_Lab
CYCLOPS is partly supported by
Backup Slides
Cyclops: USP
1. Subscription based billing
2. Resource Usage based billing
3. Visualization: Usage metrics, charge and
resource rate
4. Invoice generation