 Hello and welcome everyone to DevNation 2023 and in particular welcome everyone to this first track or the first session which is about intelligent apps. My name is Manfred, I am a sales specialist for application services and middleware for Red Hat and my responsibility is the EMEA market and I will be your host and you are moderated today for the first session. We will have three presentations in that session and you will receive an email after the event with the details where you can find the slides, the recordings and all sorts of other materials for those three presentations and in fact for all presentations and labs that were given during DevNation. If you have any questions feel free to post them in the comment section on the platform and then either I will address them directly or I will hand them over at the end of the presentation to our speaker to address those questions. And with that I would say let's start with the first presentation. Our first speaker is Noe. Noe is a backend engineer at Red Hat and she currently works in the Scalpati and with that I'm handing over to you Noe and kick it away. Thank you Manfred. So this presentation is going to be like an explanation on how to install Scalper step by step and create a topology of a virtual application network. So just to give a little bit of context, Scalper is a service interconnect that operates in the Layer 7 and allowed hybrid cloud communications across different providers, OpenShift, AWS, or AWS, etc. There's no need for VPNs. That like I mentioned before creates a virtual application network I'm going to call the VAM from now on and that are managed by the routers that operate inside the Scalper. So Scalper has inside a router that is the principal component that sends messages between sites and that's the way that the Scalper can communicate different services in different clusters. So this is the basic use case. So typically in a microservice architecture we have several microservices and several databases that communicates one with each other. But the challenging comes when part of those microservices are located in different clusters because for legal reasons they have to be in private data centers or pricing or you name it. So we can make the communication easier with Scalper instead of having to configure VPN or any firewall rules. So this is the agenda for today. So we are going to saw Scalper in different clusters. We are going to show the cluster console as well. We are going to see how to create the tokens and how to connect those sites. We're going to see how to expose the services through Scalper, look the status and also how to see the events or all that sort of information that is useful to see what's going on in the band. So this is our starting point. We want to connect three sites. One of them is public and has three microservices. The other one is also public and has a diverse microservices and one of them is private. So let's install that. So in this case for the public we are using an IBM cloud that is located in Frankfurt. We have already three deployments and for the public and the private we are going to use two sessions of Minikube. Okay, now we have all the deployments there up and running. Okay, and now we are going to start in Scalper. So Scalper deploys a router and a service controller in a particular name and space. Some features of this post can be customized like CPU, memory usage, or so on. We can also update the console that is going to help to visualize this topology better. So we go again to the terminal. We hit Scalper in it, minus, minus, help. We could see here all the customization options that we have but for this case we are going to just hit Scalper in it. And the private we are going to also install Scalper in it without customizing any further. And in the public cluster we are going to enable the console. We are saying that the authentication is going to be internal and we are going to pass a user and a password. We guarantee here that we have our previous deployments. We have a Scalper router and the Scalper service controller that is going to synchronize all the services in all the sites. So at this point we have a Scalper but it is not connected with anything. So for that we are going to create the tokens that implies generating YAML finds with the target site certificates. These tokens expire after a short period of time and can be revoked and by default they are single use. After that we can establish a link between two sites using that token within the sites that we want to connect. And after that we can see the link status to see if we are already connected or not. So going back to the terminal we are going to create the token. I'm going to specify that two sites are going to use this token because if not this token cannot be used. So I'm going to specify that. It cannot be used twice that I wanted to say. So here we want to create another token and now we are going to create a link. We use the token that we have created to the public site. Last we are going to create two links here. One to the to the public one that it is in IBM cloud and the other mining queue session. So now we hit Scalper link status. We can see that this site, the private, is connected, has two links that are connected. What happens if we hit here Scalper link status? So there's no links configured here because here only we have created the token but we can see the incoming links with an option status. So we see that we are receiving two links, one from the private one site that is this one and another one from the public two site here. Okay, let's continue. Now we have the three sites connected and we have our deployments in Kubernetes or in OpenShift but they're not exposed by Scalper. So when we expose a service in Scalper this is going to be synchronized in all the other sites. So from the point of view of any service, any other service connected to the band is local to them. So it's like they are in the same site. So let's do that. In this case I have a script for this but I'm going to show you what it has inside. So the command for exposed deployments in Scalper is like this. We select the deployment that we want to expose for Scalper, the others that we want to use support the protocol HTTP2 or TCP and the target port. So let's accept this and we are going to expose as well in the public to cluster all the deployments that we have in this Kubernetes. Okay, we can see meanwhile the service that we have here, Scalper service status. Okay, so we can see that in this site we have all of these services but the targets only, they are only the ones that we deploy actually in this site, in this Kubernetes. But for the rest of the services that were exposed through other Scalper sites are locally accessible. So it's like they are in the same site. But they are in the target is in any other sites. Okay, so let's go back to the presentation. So the Scalper status, sorry for this, the Scalper status shows as well the sites connected directly or indirectly the numbers that were exposed in general in all the fun and the console URL if we configured that, if you remember we configured it in one of the sites. So we have seen the Scalper service status command, but the Scalper status command is the one that says that Scalper is enabled for this space that is connected to other sites, the private and the public too. And in total we have exposed 10 services. So we have, if we go to the public to site and we can see that the name space is public too, that it is connected as well to other sites and it has 10 exposed services. And we have here the console to the, sorry, the URL to the console. So if we open the link, so the console as I said before is showing a visual information about the topology of the fun and provides also observability of the data flow within the process. So let's go to see this console. So I pasted it before the URL. We set up user and password before. So we see that we have all the components here, all the processes here. We can see the topology, all the addresses that we have that we have available, the sites, the components that is all the images that are running and the processes that is one per replica. So let me check something first. So I don't know what is not refreshing correctly all the topology, but just to give you an idea, you can see how the, let's use, let's see if the application is working properly. So we are going here to the, we have the front end of the application exposing in a load balancer, an external load balancer. So let's try if the application was, if it is working correctly. Okay, seems like it is working correctly. Okay, it's strange. Let me refresh the services. Okay, let's see if it's working again. Okay, meanwhile, yeah, we have, this is the result of the demo that we have three sites connected through a scalper. We have two links from the private to the public one to the public two and one from the public two to the public one. Let's see. So let's see if, okay, now we have all the, all the sites here. We can see all the components here. We can see the interactions between the components. Let me see. Okay, so let's see if the scalper is, okay. So the last thing that I want to show you is that we can revoke access to the links. We can destroy all the links that we have. And we can debug events also in the scalper or all the things that we have created in the scalper. So really quick. Let's go here. We can hit the scalper with the access. And if we hit here, scalper, near the stages, we can see that the link to the public one is not connected. So the links were disabled from the public one. And if we hit a scalper, debug events, we can see all the events that are happening inside the scalper and to see all the objects that are created in Kubernetes. If we search for scalper service, we can see here all the resources that were created in Kubernetes by scalper. So that's the finish. The takeaways are that with the scalper, your application can expand multiple cloud providers that send to some regions. There's no VPNs required. There are several ways to check the status and to follow you of the band. So in this last URL, you have all the steps to do this demo. And hopefully you don't have problems like me with the deployments. And this is the title of the project, the web page, the Google groups to ask any questions. That's it. I hope you have enjoyed this presentation. All right. No, I thank you so much for this presentation. We're a little bit short on time, but there is one question in the chat. And I'll just read it out to you. A question by Andy. Does scalper update the Kubernetes DNS entries in the connected namespaces across the clusters? The services that the scalper creates to connect all the different deployments are created by scalper and synchronized, yes, in all the Kubernetes sites. Excellent. Thank you so much. Okay, with that, we would like to wrap up this first presentation. Thank you very much, Noe. Like I said at the beginning, you will receive an email later on in a couple of days with all the information about where to get the slides, recordings, and all sorts of other links and resources that have been used. Okay. Thanks, Noe. Thank you.