22
CloudKitty by Objectif Libre Christophe Sauthier – CEO Stéphane Albert – DevOps & Technical Leader for CloudKitty The Rating Component for OpenStack

OpenStackSummitVancouver - CloudKitty an Open Source rating and chargeback component for OpenStack

Embed Size (px)

Citation preview

CloudKitty by Objectif LibreChristophe Sauthier – CEO

Stéphane Albert – DevOps & Technical Leader for CloudKitty

The Rating Component for OpenStack

Innovative infrastructure technologies

Your #ID please ?

A 100% Open Source Services

Company

Satisfied clients &Community involvement

ConsultingExpertise

DeploymentsSupport

We Linux #Cloud #Virtualization#Automation

98% of happy traineesMajor OpenStack Contributor

OpenStack 'Starter Packs'Comprehensive training catalog

Branches Toulouse | Paris

The year we were born

employeesin our

Dream Team

And we are looking for more !

trained (and happy) people

OpenStack SummitBTW: 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

Our OpenStack Involvement

We spread OpenStackTrainings 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

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)

Thanks to CloudKitty, you can...

IT ManagersCloud

ProvidersPublishers

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

CloudKitty's internals: developed with all OpenStack standards

Orchestrator

Keystone

Tenant Fetcher

Keystone1

Filters tenant to be processed

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

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

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

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

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

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

CloudKitty's internals: developed with all OpenStack standards

Configuration file:

[storage]

backend = sqlalchemy

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

Report Generator

Output the stored data as a consolidated file

Various output formats (even multiple at a time)

Allows importing into third-party software

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

Enough chalk talk !

Let's create a rating policyand look at the impact on the user side

Demo !

CloudKitty Roadmap

Q1 2015 Q2 2015 Q3 2015 Q4 2015

New dashboards with

reporting

ODS Vancouver

Dedicated WebSite

La PosteCustom POC Orange Business

Services tryLooking for much

more !

Big Tent OpenStack

Asynchronous worker pool

Partnerships with major actors

ODSTokyo

Translation

CloudWeek Paris

New rating parameters

e-téra project

Configurable rating period

Try it with devstack!

enable_plugin cloudkitty https://github.com/stackforge/cloudkitty masterenable_service ck-api ck-proc

enable_plugin cloudkitty https://github.com/stackforge/cloudkitty masterenable_service ck-api ck-proc

enable_plugin cloudkitty https://github.com/stackforge/cloudkitty masterenable_service ck-api ck-proc

enable_plugin cloudkitty https://github.com/stackforge/cloudkitty masterenable_service ck-api ck-proc

enable_plugin cloudkitty https://github.com/stackforge/cloudkitty masterenable_service ck-api ck-procR

atin

g as

a S

erv

ice

with

Clo

udK

itty

✂✂

Visit us Booth T57

Thank you

www.objectif-libre.com

@objectiflibre

Stéphane Albert (sheeprine) Christophe Sauthier (huats)