 Welcome to the 5G Cloud Native Network Boot. I'm your host, Amar Kapadia, and in today's demo, we are going to see how easy it is to onboard 5G Cloud Native Network functions and to orchestrate them onto Kubernetes. The goals of our 5G Cloud Native Network demo are three-fold. First, we are going to onboard 5G Core and NextGen Firewall CNFs using own app code. Next, we are going to orchestrate those same CNFs onto Kubernetes using own app code. Finally, we are going to use a Gnode B and UE emulator to test the 5G Core for end-to-end functionality. First, let us look at what it takes to evolve to a Cloud Native architecture. On the left-hand side, we have a virtual machine-based architecture that many of you may be familiar with. On the right-hand side, you have a Cloud Native architecture. The key differences are that VNFs on the left-hand side or virtual network functions are replaced by CNFs or Cloud Native network functions on the right. The open stack layer on the left is replaced by Kubernetes. We also have a new entity on the right-hand side called CNAs or Cloud Native applications, which are used for edge computing. This shows the high-level demo architecture. Starting from the far left, we see the UE emulator and the Gnode B emulator. These communicate with the 5G Core, which is in the middle, over N1, N2, and N3 interfaces, which are defined by 3GPP. The 5G Core itself consists of numerous microservices. The data path goes over the UPF microservice, and the output of the UPF is the N6 interface, which goes to the next-gen firewall, which in turn connects to the data network. All of these CNFs are running on an OpenShift NFVI cloud. The management and orchestration layer on the top right is code from ONAP, which is running on a separate Kubernetes NFVI cloud, and the two communicate over SDVAN. Today's demo is going to be somewhat simplified. All of this is going to be in one region. It's going to be in the University of New Hampshire interoperably lab. Second, we are not going to show the next-gen firewall. Last slide before we go to the demo. This demo has been put together through massive collaboration by a large number of companies, and this shows you the various companies by the layer that participated in, all the way from the lab infrastructure to the management and orchestration layer. Let's start the demo by looking at the OpenShift Kubernetes cluster. We see only one pod running there. It's a database. So it's virtually empty at this point. Similarly, let's look at the deployments, and we see that there's only one database deployment. Now let's shift over to an experimental GUI for the Kubernetes plugin of the ONAP project, and we will start by creating a project. Let's call the project 5G Core, and the description is it's for 5G Core deployment. Next, we are going to add a cluster provider to this project, and a cluster provider is a class. So it can be OpenShift. It could be Google, Amazon, Microsoft. In this case, it's OpenShift. Now let's add an actual cluster to that cluster provider, and let's call it MTL, and we are going to import a Kubernetes settings file. So the cluster gets registered properly with ONAP, and we added a label called MTL as well. Now let's create a composite app. A composite app is nothing but an app that further constitutes of multiple applications. In this case, we are going to create an NGC app, and in our case, it's a one-to-one relationship. The composite app only has one application underneath, which is basically the 5G Core. So we are going to add the 5G Core application. So we have successfully done that. Now let's add a generic placement intent that applies to the entire composite app. This is generic placement intent for the next-gen Core. And for this, now we can add intents for specific applications within the composite application. Like I said, for us, it's a one-to-one relationship. So this is going to specify the actual intent for the next-gen Core. So here, we are linking the intent to the label that we had provided to the OpenShift cluster, and now we are going to actually deploy the 5G Core. So we are going to deploy the NGC, and the description is NGC app. We are going to add the intent. So we had created the intent previously. Now we can actually associate that intent with the application. So let's go ahead and proceed. And at this point, our 5G Core should be deployed. We are going to do a little bit of a time lapse. Normally, it takes several minutes for the pods to come up, but now you see that all the 5G Core pods, over 30 of them, have come up. Now we are going to go to A-Bot, a G-Node B and UE emulator from a company called Rabaka. And we are going to run two tests. First, we are going to run a connection request test that goes over the N2 interface to the AMF, and that one passed successfully. Now we are going to run a UE authentication test. So let's go ahead and run that. And now you see that the test execution has started, and this test has also executed successfully. The execution has completed. The first test, 12 tests passed. None of them failed for the connection request test. And for the second one, the UE authentication flow, 16 tests passed and none failed. This demo was created in the open source community. So if you enjoyed it, please join us. Phase three of this demo is starting, in which we will add network slicing and the RAN component. We have also provided you with a number of additional resources, which you can review at your leisure. Thank you for joining our demo.