 Okay, in this video, we're going to be talking about an overview of the Spring Boot microservices that we are going to be using for our Kubernetes By Example course. So these are, I have three Spring Boot microservices. I originally developed these for my course up on Udemy Spring Boot microservices with Spring Cloud for Beginner Guru, I know kind of a mouthful for the course title there. But it does cover specifically the development microservices using Spring Boot and also number of features specifically of Spring Cloud. We're not going to be using everything in that. So we are modifying these. This is the basis of these services. The services themselves mimic the operation of a brewery. So kind of a neat little project that we have here to work with. Data is going to be persisted to MySQL database using JPA, Hypernet as the implementation. And then we're going to be using JMS for messaging between the services. So let's take a closer look at these three services that we have in play here. The beer inventory service. So this is going to be holding information about inventory levels. So this is going to expose a REST API to get inventory information. And then the service also uses JMS messaging. So we are increasing inventory from being notified of a brewing operation. So if we brew beer, inventory goes up. Then we decrease inventory from orders being allocated. And again, these are two different JMS messages that the services consumes. The beer service itself, that is going to hold information about the different beers that our brewery at Air Quotes is brewing. It expose a REST API for a credit operation against different beers that we are holding within our system. We are using JMS messaging to say, hey, we brew beers to increase inventory. That sends out a message consumed by the inventory service to increase inventory. And then we also have a scheduled job that wakes up, checks the inventory balances, and creates brewing jobs at Air Quotes to increase inventory. Now next is the beer order service. This is going to hold information about beer orders. Again, this is going to provide a REST API about order operations. And then also this is going to be using JMS messaging to Air Quotes allocate beer orders. This has a very important service called the tasting room service. This is a scheduled job to order beers from our tasting room at our hypothetical brewery. This, of course, is going to drive down inventory. As inventory goes down, we trigger brewing to increase inventory. So the key takeaway I want you to have here is that the beer order service is generating orders. This creates demand in the system. So this demand is requesting allocations from the inventory service, which is in turn reducing inventory. This triggers the beer service to Air Quotes brew beer, adding to inventory. So what this gives us is seeing the trio of services working in conjunction because we do have the REST APIs involved, as well as the JMS messaging. We can see and monitor log traffic to actually see activity in the system. So that tasting room service, real key takeaway I want you to have here is the tasting room service, which is within the beer order service is creating demand on the system, which is going to get all the trio of services working together, a very important concept here. Now finally, the inventory failover service. This is a failover common microservice pattern to provide a failover. So if things go away in our hypothetical situation here, we wanted to always have Air Quotes inventory. So if our inventory service goes down, the inventory failover service is always going to return an on hand quantity of 999. So this just gives us a positive value of inventory. In our hypothetical situation here, we want to always be able to serve as an order. So if we need an order, we want to be showing that there is on hand inventory available. So in the original configuration, this was designed for a non Kubernetes environment, kind of a generic environment that we set up. We are using Spring Cloud Gateway in front of the services. Eureka for service discovery, Spring Cloud config for configuration services. And then we can see that the three services are deployed, each with their own MySQL backend and then also ActiveMQ for our JMS broker. And then of course, we have our inventory failover service, which is completely standalone. It doesn't have a database that just needs to provide back a positive response. Now, some of the changes that we are making for a Kubernetes environment, we're not going to be using Eureka Kubernetes is going to be using for service discovery. So we are removing that from the whole config, Spring Cloud config. We're also not using that. We're going to use Kubernetes to manage these environment properties. Then I'm also going to be moving the services to use a single MySQL instance. This is really just for simplicity. The focus on this course is actually deploying on Kubernetes itself. We're now talking about constructing Spring Boot microservices or proper microservice developments. So I'm taking a few liberties here just for our simplicity sake. The configuration would apply if you want to set up multiple MySQL databases you could and that's nothing stopping you. But for simplicity here, we're just going to be using one MySQL database. And then also, again, for simplicity, all the code examples I'm putting into a single GitHub repository, we will use a multi-module Maven build. And I will be giving you access to all this source code so you can fully see all these examples. And again, this is for simplicity in a real microservices environment. We would be, of course, using independent source code repositories. So just a heads up, I'm just making a couple, like coloring outside lines of commonly accepted things for microservices just for pragmatic sake. So to take a look at our actual Kubernetes configuration, so we will be using a gateway that gateway will expose the different services. So the beer service order service inventory service, we will also be setting up the inventory failover. Again, we will be using Kubernetes for service discovery. We do need to have our services, so we will be using MySQL, ActiveMQ for JMS, those will be all exposed. And we will be deploying this entire thing under Kubernetes. Coming up in the course, the additional lessons, of course, we will be detailing each step here to take these into a Kubernetes environment.