0:00 Welcome to the cloud, Spring 6:30 What’s a microservice 14:06 Microservices with Spring 24:34 Cloud and microservice-based applications 34:56 Why the cloud and microservices 43:26 Core microservice development pattern 52:10 Microservice logging and tracing patterns 1:01:27 Exploring the microservices world with Spring Cloud 1:13:39 Spring Cloud by example 1:22:51 Codebase 1:30:12 Dev_prod parity 1:38:32 Getting started with the skeleton project 1:47:49 Building microservices with Spring Boot 1:55:59 Establishing service granularity 2:04:11 When not to use microservices 2:14:29 Building the doorway into the microservice - The Spring Boot controller 2:23:54 Adding internationalization into the licensing service 2:31:38 The DevOps story - Building for the rigors of runtime 2:39:49 Service registration and discovery - How clients communicate with your microservices 2:48:42 Welcome to Docker 2:55:52 What is Docker 3:03:13 Integrating Docker with our microservices 3:10:07 Creating Docker images with Spring Boot 3:18:49 Controlling your configuration with the Spring Cloud Configuration Server 3:28:59 Building our Spring Cloud Configuration Server 3:35:52 Setting up the Spring Cloud Config bootstrap class 3:45:54 Integrating Spring Cloud Config with a Spring Boot client 3:52:46 Configuring the licensing service to use Spring Cloud Config 4:02:52 Directly reading properties using @ConfigurationProperties 4:12:51 Vault UI 4:21:59 On service discovery 4:31:18 Service discovery in the cloud 4:39:40 Service discovery in action using Spring and Netflix Eureka 4:50:12 Registering services with Spring Eureka 5:00:19 Using service discovery to look up a service 5:08:18 Invoking services with a Load Balancer–aware Spring REST template 5:15:17 When bad things happen - Resiliency patterns with Spring Cloud and Resilience4j 5:24:28 Why client resiliency matters 5:34:50 Setting up the licensing service to use Spring Cloud and Resilience4j 5:46:50 Fallback processing 5:55:37 Implementing the retry pattern 6:02:33 ThreadLocal and Resilience4j 6:10:05 Service routing with Spring Cloud Gateway 6:18:07 Introducing Spring Cloud Gateway 6:24:43 Configuring routes in Spring Cloud Gateway 6:32:53 The real power of Spring Cloud Gateway - Predicate and Filter Factories 6:40:23 Building the pre-filter 6:48:14 UserContextFilter - Intercepting the incoming HTTP request 6:56:23 Securing your microservices 7:07:09 Starting small - Using Spring and Keycloak to protect a single endpoint 7:15:56 Configuring O-stock users 7:21:47 Protecting the organization service using Keycloak 7:29:59 Propagating the access token 7:39:07 Some closing thoughts on microservice security 7:46:22 Event-driven architecture with Spring Cloud Stream 7:57:24 Using messaging to communicate state changes between services 8:08:58 Writing a simple message producer and consumer 8:20:49 Writing the message consumer in the licensing service 8:27:48 A Spring Cloud Stream use case - Distributed caching 8:35:07 Using Redis to cache lookups 8:41:50 Distributed tracing with Spring Cloud Sleuth and Zipkin 8:52:27 Log aggregation and Spring Cloud Sleuth 9:02:51 Defining and running ELK Stack applications in Docker 9:10:12 Searching for Spring Cloud Sleuth trace IDs in Kibana 9:20:02 Configuring a Zipkin server 9:27:45 Visualizing a more complex transaction 9:35:57 Deploying your microservices 9:44:59 The architecture of a build_deployment pipeline 9:51:35 Setting up O-stock’s core infrastructure in the cloud 10:02:07 Beyond the infrastructure - Deploying O-stock and ELK 10:08:55 Creating an EKS cluster 10:15:15 Creating an EKS cluster 10:22:38 Your build_deployment pipeline in action 10:29:11 Enabling our services to build in Jenkins 10:37:24 Understanding and generating the pipeline script 10:46:22 Microservices architecture best practices 10:57:53 OAuth2 grant types 11:04:37 Authorization grant type 11:14:54 Monitoring your microservices 11:22:47 Implementing Micrometer and Prometheus
Hide player controls
Hide resume playing