 Hi again Red Hat Developers, this is Jason with the Red Hat Developers Program. I'm here at day two of Summit 2017 in the Dev Zone with Devin Phillips who's going to take us from zero to clustering in seconds with Eclipse Vertex. Thank you very much for the introduction Jason. So as you can see from the slide, clustering is easy, it's not something that most people would say, but I'm going to show you that with Eclipse Vertex we can go from zero to clustering with just a few command line flags and actually build a scalable, highly available application in just a few moments. So I'm Devin Phillips, I'm with Open Innovation Labs inside of Red Hat and I have been a Vertex user and contributor for four years and I hope to show you some of the really cool features. So Vertex clustering basics has two steps. Add clustering options to start up, start your application, you're done. What, really? So this is what I added to my MavenPOM file to enable clustering and you'll see here that we have some arguments that launch our JAR file, we add the cluster flag, we add the cluster host flag with this local nodes IP address and these extra options are to make it easier to cluster when you have multiple interfaces. So if you only have a single interface connected to a wired ethernet, you don't need any of these extra options. By default it will not cluster on the loopback interface unless you tell it to and so what this actually equates to is running the application from the command line looks like that. So you don't change anything in your application code and a Vertex application will cluster on a local network segment. There are also options with the InfinisPan clustering manager that will tie it into Kubernetes so if you're deploying an OpenShift container platform it's really simple to get your Vertex applications up and clustering within OCP. So let's look at an example here. I have a very simple Vertex vertical here, all it does is set a timer that fires a method every approximately two seconds with a little random variation and that timer sends a message on the event bus and we log that message to the console. What does that look like when we run it? Well we just say maven compile Vertex colon run and after a few seconds what you'll see is every two seconds on the console you'll see hello and a UUID. The UUID is generated uniquely every time we start the application. Now let's restart that application in cluster mode. So we'll say exact exact dash D cluster dot IP is going to be my IP address so let me grab that and we launch the application and for the most part you won't see anything different in the initial startup. You see a couple more messages around Infinispan but then the application starts saying hello with the UUID. Let's drop over to another console here and let's do maven exact exact dash D cluster dot IP equals my local IP address and we'll launch another instance of this application on local hosts. This will work on your local network segment on multiple hosts as well. So what you'll notice when this one gets going we'll start to see two different UUIDs and of course the demo gods have frowned upon me again. Oh that's right because I'm trying to use a public IP on an isolated network so I'm actually going to switch over to the loop back address, start up a second instance and here in just a few moments we should see two different instances with two different IDs and we do we can fire up as many instances as we want. Now that is clustering made easy. It doesn't get much simpler than that to build out a cluster. This code is available on GitHub so if you are interested scan this QR code it will take you to my public repo there's a very nice read me that explains how to set this up and how to use it for your own projects. Questions? Alright thank you very much for your time and have a great day at Summit.