Mô tả

'Master Microservices with SpringBoot,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,


  1. What is microservices architecture and how it is different from monolithic and SOA architectures

  2. How to build production ready microservices using  Java, Spring, SpringBoot and Spring Cloud

  3. How to document microservices using Open API Specification and Swagger

  4. How to right size microservices and identify service boundaries

  5. Role of Docker in microservices and how to build docker images, containers

  6. Role of Docker compose and how to use it to run all the microservices inside a application

  7. What are cloud native apps & 15 factor methodology behind them

  8. Configuration management in microservices using Spring Cloud Config Server

  9. Service Discovery and Registration pattern inside microservices and how to implement using Spring Eureka server

  10. Handling Cross cutting concerns and routing inside microservices using Spring Cloud Gateway

  11. Building resilient microservices using RESILIENCE4J framework

  12. Implementing observability and monitoring using Prometheus, Loki, Promtail, Tempo and Grafana

  13. Securing microservices using OAuth2, OpenID connect and Spring Security

  14. How to build event driven microservices using RabbitMQ, Kafka, Spring Cloud Functions and Spring Cloud Stream

  15. Role of Kubernetes in microservices as a container orchestration framework.

  16. How to setup a Kubernetes cluster inside GCP using Google Kubernetes Engine and deploy microservices inside it

  17. What is Helm & it's role in microservices world

  18. Most commonly used Docker, Kubernetes and Helm commands


The pre-requisite for the course is basic knowledge of Java, Spring and interest to learn microservices.

Bạn sẽ học được gì

What is microservices architecture and how it is different from monolithic and SOA architectures

How to build production ready microservices using Java, Spring, Spring Boot and Spring Cloud

What are cloud native apps & 15 factor methodology 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 observability and monitoring using Prometheus, Loki, Promtail, Tempo and Grafana

Securing microservices using OAuth2, OpenID connect and Spring Security

Role of Docker in microservices and how to build docker images, containers

Role of Kubernetes in microservices as a container orchestration framework

How to build event driven microservices using RabbitMQ, Kafka, Spring Cloud Functions and Spring Cloud Stream

Helm

Yêu cầu

  • Java
  • Basics of Spring framework

Nội dung khoá học

20 sections

Introduction to Microservices Architecture

5 lectures
Introduction to the course & Agenda
06:24
Details of Source Code, PDF Content & other instructions for the course
00:57
Evolution of Microservices architecture
17:27
Comparisons between Monolithic, SOA & Microservices architecture
07:22
Definition of Microservices
01:51

Building microservices using Spring Boot

27 lectures
How to build microservices
03:59
Introduction to SpringBoot framework
07:52
Funny memes of SpringBoot framework
04:25
Introduction to REST APIs & best practices
07:16
Creating a Spring Boot project
12:37
Creating Hello World REST API using @RestController
08:09
Configuring H2 DB & YAML properties
14:45
Writing Spring Data JPA entities & repositories to interact with DB tables
17:50
Introduction to DTO (Data Transfer Object) pattern
06:35
Creating DTOs inside accounts microservice
09:19
CREATE API inside accounts microservice - Part 1
16:39
CREATE API inside accounts microservice - Part 2
22:07
READ API inside accounts microservice
14:54
UPDATE API inside accounts microservice
09:37
DELETE API inside accounts microservice
07:59
Handle all types of runtime exceptions using global logic inside accounts
04:52
Perform input data validations inside accounts microservice
14:49
Update audit columns using Spring Data
07:31
Introduction to documentation of REST APIs using springdoc openapi
11:03
Enhancing documentation of REST APIs using @OpenAPIDefinition
08:09
Enhancing documentation of REST APIs using @Tag, @Operation, @ApiResponse
07:45
Enhancing documentation of REST APIs using @Schema & example data - Part 1
09:15
Enhancing documentation of REST APIs using @Schema & example data - Part 2
04:23
Important Annotations & Classes that supports building REST services
06:48
Assignment to build Loans & Cards microservices
03:37
Deep dive and demo of Loans microservice
16:31
Deep dive and demo of Cards microservice
10:12

How do we right size our microservices & identify boundaries

3 lectures
Approaches to identify boundaries & right size microservices
13:04
Sizing & identifying boundaries with a Bank App use case
06:05
Sizing & identifying boundaries with a ecommerce migration use case
08:02

Handle deployment, portability & scalability of microservices using Docker

21 lectures
Introduction to challenges while building, deploying microservices
09:12
What are Containers & how they are different from VMs
11:23
Definition of Containers, Containerization, Docker
10:59
Introduction to Docker components & its architecture
07:04
Docker installation & docker hub introduction
07:18
Introduction to the three approaches for Docker image generation
03:22
Generate Docker Image of Accounts microservice with Dockerfile - Part 1
10:22
Generate Docker Image of Accounts microservice with Dockerfile - Part 2
07:42
Generate Docker Image of Accounts microservice with Dockerfile - Part 3
07:14
Running accounts microservice as a Docker container
15:37
Challenges with Dockerfile approach to generate a Docker image
04:41
Generate Docker Image of Loans microservice with Buildpacks
12:10
Generate Docker Image of Cards microservice with Google Jib
11:58
Compare Dockerfile, Buildpacks, Jib approaches
06:36
Pushing Docker images from your local to remote Docker hub repository
08:28
Introduction to Docker Compose
12:34
Running all microservice containers using Docker Compose command
04:57
Demo of docker compose commands
02:58
Deep dive on Docker commands
10:45
Introduction to Docker extensions and LogsExplorer
03:11
Funny memes of Docker
06:35

Deep Dive on Cloud Native Apps & 15-Factor methodology

7 lectures
Introduction to Cloud-native applications
04:35
Important characteristics of cloud-native applications
05:29
Differences between cloud-native Apps & Traditional enterprise Apps
03:25
Introduction to 12-factor & 15-factor methodologies
04:43
Deepdive on 15-factor methodology - Part 1
15:04
Deepdive on 15-factor methodology - Part 2
12:33
Deepdive on 15-factor methodology - Part 3
14:55

Configurations Management in Microservices

30 lectures
Introduction to Configurations Management challenges inside microservices
06:54
How Configurations work in Spring Boot
10:06
Reading configurations using @Value annotation
13:26
Reading configurations using Environment interface
07:12
Reading configurations using @ConfigurationProperties
12:49
Introduction to Spring Boot profiles
05:26
Demo of Spring Boot profiles inside accounts microservice
10:05
Externalizing configurations using command-line, JVM & environment options
06:01
Activating the profile using command-line, JVM & environment options
09:39
Assignment to make SpringBoot profile changes inside loans & cards microservices
02:07
Demo of Spring Boot profile changes inside loans & cards microservices
08:32
Drawbacks of externalized configurations using SpringBoot alone
06:30
Introduction to Spring Cloud Config
06:33
Building Config Server using Spring Cloud Config
10:02
Reading configurations from the class path location of Config Server
11:27
Updating Accounts Microservice to read properties from Config Server
09:31
Updating Loans & Cards Microservice to read properties from Config Server
05:24
Reading configurations from a file system location
05:08
Reading configurations from a GitHub repository
11:41
Encryption & Decryption of properties inside Config server
08:52
Refresh configurations at runtime using refresh actuator path
17:41
Refresh configurations at runtime using Spring Cloud Bus
15:45
Refresh config at runtime using Spring Cloud Bus & Spring Cloud Config monitor
15:29
Updating Docker Compose file to adapt Config Server changes - Part 1
12:15
Introduction to Liveness and Readiness probes
10:13
Updating Docker Compose file to adapt Config Server changes - Part 2
11:32
Optimizing Docker Compose file
08:37
Generating Docker images and pushing them into Docker Hub
06:47
Testing Config Server changes end to end using Docker compose & default profile
12:17
Preparing Docker Compose files for QA & prod profiles
06:05

Using MySQL Database inside microservices

5 lectures
Create MySQL DB containers for microservices
18:30
Update microservices code to replace H2 DB with MySQL DB
14:58
Update docker compose file to create & use MySQL DB
14:53
Running microservices & MySQL DB containers using docker compose file
07:51
Demo of Docker network concept
07:05

Service Discovery & Service Registration in microservices

19 lectures
Brief introduction about microservices traffic
04:55
Introduction to the Service Discovery & Registration inside microservices
05:07
Why not traditional load balancers for Microservices
11:29
Service Discovery & Registration inside microservices
05:58
How Client side Service Discovery & Load-balancing works
13:19
Spring Cloud support for Service Discovery & Registration
08:27
Setup Service Discovery agent using Eureka server
14:32
Make code changes in Accounts microservice to connect Eureka Server
11:02
Make code changes in Loans & Cards microservice to connect Eureka Server
06:53
De-registration from Eureka server when microservices shutdown
05:31
Demo of heartbeats mechanism to Eureka server from clients
03:22
Feign Client code changes to invoke other microservices - Part 1
10:55
Feign Client code changes to invoke other microservices - Part 2
18:58
Eureka Self-Preservation mode to avoid network trap issues
12:55
Generating Docker images with Service Discovery changes & push them into Dock
05:55
Updating Docker Compose file to adapt Service Discovery changes
06:29
Starting all the microservices using docker compose file
07:58
Demo of Client Side Service Discovery & Load balancing
06:00
IMPORTANT NOTE ON GRAALVM
00:18

Gateway, Routing & Cross cutting concerns in Microservices

13 lectures
Challenges while dealing external communication in microservices
04:59
Why we need a Edge Server or API Gateway inside microservices
09:45
Introduction to Spring Cloud Gateway
05:53
Deep dive on Spring Cloud Gateway internal architecture
07:37
Building Edge Server using Spring Cloud Gateway
11:36
Demo of Edge Server with default routing configs
09:40
Make changes inside Gateway server to accept service names with lower case
02:27
Implementing Custom Routing using Spring Cloud Gateway
12:02
Demo of addResponseHeader filter
07:02
Implementing Cross cutting concerns Tracing & Logging using Gateway - Part 1
13:12
Implementing Cross cutting concerns Tracing & Logging using Gateway - Part 2
14:12
Generating and pushing Docker images with Spring Cloud Gateway changes
06:42
Updating Docker Compose file to adapt Spring Cloud Gateway changes
09:00

Making Microservices Resilient

20 lectures
Introduction to the need of Resiliency inside microservices
09:03
Typical use case or scenario for the need of Resiliency
04:29
Deepdive on Circuit Breaker pattern
07:20
Three states of Circuit Breaker pattern
04:50
Implementing Circuit Breaker pattern in Gateway - Part 1
17:06
Implementing Circuit Breaker pattern in Gateway - Part 2
05:30
Implementing Circuit Breaker pattern with Feign Client - Part 1
09:42
Implementing Circuit Breaker pattern with Feign Client - Part 2
07:21
Http timeout configurations
10:28
Introduction to Retry pattern
04:13
Implementing Retry pattern in Gateway
10:48
Implementing Retry pattern in accounts - Part 1
13:06
Implementing Retry pattern in accounts - Part 2
08:48
Introduction to Rate Limitter pattern
04:51
Introduction to Redis RateLimiter in Gateway Server
09:32
Implementing Redis RateLimiter in Gateway Server
09:50
Implementing RateLimiter pattern in accounts
08:20
Introduction to Bulkhead pattern
06:55
Aspect order of Resiliency patterns
02:30
Demo of Resiliency patterns using Docker containers & Docker compose
07:25

Observability and monitoring of microservices

25 lectures
Introduction to Observability And Monitoring Of Microservices
05:48
Observability vs. Monitoring
09:28
Introduction to centralized logging or Log Aggregation in microservices
04:56
Introduction to managing logs with Grafana, Loki & Promtail
06:50
IMPORTANT NOTE ON PROMTAIL
00:36
Sample demo of logging using Grafana, Loki & promtail - Theory
05:39
Implementing logging using Grafana, Loki & promtail - Part 1
16:15
Implementing logging using Grafana, Loki & promtail - Part 2
06:49
Implementing logging using Grafana, Loki & promtail - Part 3
13:21
Managing metrics & monitoring with Actuator, Micrometer, Prometheus & Grafana
08:32
Setup of micrometer inside microservices
07:11
Setup of prometheus inside microservices
07:51
Demo of Prometheus
09:59
Demo of Prometheus & Grafana integration
03:42
Demo of Grafana inbuilt & custom Dashboards
09:31
Create Alerts & Send notifications using Grafana - Approach 1
11:19
Create Alerts & Send notifications using Grafana - Approach 2
07:38
Introduction to Distributed Tracing in microservices
09:47
Introduction to OpenTelemetry
06:08
Implement OpenTelemetry changes inside microservices
09:19
Implementing Tracing using Grafana, Tempo & OpenTelemetry - Part 1
07:28
Implementing Tracing using Grafana, Tempo & OpenTelemetry - Part 2
04:54
Implementing Tracing using Grafana, Tempo & OpenTelemetry - Part 3
05:31
Navigating to Tempo from Loki logs
05:04
Conclusion of Observability and Monitoring
02:53

Microservices Security

21 lectures
Introduction to Microservices Security
05:29
Problems that OAuth2 solves
09:28
Introduction to OAuth2
05:24
OAuth2 jargons or terminologies or roles
08:43
What is OpenID Connect & why it is important
09:01
Introduction to IAM products & why KeyCloak
03:34
Deep dive of Client Credentials grant type flow
07:42
Securing Gateway server using Client Credentials grant type flow - Theory
10:31
Setup Auth server using KeyCloak
05:14
Register client details inside KeyCloak for Client credentials grant flow
05:18
Getting Access token from Auth Server in Client credentials grant flow
08:02
Securing Gateway server as a Resource server - Part 1
13:47
Securing Gateway server as a Resource server - Part 2
07:30
Implement Authorization inside Gateway server using Roles - Part 1
11:26
Implement Authorization inside Gateway server using Roles - Part 2
04:18
Deep dive of Authorization Code grant type flow
12:11
Securing Gateway server using Authorization Code grant type flow - Theory
06:38
Register client & end user inside KeyCloak for Authorization code grant flow
07:05
Demo of Authorization code grant type flow
09:07
Demo of Microservices Security using Docker containers & Docker compose - Part 1
06:01
Demo of Microservices Security using Docker containers & Docker compose - Part 2
12:17

Event Driven microservices using RabbitMQ,Spring Cloud Functions & Stream

14 lectures
Introduction to Event-driven microservices
07:38
Introduction to Event-driven models
03:26
What we are going to build using a pub sub model
06:01
Introduction to RabbitMQ
07:31
Why to use Spring Cloud Function
09:44
Develop message microservice using Spring Cloud Functions - Part 1
06:05
Develop message microservice using Spring Cloud Functions - Part 2
09:34
Develop message microservice using Spring Cloud Functions - Part 3
09:58
Why to use Spring Cloud Stream
08:10
Update message & accounts microservices to stream & process the events - Part 1
14:29
Demo of Async communication or event streaming using Rabbit MQ - Part 1
11:47
Update message & accounts microservices to stream & process the events - Part 2
14:09
Demo of Async communication or event streaming using Rabbit MQ - Part 2
04:04
Demo of Async comm or event streaming using Docker containers & Docker compose
08:33

Event Driven microservices using Kafka, Spring Cloud Functions & Stream

6 lectures
Apache Kafka Vs RabbitMQ
04:18
Introduction to Apache Kafka
15:27
Producer and Consumer side stories
09:43
Installation of Apache Kafka
04:38
Implement & Demo of Async communication or event streaming using Kafka
11:06
Demo of Async comm or event streaming using Docker containers & Docker Compose
09:35

Container Orchestration using Kubernetes

15 lectures
Introduction to the challenges related to container orchestration
08:40
Introduction to Kubernetes
05:30
Deep dive on Kubernetes internal architecture
14:35
Setup a local Kubernetes cluster using Docker Desktop
10:03
Deploying the Kubernetes Dashboard UI
22:06
Deep dive on Kubernetes YAML configurations to deploy a microservice
16:57
Deploying ConfigServer into Kubernetes Cluster
06:41
Create environment variables inside Kubernetes Cluster using ConfigMap
07:20
Preparing Kubernetes manifest files for remaining microservices
09:29
Deploying remaining microservices into Kubernetes Cluster
11:50
Automatic Self healing inside Kubernetes cluster
06:01
Automatic Rollout & Rollback inside Kubernetes cluster
13:26
Introduction to Kubernetes Service types
11:10
Demo of Kubernetes Service types
06:50
Problems with manually created Kubernetes manifest files
05:48

Deep dive on Helm

19 lectures
Introduction to Helm & the problems that it solves
10:05
Installing Helm
05:35
Installing a sample Helm Chart
11:34
Understanding Helm Chart structure
08:23
Creating our own Helm chart & template files
17:00
Creating Helm chart for Accounts microservice
11:09
Creating Helm charts for other microservices
07:01
Creating Helm charts for Dev, QA and Prod environment
08:41
Demo of helm template command
05:34
Install KeyCloak in Kubernetes Cluster using Helm Chart
12:10
Install Kafka in Kubernetes Cluster using Helm Chart
07:22
Install Prometheus in Kubernetes Cluster using Helm Chart
06:06
Install Grafana Loki & Tempo in Kubernetes Cluster using Helm Chart
05:44
Install Grafana in Kubernetes Cluster using Helm Chart
07:01
Install eazybank microservices in Kubernetes Cluster using Helm Chart
10:12
Demo of helm upgrade command
05:24
Demo of helm history and rollback commands
03:39
Demo of helm uninstall command
04:30
Quick revision of important helm commands
03:34

Server-side service discovery and load balancing using Kubernetes

7 lectures
Introduction to Server-side service discovery and load balancing
07:52
How to setup discovery server in K8s cluster using spring cloud kubernetes
10:58
Install spring cloud kubernetes discovery server in K8s cluster
04:10
Making Kubernetes Discovery Client changes in microservices - Part 1
09:30
Making Kubernetes Discovery Client changes in microservices - Part 2
05:45
Updating Helm charts for Kubernetes Discovery Server changes
11:39
Demo of Server-side service discovery and load balancing
05:22

Deploying microservices into cloud Kubernetes cluster

7 lectures
Kubernetes support by Cloud providers
02:55
Set up Google Cloud account & install Google Cloud SDK
08:01
Create a Kubernetes cluster in Google Cloud
03:18
Installing all our microservices and supporting components in Google Cloud K8s
09:56
Demo of eazybank microservices using Google Cloud Kubernetes Cluster
09:23
Validate Grafana components in Google Cloud Kubernetes Cluster
04:15
Deleting the Google Cloud Kubernetes Cluster
04:47

Introduction to Kubernetes Ingress, Service Mesh (Istio) & mTLS

7 lectures
Quick introduction to Kubernetes Ingress
03:43
Deep dive on Kubernetes Ingress & Ingress Controller
11:00
Benefits of Kubernetes Ingress & the kind of traffic it handles
07:33
Introduction to Service Mesh & it's capabilities
11:40
Introduction to Service mesh components
06:55
Introduction to mTLS & deep dive on how TLS works
14:48
How does mTLS works
11:35

Thank You & Congratulations

1 lectures
Congratulations & Thank You
02:25

Đánh giá của học viên

Chưa có đánh giá
Course Rating
5
0%
4
0%
3
0%
2
0%
1
0%

Bình luận khách hàng

Viết Bình Luận

Bạn đánh giá khoá học này thế nào?

image

Đăng ký get khoá học Udemy - Unica - Gitiho giá chỉ 50k!

Get khoá học giá rẻ ngay trước khi bị fix.