 Hello everyone, my name is Jafar and in the following video I will be showing you how to deploy hybrid apps on OpenShift. So first thing what's a hybrid app in our context? It's basically an application composed of several components, some of which are containers and others are virtual machines, traditional virtual machines running on OpenShift. And this is leveraging the new feature of OpenShift virtualization that allows you to run natively traditional VMs on top of OpenShift aside the containers. So that means that the VM is being seen as a first-class resource of OpenShift and it's been using the networking and storage that I offered by default with OpenShift. So in our case the Windows VM will be exposing a service that allows us to communicate with the MS SQL server and that's what the containerized application will be using to communicate with the database. So let's have a look at the demo. So this is the developer perspective that comes with the OpenShift 4.5 and as you can see here I have both the containerized application and the virtual machine showing up in the UI. So they are really considered as first-class citizen of OpenShift. So now if I wanted to have more info on the VM I can just select it here and I can see that indeed it is exposing the SQL server service and I have also another one which is the RDP if I wanted to access the VM from a remote desktop application. So let's have a look at the VM and I can see here that it is using some disks which are basically persistent volumes attached to the VM and I also have a very nice console that I can use to directly access the VM from here. So this is very convenient to have both my VM and my containerized application within the same working environment. So I can see here on the left side that I have the pods so I can access my .NET pod from here but I don't see anything showing the virtual machines and with OpenShift 4.5 we added a very nice feature that allows you to customize the left side menu. So what I'm going to do here I'm just going to look for virtual machines and say that I want to add it to the navigation and there it is. I can now access my virtual machines or my pods as a shortcut to the resources that I use the most. So now let's have a look at the application itself. This is a simple .NET application that connects to the SQL server and we're going to use a new entry here or let's say OpenShift virtualization rocks and there we go. So how do I check that this has indeed been stored into the DB that runs within the VM? So let's get back to my VM here and check the service. So not only is it exposing the service for this 1433 port to access the SQL server from within the OpenShift cluster but I also exposed a node port to make it available from outside of the cluster and this is what I'm going to use. I'm currently using the Azure Data Studio to connect over the internet to the remote SQL server that runs within the virtual machine on OpenShift. And here I can browse the data and there I have my customers table. I'm going to edit the data from here and let's make a change and check that it's reflected in the application. There we go. We see that we have the modification. So that's it. As a wrap up we've seen how we can deploy a hybrid app composed of both containerized components and virtual machines. These virtual machines are really considered as first class citizen and the way we did that is we created a custom resource definition of type virtual machine and we can manage it as any other component that runs natively on OpenShift. So thank you very much. I hope you enjoyed the demo and keep in touch.