CloudKitty is a rating component for OpenStack developed by Objectif Libre to provide metering and charging capabilities. It collects usage data from Ceilometer, applies configurable rating policies to transform the data, and stores the results. CloudKitty's modular architecture allows it to interface with different data sources and billing backends. It provides dashboards and reports to help users track resource usage and costs. Objectif Libre offers CloudKitty as part of its OpenStack consulting and support services.
Quoi de neuf dans OpenStack - Christophe Sauthier / Objectif Libre lors du Me...
OpenStackSummitVancouver - CloudKitty an Open Source rating and chargeback component for OpenStack
1. CloudKitty by Objectif Libre
Christophe Sauthier – CEO
Stéphane Albert – DevOps & Technical Leader for CloudKitty
The Rating Component for OpenStack
2. Innovative
infrastructure
technologies
Your #ID please ?
A 100% Open
Source Services
Company
Satisfied clients &
Community
involvement
Consulting
Expertise
Deployments
Support
We Linux #Cloud #Virtualization
#Automation
98% of happy trainees
Major OpenStack Contributor
OpenStack 'Starter Packs'
Comprehensive training catalog
3. Branches
Toulouse | Paris
The year we
were born
employees
in our
Dream Team
And we are looking for more !
trained (and happy) people
OpenStack Summit
BTW: who owns the loyalty program?
Our YtoY growth
The part of 2015
revenues invested in R&D
Yes We Count!
2009
2
+3000
+30%
5th 11%
10
4. Our OpenStack Involvement
We spread OpenStack
Trainings for all tastes, support and skill leverage, proofs of concepts
We contribute any time we can
We deploy OpenStack clouds for our clients & partners
We gave birth to CloudKitty to fill in the gap in rating
5. Let us introduce you… CloudKitty
The Rating Component for OpenStack
Developed with full respect of OpenStack best practices
Integrated with OpenStack
Interfacing with Ceilometer API and much more
Integrated in Horizon
Highly-modular
Metrics
module
(Ceilometer
or other) API
Rating policy configuration
Tariff view, even before
resource activation
Cost analysis follow-up
Usage live follow-up and
history
User view
API or GUI
(Horizon
extension)
Admin view
Data extraction in any format for
post-treatmentAPI
API or GUI
(Horizon
extension)
6. Thanks to CloudKitty, you can...
IT Managers
Cloud
Providers
Publishers
Charge for use any
application or SaaS
solution,
On cloud
infrastructures… or old-
fashion ones!
Charge usage for all
types of clouds
Address each of your
clients – it's multi-
tenant
Analyze data from
OpenStack… and also
from your own data
Define and apply your
pricing policy
Give users tools to
predict and track their
usage
8. CloudKitty's internals: developed
with all OpenStack standards
Configuration file:
[tenant_fetcher]
backend = keystone
[keystone_fetcher]
username = cloudkitty
password = password
tenant = service
region = RegionOne
url = http://keystone.mycloud.com:5000/v2.0
9. CloudKitty's internals: developed
with all OpenStack standards
Orchestrator
Keystone
Tenant Fetcher
Ceilometer
Meta
Keystone Ceilometer
Collector
2
Fetch usage information
Using multiple collectors
if using meta
10. CloudKitty's internals: developed
with all OpenStack standards
Configuration file:
[collect]
collector = ceilometer
period = 3600
wait_periods = 2
services = compute,image,volume,network.floating,network.bw.out,network.bw.in
[ceilometer_collector]
username = cloudkitty
password =
tenant = service
region =
url = http://127.0.0.1:5000
11. CloudKitty's internals: developed
with all OpenStack standards
Orchestrator
Keystone
Tenant Fetcher
Ceilometer
Meta
CK Format
Ceilometer
Keystone Ceilometer
Collector Transformers
3
Transformation of the various data collected
Shared between collectors
Dependencies enforced by the collectors
12. CloudKitty's internals: developed
with all OpenStack standards
Orchestrator
Keystone
Tenant Fetcher
Ceilometer
Meta
CK Format
Ceilometer
Keystone Ceilometer
Rating
Collector
Hashmap
Noop
Transformers
4
Processing of the calculation
Multiple modules sequentially
applied (priority set by API)
Module are dynamically
enabled/disabled
13. CloudKitty's internals: developed
with all OpenStack standards
Orchestrator
Keystone
Tenant Fetcher
Ceilometer
Meta
CK Format
Ceilometer
Keystone Ceilometer
Storage Rating
Collector
Hashmap
Noop
Sqlalchemy
Transformers
5
Writes
the
processed
data to
backend
15. CloudKitty's internals: developed
with all OpenStack standards
Orchestrator
Keystone
Tenant Fetcher
Ceilometer
Meta
CK Format
Ceilometer
Keystone Ceilometer
Storage Rating
Collector
Hashmap
Noop
Sqlalchemy
Transformers
6
Glues previous
components
Manage the
workers
16. Report Generator
Output the stored data as a consolidated file
Various output formats (even multiple at a time)
Allows importing into third-party software
17. A closer look at Hashmap
Matching arbitrary values from service type to
resource metadata
Group : Define set of rules that are processed together
Service : Match a CK Service (compute, network,..)
Field : Match a resource metadata field (flavor,
image_id,...)
Mapping
- Can be attached to a service or a field
- Map the value of a metadata to a cost and a type of cost
Threshold
- Can be attached to a service or a field
- Define thresold levels on a metadata to a cost and a type of cost
18. Enough chalk talk !
Let's create a rating policy
and look at the impact on the user side
Demo !
19. CloudKitty Roadmap
Q1 2015 Q2 2015 Q3 2015 Q4 2015
New
dashboards with
reporting
ODS
Vancouver
Dedicated
WebSite
La Poste
Custom POC Orange Business
Services try
Looking for much
more !
Big Tent
OpenStack
Asynchronous
worker pool
Partnerships with
major actors
ODS
Tokyo
Translation
CloudWeek
Paris
New rating
parameters
e-téra project
Configurable
rating period