Master Microservices With Java, Spring, Docker, Kubernetes
Last updated 6/2022
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 5.84 GB | Duration: 23h 36m
Last updated 6/2022
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 5.84 GB | Duration: 23h 36m
Learn & Develop Microservices with Java, Spring Boot, Spring Cloud, Docker, Kubernetes, Helm, Microservices Security
What you'll learn
What is microservices architecture and how it is different from monolithic and SOA architectures
How to build microservices using Spring, SpringBoot
What are cloud native apps & 12 factor principles behind them
Configuration management in microservices using Spring Cloud Config Server
Service Discovery and Registration pattern inside microservices and how to implement using Spring Eureka server
Building resilient microservices using RESILIENCE4J framework
Handling Cross cutting concerns and routing inside microservices using Spring Cloud Gateway
Implementing Distributed tracing & Log aggregation in microservices using Spring Sleuth and Zipkin
Monitoring microservices using Prometheus and Grafana
Role of Docker in microservices and how to build docker images, containers
Role of Kubernetes in microservices as a container orchestration framework
Microservices Security
Helm
Requirements
Java
Basics of Spring framework
Description
'Master Microservices with Spring, Docker, Kubernetes' course will help in understanding about microservices architecture and how to build it using SpringBoot, Spring Cloud components, Docker and Kubernetes. By the end of this course, students will understand all the below topics,What is microservices architecture and how it is different from monolithic and SOA architecturesHow to build production ready microservices using Spring, SpringBoot and Spring CloudWhat are cloud native apps & 12 factor principles behind themConfiguration management in microservices using Spring Cloud Config ServerService Discovery and Registration pattern inside microservices and how to implement using Spring Eureka serverBuilding resilient microservices using RESILIENCE4J frameworkHandling Cross cutting concerns and routing inside microservices using Spring Cloud GatewayImplementing Distributed tracing & Log aggregation in microservices using Spring Sleuth and ZipkinMonitoring microservices using Prometheus and GrafanaRole of Docker in microservices and how to build docker images, containersRole of Docker compose and how to use it to run all the microservices inside a applicationMost commonly used Docker commandsRole of Kubernetes in microservices as a container orchestration framework.How to setup a Kubernetes cluster inside GCP using GKE (Google Kubernetes Engine) and deploy microservices inside itMost commonly used Kubernetes commandsMicroservices Security using OAuth2What is Helm & it's role in microservices worldThe pre-requisite for the course is basic knowledge of Java, Spring and interest to learn.
Overview
Section 1: Introduction to Microservices Architecture
Lecture 1 Introduction to the course & Agenda
Lecture 2 Details of Source Code, PDF Content & other instructions for the course
Lecture 3 Evolution of Microservices architecture
Lecture 4 Deepdive of Monolithic architecture
Lecture 5 Deepdive of SOA architecture
Lecture 6 Deepdive of Microservices architecture
Lecture 7 Comparisons between Monolithic, SOA & Microservices architecture
Lecture 8 Definition of Microservices
Section 2: [Optional] Microservices & Spring (Match Made in Heaven)
Lecture 9 Why Spring is the best framework for building microservices
Lecture 10 Using Spring Boot for microservices development
Lecture 11 Creating a Hello World service using Spring Boot
Lecture 12 Using Spring Cloud for microservices development
Section 3: [Optional] Right sizing Microservices & Identifying boundaries(Challenge 1)
Lecture 13 Approaches to identify boundaries & right sizing for building microservices
Lecture 14 Sizing & identifying boundaries with a Bank App use case
Lecture 15 Sizing & identifying boundaries with a Ecommerce migration use case
Section 4: Getting started with creation of accounts, loans & cards microservices
Lecture 16 Introduction to the microservices that we are going to build
Lecture 17 Creating Bank Accounts Microservices using SpringBoot
Lecture 18 Creating Bank Loans Microservices using SpringBoot
Lecture 19 Creating Bank Cards Microservices using SpringBoot
Section 5: How do we build, deploy, scale our microservices using Docker (Challenge 2)
Lecture 20 Introduction to challenges while building, deploying microservices
Lecture 21 What is Containerization technology?
Lecture 22 Definition of containers
Lecture 23 Introduction to Docker & its architecture
Lecture 24 Understanding Docker Hub & Installing Docker
Lecture 25 Creating Docker image definition using a Dockerfile
Lecture 26 Create Accounts microservice Docker image from the Dockerfile
Lecture 27 Start and deploy Accounts microservice using Docker image & containers
Lecture 28 Deep dive of important Docker commands
Lecture 29 Introduction to Buildpacks
Lecture 30 Creating docker image of Loans microservice using Buildpacks
Lecture 31 Creating docker image of Cards microservice using Buildpacks
Lecture 32 Pushing Docker images from your local to remote Docker hub repository
Lecture 33 Deep dive on docker-compose
Section 6: [Optional] Deep Dive on Cloud Native Apps & 12factors
Lecture 34 Introduction to Cloud-native applications
Lecture 35 Differences between cloud-native Apps & Traditional enterprise Apps
Lecture 36 Twelve factor App Deepdive 1
Lecture 37 Twelve factor App Deepdive 2
Lecture 38 Twelve factor App Deepdive 3
Section 7: Configurations Management in Microservices (Challenge 3)
Lecture 39 Introduction to Configurations Management challenges inside microservices
Lecture 40 Configuration Management architecture inside microservices
Lecture 41 Deep dive of Spring Cloud Config for Configuration management
Lecture 42 Building Config Server service and load all the configurations from classpath
Lecture 43 Reading configurations from a file system location
Lecture 44 Reading configurations from a GitHub repository
Lecture 45 Updating Accounts Microservice to read properties from Config Server
Lecture 46 Updating Loans Microservice to read properties from Config Server
Lecture 47 Updating Cards Microservice to read properties from Config Server
Lecture 48 Generating Docker images after Config Server changes
Lecture 49 Pushing all the latest Docker images with Config server changes to DockerHub
Lecture 50 Updating Docker Compose file to adapt Config Server changes
Lecture 51 Starting all the microservices using docker compose files based on the env
Lecture 52 Refreshing properties with @RefreshScope
Lecture 53 Encryption & Decryption of your properties inside Config server
Section 8: Service Discovery & Registration(Challenge 4)
Lecture 54 Introduction to the Service Discovery & Registration inside microservices
Lecture 55 Why not traditional load balancers for Microservices
Lecture 56 Architecture of Service Discovery inside microservices
Lecture 57 Client Side load balancing between microservices
Lecture 58 Spring Cloud support for Service Discovery & Registration
Lecture 59 Setup Service Discovery agent using Eureka server
Lecture 60 Make changes for Accounts microservice to connect Eureka Server
Lecture 61 Make changes for Loans & Cards microservice to connect Eureka Server
Lecture 62 Degistration from Eureka server when microservices shutdown
Lecture 63 Demo of heartbeats mechanism to Eureka server from clients
Lecture 64 Feign Client to invoke other microservices
Lecture 65 Generating Docker images after Service Discovery changes
Lecture 66 Pushing all the latest Docker images with Eureka changes to Docker Hub
Lecture 67 Updating Docker Compose file to adapt Service Discovery changes
Lecture 68 Starting all the microservices using docker compose file
Lecture 69 Running docker compose with 2 instances of Accounts microservice
Lecture 70 Eureka Self-Preservation mode to avoid network trap issues
Section 9: Making Microservices Resilient (Challenge 5)
Lecture 71 Introduction to the need of Resiliency inside microservices
Lecture 72 Typical use case or scenario for the need of Resiliency
Lecture 73 Deep dive on Circuit Breaker pattern in microservices
Lecture 74 Implementing Circuit Breaker pattern - Part 1
Lecture 75 Implementing Circuit Breaker pattern - Part 2
Lecture 76 Implementing Circuit Breaker pattern - Part 3
Lecture 77 Deep dive on Retry pattern in microservices
Lecture 78 Implementing Retry Pattern in microservices
Lecture 79 Deep dive on Rate Limiter pattern in microservices
Lecture 80 Implementing Rate Limiter Pattern in microservices
Lecture 81 Deep dive on Bulk head pattern in microservices
Section 10: Handling Routing & Cross cutting concerns in Microservices (Challenge 6)
Lecture 82 Introduction to the challenges with Routing & Cross cutting concerns
Lecture 83 Introduction to Spring Cloud Gateway
Lecture 84 Deep dive on Spring Cloud Gateway internal architecture
Lecture 85 Building Spring Cloud Gateway service
Lecture 86 Implementing Custom Routing using Spring Cloud Gateway
Lecture 87 Implementing Cross cutting concern Tracing & Logging using Gateway Server
Lecture 88 Generating and pushing Docker images with Spring Cloud Gateway changes
Lecture 89 Updating Docker Compose file to adapt Spring Cloud Gateway changes
Section 11: Distributed tracing & Log aggregation in Microservices (Challenge 7)
Lecture 90 Introduction to the challenges related to Distributed tracing & Log aggregation
Lecture 91 Introduction to Spring Cloud Sleuth & Zipkin
Lecture 92 Deep dive on Spring Cloud Sleuth & it's tracing format
Lecture 93 Deep dive on Zipkin internal architecture
Lecture 94 Implementing Distributed tracing with Spring Cloud Sleuth
Lecture 95 Implementing Log aggregation with Zipkin Server
Lecture 96 Pushing Sleuth message into RabbitMQ
Lecture 97 Generate, Push Docker images with Sleuth & Zipkin changes
Section 12: Monitoring Microservices Metrics & Health (Challenge 8)
Lecture 98 Introduction to the challenges related to monitoring microservices
Lecture 99 Different approaches to monitor microservices
Lecture 100 Setup of micrometer inside microservices
Lecture 101 Setup of Prometheus to monitor microservices
Lecture 102 Setup of Grafana to monitor microservices with inbuilt dashboards
Lecture 103 Building custom dashboards inside Grafana
Lecture 104 Sending alerts using Grafana when service is down
Section 13: Automatic self-healing, scaling, deployments using Kubernetes
Lecture 105 Introduction to the challenges related to container orchestration
Lecture 106 Introduction to Kubernetes
Lecture 107 Dee dive of Kubernetes internal architecture
Lecture 108 Cloud providers support for Kubernetes
Lecture 109 GCP Account Setup and creating a K8s cluster
Lecture 110 Exploring K8S cluster and establish connection with it
Lecture 111 Deep dive on Kubernetes YAML configurations
Lecture 112 Kubernetes YAML configurations for applicable microservices
Lecture 113 Create environment variables inside K8S cluster using ConfigMap
Lecture 114 Deploying our microservices to Kubernetes cluster
Lecture 115 Validating our microservices deployed into K8s cluster
Lecture 116 Automatic Self healing inside Kubernetes cluster
Lecture 117 Automatic Rollout & Rollback inside Kubernetes cluster
Lecture 118 Logging & Monitoring inside Kubernetes cluster
Lecture 119 Autoscaling inside Kubernetes cluster using HPA
Lecture 120 Deleting Kubernetes cluster inside GCP
Section 14: Deploying all microservices into K8s cluster
Lecture 121 Deploying all the microservices into K8s cluster - Theory
Lecture 122 Creating the K8s yaml config files for all microservices
Lecture 123 How Deployment and Service are tied together inside K8s
Lecture 124 Deploying all the microservices into K8s cluster
Lecture 125 Validating microservices deployed into K8s cluster
Lecture 126 Problems with manually created Kubernetes manifest files
Section 15: Deep Dive on Helm
Lecture 127 Introduction to Helm
Lecture 128 Problems that Helm solves
Lecture 129 Installing Helm
Lecture 130 Creating our first Helm Chart
Lecture 131 Installing the Default Helm chart into K8s cluster
Lecture 132 Exploring the default Helm chart content
Lecture 133 Creating our own Helm template files
Lecture 134 Creating Helm chart for Accounts microservice
Lecture 135 Creating Helm chart for other microservice
Lecture 136 Creating Helm chart for Dev and Prod environment
Lecture 137 Demo of helm template command
Lecture 138 Installing Helm charts into K8s cluster
Lecture 139 Demo of helm upgrade command
Lecture 140 Demo of helm history and rollback commands
Lecture 141 Demo of helm uninstall command
Lecture 142 Revision of important helm commands
Section 16: Securing Microservices using K8s Service
Lecture 143 Problem with Kubernetes LoadBalancer Service
Lecture 144 Problem with Kubernetes LoadBalancer Service-Demo
Lecture 145 Introduction to types of K8s Services
Lecture 146 Deep dive on ClusterIP Service - Theory
Lecture 147 Deep dive on ClusterIP Service - Demo
Lecture 148 Deep dive on NodePort Service - Theory
Lecture 149 Deep dive on NodePort Service - Demo
Lecture 150 Deep dive on LoadBalancer Service - Theory
Lecture 151 Deep dive on LoadBalancer Service - Demo
Section 17: Securing Microservices using OAuth2 client credentials grant flow
Lecture 152 Introduction to securing Spring Cloud Gateway with OAuth2
Lecture 153 Quick intro to OAuth2 framework
Lecture 154 Deep dive on OAuth2 Client Credentials grant flow
Lecture 155 KeyCloak Auth Server installation and setup using Docker command
Lecture 156 Register Client details inside KeyCloak Auth server
Lecture 157 Getting Access token from Auth Server using Client details
Lecture 158 Making code changes inside Spring Cloud Gateway to secure the APIs
Lecture 159 Demo of Spring Cloud Gateway security inside local system
Lecture 160 Generating and Pushing latest docker image of Gateway into Docker Hub
Lecture 161 Installation of KeyCloak into K8s cluster using Helm chart
Lecture 162 Updating Helm charts of microservices
Lecture 163 Deploying all microservices into K8s and validating security changes
Lecture 164 Introduction to Authorization
Lecture 165 Demo of Authorization changes using Spring Security - Part 1
Lecture 166 Demo of Authorization changes using Spring Security - Part 2
Section 18: Securing Microservices using OAuth2 Authorization code grant flow
Lecture 167 Introduction to OAuth2 Authorization code grant flow
Lecture 168 Deep dive of OAuth2 Authorization code grant flow
Lecture 169 Making code changes inside Accounts microservice to secure the APIs
Lecture 170 Register Client details inside KeyCloak Auth server for Spring Cloud Gateway
Lecture 171 Making code changes inside Spring Cloud Gateway
Lecture 172 Demo of OAuth2 Authorization code grant flow inside local system
Lecture 173 Updating Helm charts of microservices
Lecture 174 Deploy all microservices into K8s cluster and demo of Authorization code flow
Section 19: Introduction to K8s Ingress & Service Mesh (Istio)
Lecture 175 Introduction to Kubernetes Ingress
Lecture 176 Introduction to Service mesh
Lecture 177 Deep dive on Service mesh and Istio
Section 20: Thank You & Congratulations
Lecture 178 Thank You & Congratulations
Lecture 179 Bonus lectures
Beginner students who are learning Spring framework and interested in Microservices as well,Developers who already know developing web applications using Spring framework,Java Architects