 Okay First of all, thanks for coming here My name is Christoph Sotier and I'm about to tell you about Clark E. Lee, which is a component that my company is starting to develop We both here for questions just right here. Sorry. My voice is a bit broken We both here for questions just right now or just on our booths, which is e3 Myself or Stefan would be happy to help you So let's tell you my name is Christoph Sotier. I'm the CEO and the founder of Objectif Libre I'm also an open-source contributor and I'm sitting at the board and the assistant secretary of the Ubuntu France Meetup in a session Objectif Libre is a French company specialized in Linux infrastructure. We do second-apps, audits, management, trainings We have a big focus on modern technologies and innovative tools like Perpetency ball We do of course a lot and a lot and love of OpenStack and we have a real commitment to contribution What the best example for that is that we are sitting on the top 20 of the OpenStack contributors So we hear about Clark E. Lee Clark E. Lee is an additional component for OpenStack That aims to do the charge back the pricing and the rating It's fully open source. We use the APH Apache the 2.0 License for that is fully written Python and it's extremely modular and I will develop all these things right now Before in getting a bit further into Clark E. Lee Let's have a look at the current state of charge back and building inside OpenStack. Actually the situation depends a lot Depends a lot of the size and your role and your aims inside your company if you're a cloud provider There are many many chances that you have developed your own Solution usually based on g-building or something like that if you're a big company you want to charge back inside your company You might have been tempted to use a commercial solution but that come with a high cost of Prices for sure, but also technical cost because you will be having a new stack Which is completely different from the OpenStack and For the vast majority of people you have nothing at all Of course the meter is great so we are using it clearly heavily But still meter for charge back and resting is not for that actually it's out of the scope So we're starting such a project as I told you at the end introduction We are really involved in the development of OpenStack and we also had two needs That actually came about the same time. The first one was one of our Client who asked us for deployment of OpenStack and told us okay I want to be able to charge my users so I need a solution for that But I don't want to have an extra. I don't want to have an extra track More than my future OpenStack. Okay, so that was one need the other one was TV T Maybe some of you know that's tall, but maybe you don't it's a cloud cost analysis Services that is done also by a French company and ask us Okay, can you help us to extend our product to OpenStack? they were currently working with Amazon of course with Google with With a Microsoft Azure, but they didn't work there had no solution for OpenStack So based on these two needs we said okay Why don't we give a shot do a small poke a small proof of concept and we see how it goes And actually the feedback we had in Atlanta where we showed it to a few people were really really good So we decided to go further for this and Which leads to cloud kitty? so Our technical choices were full Python we do all clock it in Python We use a lot of libraries from OpenStack. We use a lot of Oslo We use some PBR, but we're also following the best practices that we can find in OpenStack We use tiff door pecan double asimi. Well, actually we do use the same tools and the same components that all the other OpenStack components We're also really tightly integrated with some OpenStack components Of course, like I said that before we use the limiter as a data source Not the only one I will come back to that later, but we can use it as a data source We also have a UI integrated inside a reason. I will show you a quick video of that later and So far we are compatible with I south genome and we're about to be compatible with kilo If we have a closer look at the architecture that we put in place Well man, clock kitty is just architecture like all the other OpenStack components We have an API which is called clock kitty API. We have a processor, which is called clock kitty processor We have a report writer, which is called kitty writer We have a client a common line client, which is called clock kitty Python client and we have an integration Inside the dashboard, which is called clock kitty dashboard all these components here are Separated Separated repos that you can find on github, but also on Sackforge one of the things that we really have in mind when we decide to Develop clock kitty was to be able to be fully modular. I mean We have four level of modularity inside calculate the clock kitty The first one and we have a small schema for that is for data sources your input Which are we call later collectors are completely modular. We can have Modulation for all of this we can have multiple collectors in panel, but we also have Dedicated collectors for various kind of sources like for instance cilometer, but other ones Then once you have collected your data's you need to Process them. So here are the rating policies and the rating policies are fully modular too We have a pipeline where we have run rating policy then another one then another one each of them is on is based on is It's on module. So we clearly have a huge level of modularity modularity here and Finally once you have processed the data's we need to be able to Give back to give the data to you. So we need to have an app on outputs So we have two kind of we have two moderately for the output. The first one is for the storage we can store you date your reports on File system for sure, but also on Swift on safe on the S3 if you want and What we are about to to write to this kind of stuff to this stuff Well, we're going to write whatever you need because we also have a modularity here Which aims that we which means that we can produce the data that you need on the format that you need We have a basic format in jason, but we can produce on the format you need and of course all modules are loadable Unloadable on the fly since thanks to see the room Is the schema I was mentioning? We collected that we We have the multiple back-end from which we can take the data's then we take This data using our collectors We give the data's to rating pipeline where we can apply using this module and this module and this module And finally once the data's have been processed We said okay, let's store them Using the storage driver in database on the files and the fights will be put wherever we want As I said at the beginning cloud kit is for charge back is for pricing for rating You can call it as you want, but it's not billing at all billing Is something that each company has already inside the company? So we didn't want to create a new billing system But we want to ring where we wanted since the beginning to be able to get integrated with these billing solutions So that's what we did things to the various model we have and we have an integration of a billing system from The collection from the collecting of data's which means that we are able to extract from the billing system the rules Using the collecting the collector modules, but also at the end Once the data's have been done to re-inject that in the billing system, which means that we will be the bridge between Open stack and the billing system and since we are the bridge between open stack and the billing system Wow A billing system can be replaced by a cost and a cloud cost analysis because so that you can have a Representation of your cost if you don't want to Just have I was said I'm about to say if you just don't want to trust people But you also want to be able to have a representation of that is what you can have using TV T I mentioned earlier. You see here. This is the representation that have been extracted from Cloudkidding have a small demonstration of either works as you can see. Okay, let's go this way Yeah, as you can see It's fully integrated with horizon. So for starting we're about to create Using the billing thing which is right here. We're about to create the rating policies So we are inside the ash map module and we said, okay, let's try to Make prices and define the rating for the computer service. Okay, so what I'm about to Price let's say I want to do a price based on flavor type So that's why I said, okay, I want to have something based on flavors Once it's on flavors, I will have my different entries So the first one might be m1.nano. Okay, the price will be 20 cents great Then I want to have a different price when someone chooses another flavor. Great. It's for m1 tiny It will be 30 cents and the same and the same thing goes away for the goes on for m1.small It will be 40 cents But you know that once we have prices for instance We can have some modulation to that. We can say by instance if I'm running a Windows instance It might be 10% more expensive. Okay, we can do that too so I also go to the Ash map module to the compute one and this thing won't be this rating policy won't be based on the Flavor but on the image ID the image ID here. We're about to create one saying, okay This image ID here is on Windows 1 so it won't it will be 10% more So I put 1.1 here and let's say it's a rate. So it means that The classical price will be multiplied by 1.1 and this one may be just a little cheaper So it would be 90% of the price. So I said also it's also a rate here So I created the mappings here and once it's done so we have defined the The various policy we have for the rating. So once the policy are defined, let's use it So our user goes to his Arouson here and says, okay. I want to launch an instance You see here? You have an integration for the price that would change according of the various choice you do. Okay. It's an a no Based on the image that we had that was 10% more expensive It's 20% the one which is that 10% less It's 18 and so on when I change the type of flavor we expect we are face We want to you to change the price changes accordingly on real time So the users know what's about to be charged for this service And when I launch it for sure Everything is collected. Okay. I've got I've changed it and now The press I will be charged. Oh I'm just a little too fast here Sorry and the user can go to I will just post the demo here You can go to his own tenant go to the Billing said, okay. I want to click to see that here is the amount of price that I will be charged For the usage I had since the beginning of the month we have many other ideas that we have here to do a Quick calculation to know okay if Michael my consumer usage since the beginning of the month By instance was this how much I will pay at the end of the month That's of course just an expectation But we can have this kind of thing that we're about to add to TV to cloud kitty That's all I have to say if you have any questions you can ask them right now Please come to them to a booth. It's just in front of the car So you won't you want to be able to miss it and I'd be more than happy to help you and to answer to your Requestions to show you the videos maybe just for a little bit closer. So like you can see that directly You can follow us on Twitter and something like that when you want No questions. Okay. Feel free to come to the boss to the booth I think it's e3, but I mean the easy way to spot us. We are just next to the car. Thank you