 Hello, everyone. Thank you for coming. Sanjay Mishra with Talagent, I'm going to do a quick walkthrough of some of the new functionality that we've been working on. If you have heard of us, you know us as the billing guys, as the Chargeback, Showback, Capacity Management folks. In our most recent release, which is about to be GA in a couple of weeks here, we focused on the third key pillar of the set of functionality that we provide and that's self-service in an open stack environment. So mostly what I'll do is talk through the new self-service interface, the interface targeted towards customers and project users, and then I'll fill in a little bit of time with our bread and butter, the capacity and the cost and so on. So we have had a self-service interface with every release of our product. What we've done in version four, our current release is to expand into provisioning and VM management as part of the self-service function as well. Our prior model was for our self-service interface to sit alongside Horizon and so the interaction would be you as an open stack user use Horizon for managing all your resources and then our interface gives you reporting and visibility into your consumption and cost and billing and so on. What we've done with this release is pull in some of that resource management capability into our interface. We're not aiming to replace Horizon. What we've tried to do is optimize for a particular use case and that use case being if your view of your infrastructure is primarily VM centric, so if you come from a VPS background or if you come from a VMware background and your primary view into your applications and your infrastructure is by VM, then we've tried to optimize for that experience and that use case. So, everything okay? Yeah. A couple of steps getting there. So again, self-registration is a function that we've supported. So I come in. I'm a new user. I want to be able to create a project, create a user, be able to start consuming OpenStack. For the most part, that tends to be a manual process, trouble-trigger driven and so on. What we've done with this interface is provide a self-registration interface where you can provide your basic demographic data depending on your requirements. If you're a service provider, you can configure for payment processing, you can collect additional metadata, you can enable recapture other functionality or you can turn all that off. So this is a page that's highly customizable, can be branded with your own look and feel and so on, add additional help text. And result of this is once you've completed this data, it launches a heat template which you as the operator or the provider can customize. And so as part of that, the project is created, the user is created, any additional key elements that might be needed to be able to launch your first VM. So your networking, your security groups, your key pairs as a default key pair and so on. All that is pre-provisioned and is waiting for you to be able to invoke and reference when you launch a VM. So self-registration, I just want to throw that up there. I'm not going to push my luck too far by trying to do a live demo with that piece, but I wanted to throw that in there. Assuming you've completed that step and have a project that you log into, the other key activity that you'll do is come in and look at your VMs. So this is an environment, I've already launched some VM, I've got some basic overview there. The gray bars are where you would see some summary metric data. So in this environment, I don't have this enabled or again the live environment, the metrics aren't collecting as I'd expect. But a quick overview of all the VMs, this gives you a multi-project view. So I as a customer, a customer is this notion that we manage within OpenBook, customer layers on top of projects. So I as a customer can have multiple projects, I can create new projects for myself right through here. So if I want to come in, I can either launch a new project or a new virtual machine. Let me go into the virtual machine management interface first. Again, in Horizon, there can be multiple steps both within the VM launch as well as the prerequisite steps. I create a network, create a key pair, define some security groups and so on. All that detail is handled as part of the self registration process. And then when I come in here, I make some basic selections. Which project do I want to launch the VM in? Which image do I want to use? We can ingest custom metadata that you can set on your image details. So if you provide an icon reference, for example, we can take that and throw that up in the view here. Description of the image and so on, showing you your quota and impact quota, and then showing cost information. So as I'm making choices and decisions for what I want to include as part of this VM launch, I can get a quick summary of what my costs are there. And then when I launch this, this is also something that you can customize or have the ability to control exactly how this gets done. So backing this is a heat template, and that's available for you to customize and tweak and set additional options as appropriate. And again, once I've made my selections here, I click launch, and now my VM is up and running. The other detail that I'd like to talk through is the capabilities once a VM is in existence. And so pulling together the key data that you care about from a VM perspective, so the storage, the networking, the security groups around it and so on, a single page view and then being able to drill down from here and perform the other functions. So if I want to attach additional storage, I can come in here and I can attach a new volume or an existing volume and do it all through here. Resizing volumes, doing other management functions like doing snapshots, resizing VMs, stopping starting, essential VM management capabilities. This view where we're available, this will show you the metrics associated with the VM. So by default, CPU, RAM, disk metrics are collected from Solometer if it's available. We can also ingest metrics from other sources and have that view show up as charts in this panel here. Managing metadata tags and so on. But the idea is, again, as I was saying earlier, it's VM centric and so we've pulled together all the different elements that you might care about from the perspective of looking at all the details of your VM in one place and optimizing for that experience there. A couple of other things in the self-service interface. So coming in and getting an estimate of the services available to you and what the projected costs might be. Looking at compute and just getting a quick summary of estimated costs, being able to export this out to Excel, for example. Sorry, I didn't select any rows there. There you go back and make that selection. So cost management, get estimates of cost. Looking at your historical information, so your billing history and the detail associated with that. So here's an overview of my bills. I just selected a PDF view. Being able to drill down into this and looking at your spend by category by service and looking at it over time. Similar detail view on your current charges and what the line item level detail is around that. And then some of the other functionality that is also not typically available in self-service in an open stack environment. So managing quotas, getting an overview of what your current quotas are and requesting increases to your quota through an automated workflow-driven process. So I can come in here, request increases to this. This results in a to-do item for an open stack admin that's visible to them through the open stack, through the open book admin interface. When they approve it, then throughout integration with the open stack APIs we go out and make that change and perform the quota change for them. And in the process notify the requester as well as the admin that the change was completed. Managing users in a multi-project environment. So a little bit of automation and self-service in another area that tends to be a manual process. So I can come in here and I can edit the details for a user, assign them different roles across different projects, and then using our delegated admin capability into open stack, these changes can be applied. So the open stack API eliminates a manual process there as well. See how we're doing it. And then finally some reporting details. So looking at my consumption and usage over time, there's a rich analytics engine within open book. That data and I'll take a few minutes out of our presentation and talk about what the administrator view of that is. But this is the customer view. So I as a customer can look at my usage across projects, across an aggregate of projects over time and so on. Looking at my spend over time and so aggregating spend by category, by time, getting some idea of trends as they're occurring within my usage. So let me step out of this and step over to the administrator interface, the view that the operator has into this environment and talk to you a little bit about the setup, sort of the bread and butter of what we do. So the capacity management, the billing and the reporting there. So in supporting billing for open stack, we have a rich metadata based billing model. So essentially anything that you can provision, storage, compute, networking in open stack is data that we can collect and give you the ability to build a building model around. So whether it's metrics like bandwidth or metrics like CPU hours, billing customers for those on a metric based billing model or a services based billing model. So compute by flavor, compute by CPU, RAM and disk, compute by quota. I mean, we have customers who combine both of those models where I'll bill you a certain base rate for quota to get you to size your quota correctly. But then I'll bill you for actual usage based on instance hours by flavor or by image and so on. And so in collecting data from open stack, we connect into the open stack service APIs and we bring over this resource data along with the metadata associated with it and then using this metadata, you can define a set of products that you then set rates to. So products, this is a relatively straightforward configuration where I'm billing just based on the service itself but if I wanted to drill down a little bit further and if I wanted to do this based on say flavor, I could say small instance and then add a filter here based on flavor for example. So if flavor equals m1 small then the instance that I'm reconciling over will get classified as this product called small instance and then when I set a rate, I attach rates to flavors based on small, medium, large, etc. So defining products as step one in setting up billing, setting up rate plans. So within OpenBook, you can have multiple rate plans that can be active at any time. Rate plans can be varied by customer and they can be assigned either directly to a customer or they can be default rate plans. And so in our processing for generating a bill for a customer, we look at the resources that are allocated to the customer. We classify them into products. It's a dynamic classification model. We have no dependency that in order to be able to bill, you have to provision through our interface. You can use whatever you want for provisioning. You can provision through Horizon, provision through the API, provision through CloudBoundary, whatever through our interface. And then on the back end, we collect the usage data, run it through the classification engine, apply the rating function to it and then produce an invoice. In selecting a rate plan for the customer, either the customer has a rate plan assigned directly to them or we select a default rate plan based on their currency. So in configuring the rate plan, you make choices such as whether you want to vary the rate by region, whether you want to vary it based on state. So compute can be billed just for being in existence or you can vary the rate based on it being powered on or being in use and so on. And then the end product of all of this, let me pull up sample bill here. So the invoice might look something like this. I've got usage categorized by project. So this customer has a project called admin. Maybe they have another project rolled up. This customer, they don't. And then by category of resource billing for floating IPs on a X per month basis, billing for compute on an hourly basis, storage, I should have an example billing for ports networks. This is a catch all example. It's got everything in here. But volumes, for example, billing on a gigabyte month basis. Yeah, here's an example. I have no volume that I'm billing on a gigabyte month basis adding this up. In addition to this, there's support for taxes, discounting, promo codes, customization of this invoice, adding things like payment terms and so on. For an enterprise use case, that can be presented as a report. For a service provider use case, that's an invoice. And then we can take it further with payment processing. We integrate with PayPal, Stripe, other credit card processors, and it can actually complete the payment processing cycle as well and collect payment for that invoice. Finally, I want to take the last couple of minutes and just talk about our API. So our product has a complete REST API around it. Everything that you saw me doing in our user interface is available for you through the API. So things like, let's say you use OpenBook for producing the invoice, but you want to take, you have an existing billing system in place, or you want to present that detail in another dashboard or another reporting framework. So connecting into our API, I won't run the invoices call, but I'll take a look at the unbuilt charges here. Just a standard REST API, if I query this, this documentation is built, the API documentation is built into the application itself. So if you navigate to the slash API doc path, you can see it here. Let me log back in so I have an active credential. So I can test the API directly through here. I can see what the required parameters are. I can see what format the data comes back in. And if you were to take this curl call here, you could just invoke that directly, add the authentication, just a user parameter, and that's the exact same call that you would run to do this against the system externally. Last thing I wanted to touch on was some of the capacity reporting functionality. So the usage information that we collect from OpenStack clearly provides all the history that we need and the detail that we need for billing, but that same detail is also useful and interesting from a reporting perspective for capacity and usage. And so looking at what your available capacity and what your trends are over time, things like looking at what your allocation of VMs is across all your hosts. So this view is showing me all the compute hosts in my environment and taking the over commit ratios that I have is giving me a sense of what my available capacity looks like. So everything that's red is more than 80% utilized. Everything that's yellow is between 60 and 80. Everything that's green is less than 60% utilized. I can do some simple what if kind of stuff here. And so here I'm saying, what if I change my CPU allocation ratio to one to four? What impact does it have on available capacity in my environment? What does my available capacity look like in terms of RAM? And so when it renders here by default, it's picking up the allocation ratios. So in this environment, I have one to one and a half. Well, what happens if I make this one to one? What impact does that have on available capacity? Looking at detail by host and extracting this detail to feed into other reporting, for example. So here's a list of all the hosts in my environment and what their percent CPU RAM and disk utilization is at the present time. And then finally, having some visibility into just trends over time. So looking across all, all right, well, the live demo is only going to take me so far. But looking at available capacity and usage as trends over time, some good detail there as well. Okay, perfect timing. We're intelligent. We're in this booth right over from the core OS folks. Stop by, ask us any questions. We're happy to answer your questions in more detail. Thank you for your time.