 Let's welcome Madura Meskosky from Platform 9. Thank you, Jonathan. Hey, good morning, everyone. My name is Madura Meskosky, and I'm one of the co-founders and VP of product at Platform 9 Systems. And Platform 9, for those of you who are not familiar, we're an enterprise startup founded in 2013. And we've pioneered a unique model around deployment of open source frameworks, such as OpenStack and Kubernetes, where we deploy them as a SaaS service. Now, the start topic of conversation for today's keynote has been multi-cloud or hybrid deployments with OpenStack. And we've heard of a number of really interesting use cases or examples of this from Jonathan and others. But I'd like to take this conversation one step further. And to do that, I want to start by presenting to you this question that was asked as part of the most recent OpenStack user survey. Now, as you all know, OpenStack Foundation runs a pretty popular user survey about twice a year or so. And the most recent survey was run about a month ago. And this was one of the questions that was asked during the survey. And the question says, what are the top business drivers for OpenStack? Or why do organizations choose OpenStack? And about 92% of responders stated that this is one of the top reasons why they choose OpenStack today. And I'm going to read it out loud for you. It says, standardized on the same open platform and APIs that power a global network of private and public clouds. Pretty powerful, right? So the question that we asked or the experiment that we ran is, what if we could use OpenStack, which is the most powerful and popular open source framework for managing cloud infrastructure? What if we could use it to manage and control not just the private deployments or endpoints, but also the most popular public clouds of the world, such as Azure or AWS or GCE? Or in other words, transforming the OpenStack API layer to be the single unifying interface for multi-cloud management. Now, the benefits of this model are pretty clear to us, right? From an administrator's perspective, it gives them a single pane with the added benefits of unified multi-tenancy and quota management. And finally, for developers, it gives them one API to rule them all. So with that, I'd like to switch context and give you a live demo of this functionality to let you visualize this model in action. So introducing to you OpenStack Omni. OK, so what we have in front of us is a plain vanilla OpenStack Horizon interface. And I have right next to it an Amazon AWS account or deployment. And as you can see, this deployment, this Amazon account is pretty empty, right? There's no objects created in it so far. This OpenStack environment is pretty vanilla as well. So let's start by navigating to networking and creating some networking objects. So I'm going to navigate to the network topology view. It's one of my favorite views in Horizon. And now to save on time, I had pre-created an external network here. And this network maps behind the scenes to Amazon AWS to a block of elastic IP addresses. So the first thing I'm going to do is I'm going to create a private network. Let's call it private net. There we go. Let's create a subnet for it. Private sub. And I'm going to give it a 10-dot slider. And I have a little cheat sheet here to help me out. So this gives me an allocation pool range, which I'm going to copy over here. There we go. So the private network has been created. And great, it just got created. So now I'm going to deploy a router. And let's call it router. And this router is going to map to the external network. So I'm creating the router. The next thing I'm going to do is map this router to that private network that we just deployed. So let's do that by adding an interface. And so I'm going to select this private subnet, and nothing else that I need to specify in there. See, we added a network interface. This all looks great. Let's switch back to AWS now and see what happened behind the scenes. So we started with nothing. I'm going to refresh this view in there. We can see that one VPC got created, a subnet got deployed, and a couple of more objects got created, a routing table, and in that gateway. Let's quickly look at this subnet. So this is that private sub, and it has that 10-dot sider range that we just specified. So far, so good. Now with this networking available, let's go ahead and deploy a new instance. So I'm going to go and there we go. I'm going to launch an instance. Let's say I want to deploy a web server. So I'm going to call it my web server. I'm going to give it a t2.small size, and I'm going to boot it from an image. I'm going to give it a demo AMI image. Now I had preceded this glance catalog deployment with an Amazon AMI image. So let's give it the private network, and let's launch the virtual machine. So what's happening behind the scenes are the newer drivers for AWS are kicking in, and they're routing the calls to the AWS deployment so that a virtual machine gets created on that endpoint. So the virtual machine successfully got launched, and as it's building, let's go ahead and do something else. Now I want to make sure that the VM has sufficient storage space. So I'm going to do that by creating a volume. So let's call it added capacity. I'm going to make it 10 gigabytes and creating a volume in there. So the volume is being created. While that's happening, let's do something else. Let's go to access and security and allocate a new elastic IP address, because I want to make sure my VM has external connectivity. So I'm going to choose that external network and allocate an IP address. Perfect. So the IP got allocated. Let's switch to the volume, which should be created by now, and I'm going to attach this volume, manage attachments. I'm going to select the web server that we just created, attach volume. So the volume is attaching. So it take about a second or so, and again, the request is getting routed to the AWS endpoint. Excellent. We see that the volume got attached. And so as a last step, my VM now has all the capacity it needs. It's got an internal IP. I'm going to map this floating IP address to it. So this is the IP that we just allocated there. I'm going to associate that IP to the VM. Excellent. So the VM now has a floating IP, so I can reach to it from outside. It's got sufficient storage, and it's all looking good. Let's now switch to the EC2 console. And as you saw, we started with nothing. And I'm going to refresh this screen here. And the virtual machine just got created. It got an elastic IP address. A couple of volumes got applied. Let's quickly look at the virtual machine here. So it's got the t2.small size. Got the public IP. In here, we can see an additional block device got mounted on the virtual machine. So I hope this gives you a glimpse into the power of using this model to manage multi-cloud. And with that, I'd like to hand over to Jonathan. Well, that was really interesting to see how an OpenStack tool was used to kind of push other services in AWS and resources. And so that was done using drivers, you mentioned. Correct. Are those drivers available? I know this is kind of an experiment, but are those drivers available for people to go see and look at and play with? Yes. So this effort is fully open sourced, and the drivers are available for people to try out and download today. The repo is github.com platform nine slash openstack-omni. So we're calling this the Omni project. OK. And you were showing off Horizon, but as we heard from CrowdStar, there are other things built on top of OpenStack APIs and other OpenStack services even. Are those things that could be extended to work on top of this as well since we have this basically just a driver underneath that OpenStack API? Yes. So the benefit of building out the core APIs or the core drivers is that all the other services just work on top of them. So the heat orchestration or the Murano application catalog is the next set of work that we're doing, which we think should just work out of the box. Some of the additional work that's part of the pipeline is building integration with S3 for object storage and then doing some interesting things like building cloud-bursting capabilities potentially through Keystone, et cetera. Wow. That was, like I said, when you first showed that to me, something I had never seen before. And thank you for coming and showing that off here today. Excellent. Thank you.