 Hello everyone, first I want to thank you to join us today. We're going to talk about clock it If you don't know what clock it is, that's a great place to be My name is Christophe Sautier. I'm the CEO of a company called objective Fibre But I'm also the PTL and the co-founder of clock kitty With me, here is a maximum code tray who works with me at objective Fibre and is also a co-developer at clock kitty So as I told you we're going to talk to you about clock kitty We're going to explain you first who we are so what is objective Fibre We're going to give you a small Introduction to clock kitty to explain you what he aims to do to detail you a bit the infrastructure of clock kitty And we're going to give you a demonstration because I think things might be interesting over demonstration So you can start to pray for any guard across your fingers because we will try to do a live demo So we have some face. Otherwise, we may have some video for things, but let's go up here We don't have to use it So Objectively we were French company as you might hear that The company has been launched about eight years ago We do a lot of things a lot of trainings, but also a lot of research and development we are 20 people located in Toulouse the hometown of the company but also in Paris and We are quite used to the open sex omit since it's the eighth the ninth story the ninth open sex omit We are attending Why are we attending so much summit because we are quite involved in the open in the open stack ecosystem? So basically for our customers we build and we run open-side cloud. Okay, a lot of people do that We also spread a lot of the culture. We are quite involved in all the meetups all the Yeah, all the summits and every old conference that we can do And we developed a lot. That's why we are about to talk about lucky They will just introduce you that in a few seconds Like I said, we do a lot of development over the Open Sack history we did about 900 commits We currently have more than 10 people currently We're regularly contributing to open sack Which is I think quite good for a small company like we are and we try to support the foundation as much as we can since we are We have people who are certified. We're also a sponsor of The foundation and well, we will try to continue like this Well, the thing that you interest here today is cloud kitty Cloud kitty is the rating component for open stack It has been developed since the beginning with the full respect of all the open set breakfast best practices Like you can imagine when the small company like us start to work on something like that We might have the Temptation to bypass a few things like to say, okay, is my buddy. He will just validate what I do and that's it No, we actually are quite Quite strict with everything like this and we really try to Follow all the best best practices We have quite a lot of Interactions with our other open stack Components, of course, we are relying on keystone for users and tenants and things like that but for metrics since we get all our Data's all the data's we process on based on metrics We rely on Cilometer and on yokey we have been quite a big user's flim cylinder and When the when the Cilometer team decided to launch gnocchi We've been informed by them actually the father of gnocchi is a French guy So he is it helps a bit to talk with him and he said, okay, why don't you use it and said yes for sure? So right now we are quite a lot quite some big users of gnocchi, but we will explain you that a bit later, too We also have an integration over horizon Everything that you can do in cyclocity. We'll be done using the it's API like on every other open site component so when you want to Play with it when you want to use it really you can use DC li or you can use horizon and that's it and The thing that we have always on mind when we develop clarity is it's modularity We will explain you that in a few seconds, but we always try to do cloud kitty really really modular By instance as you can see on the schema here On the left. Yeah on the left. We say that we have a metrics module and Cilometer or other so all our Collecting parts are different modules then We will get all the information on cloud kitty and you see the new logo, which is quite nice actually and We will have the view which is an open stack which is an horizon module But we also in the past just provided a custom integration with whatever our customer ask So we don't have to use explicitly horizon we can since we are using at the API we can integrate with anything we want On this view we can have the admin view or the user view the admin view is Where you as an administrator you would define the rating policy? And so the configuration of the various price you want to charge your users You might also have some cost follow-up and the cost analysis of the usage of the cloud on the Horizon part you can also have the user view these are the user view is where your users will know There they're the usage and their costs the cost of the users of the cloud We also show you a Feature we have in cloud kitty that we call Predictive pricing because we also offer the possibility for a user to know the price is about to be charged for a resource Before I even launch it so before a user will launch its instance You know the price you will be charged for that and it's on the horizon and at the end when all the data has been compute when the user have used the service and Use the cloud we will extract all the data to actually produce The file and produce the material to be able to create your bill because we are not a building solution We are clearly clear here to provide the information to bill your users But we are not providing the billing solution There are many many building solution that exists and that do does a great job for that. So using the API You can fetch all this dated all this is that which are already treated. Oh And yes cloud kitty is an official project. We are in the big tent. So for about two years now So basically using cloud kitty has an IT manager You can try you can define the pricing policy you want to charge your users because usually people want to charge internally as a cloud provider you can also cloud charge your users and If you are a publisher if you're editing a solution a sad solution You can rely on cloud kitty to fetch this information We also did in the past some integration with non-cloud and non-open stack and integration Because sometimes people tell us okay, I want to charge my users based on the flavor on the image that you think but also might be interesting on Charging them by instance on the number of users of the inside the solution So we said to these people, okay Just give us an API where we can fetch the number of users Which are using the solution and we can and you'll be we can get a metric from that and As soon as we have the metric you can base your price on that. So that's what we do and that's why it's quite interesting also for people who are just creating solutions I Will it match you Maxine talk a bit about the internal aspects of lucky day, okay So the way cloud kitty is working is quite straightforward and is following four step You are going to fetch which one and you want to rate on your own pen stack Then you collect the data you rate the data and you saw the data for further For further use sorry So the first step the the tenant fetcher it's responsible for the for gathering the eligible tenants on your open sack As Christoph say the all the architecture of cloud kitty is modular So today we support kiston v3 and v2 and v3 Directly in cloud in cloud kitty, but if you want to use another System you can code your own system The collector the collector is Is used to pull the different backends For metrics and metadata on your open stack It's this component that will use Cilometer or cloud kitty for example to get for a given tenant all the different resources lunch in your tenant the metadata the metadata Associates with it and the metrics Here it's the modular if you want to add another Collector you can add it quite simply and we support cilometer and gnocchi out of the box for the rating The rating is the part that will perform the calculation on the collected data It's a system of Prioritized modules that are executed second surely and based on the priority you can enable different Module at the same time they have them Working together on the collected data Such modules can be configured enabled and disabled directly from the MPI from the CLI or from our eyes and It's still modular One focus on one of the main Module out of the box in cloud kitty is ash map ash map Allow you to create is a generic module that allow you to create Rating policy in a simple manner It will Do the calculation based on the metadata and the metrics gathered by the collector You will have you will be able to add Rating policy based on threshold value on some Metrics and you will be able to group Calculation to create complex Operations and at the end all Rated Resources will be stored For and For further usage and will be credible by the API today us SQL alchemy and SQL is the base Is a default backend for storage, but there is also an early support for new key Once you have everything you are ready for billing at the end You have to in order to use quite simply The the rated data there is an associated tool That can use to provide reports From the data cloud kitty It's a simple exporter of the data in multiple file like OSRF or CSV and You will be able to use those Exported data in your billing system, for example as you can do with AWS for example yes, the file which is exported using the Writer, which is a tool I mentioned here is Fully compatible with the tool which is produced by AWS. Actually, there's a tool does that they are producing a format called program programmatic billing Sorry, and we are clearly compatible with it So if you are already using data from AWS and you want to use the same thing using open stack You won't have to change nothing at all So as we say everything In this different step or modular and you can quite easily hack cloud kitty code to add your own Your own code to fit your needs Let's try Yes, we're going to do a live demo like I said but if something goes wrong, we also have some videos and We put the videos on YouTube already so you can see them later and you just have to look at this URL and You'll be able to see them. Okay, so Summit so So we just installed a few minutes ago A blank open stack on which we just install additional services Cloud kitty for sure, but also Syrometer and no key and we're going to use everything right now Okay, here you can see The different modules out of the box Provided out of the box by cloud kitty they'll have the new piece of dummy test Just a dummy module hash map is the one we will see today and you have also a Passcrap module they enable you to push Python script to the cloud to cloud kitty and It will enable you to have custom quite simply custom Processing on the collected data So here you can see that Both has map and passcrate are enable and how You can set Purity to the module in order to specify in which order you want the module to be executed Every module is executed sequentially each time for each private of rating so if you want a module to be executed before another one just have to Have to put a higher priority in the hash map Section you will be able to Define your policy for example, I will create a service for example for the a compute service that will Using the compute service, I will be able to Provide rating on the instance running on your open stack Okay for given services you have two type of Rules you can provide one rules based directly on the service you just put a price for the consumption of the service, but you can also Provide Rules on metadata of your services It will be able to this functionality Will provide you the the the possibility to fill Multiple rules that will match some value on metadata of the rain source and to get the right price for example on the Okay, I will create a new field Using the flavor ID for example of my instance. I will get gallery The ID for example, I'll try to use the Sorry Okay So I'll get the ID of a flavor here the the micro Here I will create a new mapping That will say the that for this given flavor I want to for example Apply a cost of two dollar Euro what you want And it will be it's a flat price that means that For every collect period if you have one instance with this given flavor it will be a Rate with two Create a group Instance Okay Here you can provide a rules Generic rules for the old instance, but if you provide a project ID or project name You can specify that his rule is only for this given project For example here, I will create a rule that would be only Applied on the submit project. Okay. Here. I have a first rules. I can do and Why not this one I can do another one new mapping because this Flavor is larger. I will put a higher price For example, okay, so here you have two rules that will map the Flavor mapping of your instance to choose which rate you want to apply on your resources Okay, I will try another one for example volume if you want to volume will only you to Rate the consumption of your Cinder Cinder resources Sorry here, I will apply directly service mapping. I know that for every Collect period I will have the amount of volume used for my tenant. So here I will Put a price directly on the whole volume use for the given tenant Five for example Try Okay, but if I want to Provide for example a Discount for people who use a lot of Volume I can have a threshold on my services This threshold you will be able to say further pull if a user I Use on the collect period more than 100 gigabyte of volume. I can say that I will apply a rate on this Volume and he will be charged only Five percent less of the price for example, okay, so here are the different Manor you have to create simple rules with them with single rating rules with hash map What thing interesting that Chris of say earlier is the ability to Actually like we said we are doing a live demonstration and I just realized that I think I forgot to put something on the demonstration Actually, I think we don't I don't I didn't had any image To the to this instance so that we cannot use it. So maybe I can just do it. Sorry You know when you do things like this sometimes it happens We just do it shouldn't be too long Okay, I know I type a password Um, so you see everything We gave an end zone yesterday on that so I'm just taking everything from there. I just have to type the things Okay There we go. I think I just made it just to say lunch here Okay, we are the server. Sorry for that Thank you, so it's really a live demo as you said as I said Okay, so I'll create a new VMM for example, we see that for the macro Flavor we specify a value of 2 for the rating. So if I Create A new instance with this flavor I will get normally Detour bar, I'm sorry Sorry, I think you're right, but I think you just went out today. No No, what happens? Okay it's the demo if it you should have the Preview of the price that the We can use the instance we can use the video. Yes Better So it's not as beautiful So we are just I'm sure you still It was better before that, but we are just using one of the thing here When and you have a price which is right here. No, it's not you cannot see there. You have you had the link on the On the thing and the thing you will see on your computer is that The price has changed accordingly of what we just used and all the different Oh, oh Maybe it was just a bit long. I don't know what Micro, let's use an inner The price is here, but it's not Accordingly, okay. Yeah, so usually the thing is supposed to do is just to change accordingly of the choice you did We also have another video about reporting So Once your user have been charged He will be able to see a Report so the rating summary is just the total of price. He just been charged for that and Right here. You have some graph that explain the values Repartition of the usage On the left it says by instance The the blue one is for network out the green one is for the network in The purple here is for a compute and so on so the name here As the name of the value of services that we have That you have choose on the on the first page of clock it and Right here is the price over the time With the same color you can and here is an example of the CSV that the The cloud kitty right on tools will allow you to export and to use in your billing system Yeah, yeah So actually we are using a rescor to query the api and reproduce that So you can just we are currently with cloud kitty by default We have this file format, but we also have a json one And you can do whatever you want That's the idea Actually, I'm quite disappointed that we have facing this issue because like I said yesterday We did an end zone telling two people and explaining to people how to use it There are about 40 or 40 people in this in the in the room and it works for everyone So the only people just miss it is errors today I'm never mind The title of the presentation was present and future of clock it is or let's talk a bit about the future We have noted a free free level of future first Cloud kitty is already usable for sure But the one of thing which lacks a bit is some visibility for the project So we will continue to expand the Number of metrics we want to be able to to fetch so on the third quarter of this year We will have an initial release with a collecting data from monaska directly By the end of the year, we really really want to be able to be Integrated with all the major open stack distribution We currently have packages for Ubuntu. We are also in the earlier repository So and the packages I've been using are from okay to ideal right now, but We want to be able to go a step further than that We want to be able by instance have our own appliance inside alien We want to and we already start to work on that. We Also have a prepared module for that that we have opens we have a clock On the open stack and civil thing. There is some stuff to deploy cloud kitty, but we want yes a step for that And by early next year, we will have a way to collect Metrics only from containers not only using open stack actually We really want also we always we all want to be able to have a standalone release of the cloud kitty by the end of the year When I mean standalone, I mean we start using the open stack scope because We all see during the summit that the containers are everywhere and so we want to go To be able to fetch directly things on containers and we are working by instance on A way to collect things on promoters So we'll be able to fetch information from Kubernetes On technical thing, we will have by the first quarter of this year the version the versioning of the pricing policy so that you'll be able to Go forward and if you want to change and to go back and to roll back to your your previous Pricing policy and we also want to be able to configure on the Using an api and not just on the configuration file D-rating period. Oh and translation are quite important for us Especially since we are french and french don't like to speak english, so We have to do that quite soon. It's too late already And we also we also try to be present on a few Open to seventh It's easy for us to attend something called the cloud week in paris at the end of the just before the summer but We want also to be able to be part of the ptg. You know ptg is the new summit for developers We haven't we've choose not to attend the previous one The next one might be a bit complicated in dendro, especially since the team is Mainly in france, but we also have some contributors in china. It's not really easy for them to join for us So We are about to we are in visit. We are talking about doing a virtual ptg. So you are clearly free to attend And maybe we'll be in sydney for next couple of the sex summit What can i say more You can try Clogity quite easily First with dev stack Dev stack is quite easy to do you just have to put that on your local conf and that's it So you'll have clogity inside dev stack But also you can deploy clogity using the various packages that we have that have already mentioned It's on rdo or it's in the one too. So it's really really simple and the documentation has been really really improved over the last cycle So just do it and if you have any question we are here We do We also have sorry, but i don't think about that. We are also have another c channel So join us and i'll drop me an email or talk to me on twitter or whatever you want, but Just join Thank you If you have any question, we are here for sure No the questions