Course Overview
This course requires you to download Docker Desktop from docker website. If you are a Udemy Business user, please check with your employer before downloading software.
'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,
What is microservices architecture and how it is different from monolithic and SOA architectures
How to build production ready microservices using Java, Spring, SpringBoot and Spring Cloud
How to document microservices using Open API Specification and Swagger
How to right size microservices and identify service boundaries
Role of Docker in microservices and how to build docker images, containers
Role of Docker compose and how to use it to run all the microservices inside a application
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
Handling Cross cutting concerns and routing inside microservices using Spring Cloud Gateway
Building resilient microservices using RESILIENCE4J framework
Implementing observability and monitoring using Prometheus, Loki, Promtail, Tempo and Grafana
Securing microservices using OAuth2, OpenID connect and Spring Security
How to build event driven microservices using RabbitMQ, Kafka, Spring Cloud Functions and Spring Cloud Stream
Role of Kubernetes in microservices as a container orchestration framework.
How to setup a Kubernetes cluster inside GCP using Google Kubernetes Engine and deploy microservices inside it
What is Helm & it's role in microservices world
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.
FAQ
FAQ area empty
Course curriculum
-
Introduction to the course & Agenda
384 Xem trước -
Details of Source Code, PDF Content & other instructions for the course
Xem trước -
Evolution of Microservices architecture
1047 Xem trước -
Comparisons between Monolithic, SOA & Microservices architecture
442 Xem trước -
Definition of Microservices
111 Xem trước
-
How to build microservices
239 -
Introduction to SpringBoot framework
472 -
Funny memes of SpringBoot framework
265 Xem trước -
Introduction to REST APIs & best practices
436 Xem trước -
IntelliJ IDEA Ultimate
-
Creating a Spring Boot project
757 -
Creating Hello World REST API using @RestController
489 -
Configuring H2 DB & YAML properties
885 -
IMPORTANT : Issue related to Lombok in IntelliJ IDEA
-
Writing Spring Data JPA entities & repositories to interact with DB tables
1070 -
Introduction to DTO (Data Transfer Object) pattern
395 -
Creating DTOs inside accounts microservice
559 -
CREATE API inside accounts microservice - Part 1
999 -
CREATE API inside accounts microservice - Part 2
1327 -
READ API inside accounts microservice
894 -
UPDATE API inside accounts microservice
577 -
DELETE API inside accounts microservice
479 -
Handle all types of runtime exceptions using global logic inside accounts
292 -
Perform input data validations inside accounts microservice
889 -
Update audit columns using Spring Data
451 -
Introduction to documentation of REST APIs using springdoc openapi
663 -
Enhancing documentation of REST APIs using @OpenAPIDefinition
489 -
Enhancing documentation of REST APIs using @Tag, @Operation, @ApiResponse
465 -
Enhancing documentation of REST APIs using @Schema & example data - Part 1
555 -
Enhancing documentation of REST APIs using @Schema & example data - Part 2
263 -
Important Annotations & Classes that supports building REST services
408 -
Assignment to build Loans & Cards microservices
217 -
Deep dive and demo of Loans microservice
991 -
Deep dive and demo of Cards microservice
612
-
Introduction to challenges while building, deploying microservices
552 -
What are Containers & how they are different from VMs
683 -
Definition of Containers, Containerization, Docker
659 -
Introduction to Docker components & its architecture
424 -
Docker installation & docker hub introduction
438 -
Introduction to the three approaches for Docker image generation
202 -
Generate Docker Image of Accounts microservice with Dockerfile - Part 1
622 -
Generate Docker Image of Accounts microservice with Dockerfile - Part 2
462 -
Generate Docker Image of Accounts microservice with Dockerfile - Part 3
434 -
Running accounts microservice as a Docker container
937 -
Challenges with Dockerfile approach to generate a Docker image
281 -
Generate Docker Image of Loans microservice with Buildpacks
730 -
Generate Docker Image of Cards microservice with Google Jib
718 -
Compare Dockerfile, Buildpacks, Jib approaches
396 -
Pushing Docker images from your local to remote Docker hub repository
508 -
Introduction to Docker Compose
754 -
Running all microservice containers using Docker Compose command
297 -
Demo of docker compose commands
178 -
Deep dive on Docker commands
645 -
Introduction to Docker extensions and LogsExplorer
191 -
Funny memes of Docker
395
-
Introduction to Cloud-native applications
275 -
Important characteristics of cloud-native applications
329 -
Differences between cloud-native Apps & Traditional enterprise Apps
205 -
Introduction to 12-factor & 15-factor methodologies
283 -
Deepdive on 15-factor methodology - Part 1
904 -
Deepdive on 15-factor methodology - Part 2
753 -
Deepdive on 15-factor methodology - Part 3
895
-
Introduction to Configurations Management challenges inside microservices
414 -
How Configurations work in Spring Boot
606 -
Reading configurations using @Value annotation
806 -
Reading configurations using Environment interface
423 -
Reading configurations using @ConfigurationProperties
769 -
Introduction to Spring Boot profiles
326 -
Demo of Spring Boot profiles inside accounts microservice
605 -
Externalizing configurations using command-line, JVM & environment options
361 -
Activating the profile using command-line, JVM & environment options
579 -
Assignment to make SpringBoot profile changes inside loans & cards microservices
127 -
Demo of Spring Boot profile changes inside loans & cards microservices
512 -
Drawbacks of externalized configurations using SpringBoot alone
390 -
Introduction to Spring Cloud Config
393 -
Building Config Server using Spring Cloud Config
602 -
Reading configurations from the class path location of Config Server
687 -
Updating Accounts Microservice to read properties from Config Server
571 -
Updating Loans & Cards Microservice to read properties from Config Server
324 -
Reading configurations from a file system location
308 -
Reading configurations from a GitHub repository
701 -
Encryption & Decryption of properties inside Config server
532 -
Refresh configurations at runtime using refresh actuator path
1061 -
Refresh configurations at runtime using Spring Cloud Bus
945 -
Refresh config at runtime using Spring Cloud Bus & Spring Cloud Config monitor
929 -
Updating Docker Compose file to adapt Config Server changes - Part 1
735 -
Introduction to Liveness and Readiness probes
613 -
Updating Docker Compose file to adapt Config Server changes - Part 2
692 -
Optimizing Docker Compose file
517 -
Generating Docker images and pushing them into Docker Hub
407 -
Testing Config Server changes end to end using Docker compose & default profile
737 -
Preparing Docker Compose files for QA & prod profiles
365
-
Brief introduction about microservices traffic
295 -
Introduction to the Service Discovery & Registration inside microservices
307 -
Why not traditional load balancers for Microservices
689 -
Service Discovery & Registration inside microservices
358 -
How Client side Service Discovery & Load-balancing works
799 -
Spring Cloud support for Service Discovery & Registration
507 -
Setup Service Discovery agent using Eureka server
872 -
Make code changes in Accounts microservice to connect Eureka Server
662 -
Make code changes in Loans & Cards microservice to connect Eureka Server
413 -
De-registration from Eureka server when microservices shutdown
331 -
Demo of heartbeats mechanism to Eureka server from clients
202 -
Feign Client code changes to invoke other microservices - Part 1
655 -
Feign Client code changes to invoke other microservices - Part 2
1138 -
Eureka Self-Preservation mode to avoid network trap issues
775 -
Generating Docker images with Service Discovery changes & push them into Dock
355 -
Updating Docker Compose file to adapt Service Discovery changes
389 -
Starting all the microservices using docker compose file
478 -
Demo of Client Side Service Discovery & Load balancing
360 -
IMPORTANT NOTE ON GRAALVM
-
Challenges while dealing external communication in microservices
299 -
Why we need a Edge Server or API Gateway inside microservices
585 -
Introduction to Spring Cloud Gateway
353 -
Deep dive on Spring Cloud Gateway internal architecture
457 -
Building Edge Server using Spring Cloud Gateway
696 -
Demo of Edge Server with default routing configs
580 -
Make changes inside Gateway server to accept service names with lower case
147 -
Implementing Custom Routing using Spring Cloud Gateway
722 -
Demo of addResponseHeader filter
422 -
Implementing Cross cutting concerns Tracing & Logging using Gateway - Part 1
792 -
Implementing Cross cutting concerns Tracing & Logging using Gateway - Part 2
852 -
Design patterns around API Gateway
579 -
Generating and pushing Docker images with Spring Cloud Gateway changes
402 -
Updating Docker Compose file to adapt Spring Cloud Gateway changes
540
-
Introduction to the need of Resiliency inside microservices
543 -
Typical use case or scenario for the need of Resiliency
269 -
Deepdive on Circuit Breaker pattern
440 -
Three states of Circuit Breaker pattern
290 -
Implementing Circuit Breaker pattern in Gateway - Part 1
1026 -
Implementing Circuit Breaker pattern in Gateway - Part 2
330 -
Implementing Circuit Breaker pattern with Feign Client - Part 1
582 -
Implementing Circuit Breaker pattern with Feign Client - Part 2
441 -
Http timeout configurations
628 -
Introduction to Retry pattern
253 -
Implementing Retry pattern in Gateway
648 -
Implementing Retry pattern in accounts - Part 1
786 -
Implementing Retry pattern in accounts - Part 2
528 -
Introduction to Rate Limitter pattern
291 -
Introduction to Redis RateLimiter in Gateway Server
572 -
Implementing Redis RateLimiter in Gateway Server
590 -
Implementing RateLimiter pattern in accounts
500 -
Introduction to Bulkhead pattern
415 -
Aspect order of Resiliency patterns
150 -
Demo of Resiliency patterns using Docker containers & Docker compose
445
-
Introduction to Observability And Monitoring Of Microservices
348 -
Observability vs. Monitoring
568 -
Introduction to centralized logging or Log Aggregation in microservices
296 -
Introduction to managing logs with Grafana, Loki & Promtail
410 -
IMPORTANT NOTE ON PROMTAIL
-
Sample demo of logging using Grafana, Loki & promtail - Theory
339 -
Implementing logging using Grafana, Loki & promtail - Part 1
975 -
Implementing logging using Grafana, Loki & promtail - Part 2
409 -
Implementing logging using Grafana, Loki & promtail - Part 3
801 -
Managing metrics & monitoring with Actuator, Micrometer, Prometheus & Grafana
512 -
Setup of micrometer inside microservices
431 -
Setup of prometheus inside microservices
471 -
Demo of Prometheus
599 -
Demo of Prometheus & Grafana integration
222 -
Demo of Grafana inbuilt & custom Dashboards
571 -
Create Alerts & Send notifications using Grafana - Approach 1
679 -
Create Alerts & Send notifications using Grafana - Approach 2
458 -
Introduction to Distributed Tracing in microservices
587 -
Introduction to OpenTelemetry
368 -
Implement OpenTelemetry changes inside microservices
559 -
Implementing Tracing using Grafana, Tempo & OpenTelemetry - Part 1
448 -
Implementing Tracing using Grafana, Tempo & OpenTelemetry - Part 2
294 -
Implementing Tracing using Grafana, Tempo & OpenTelemetry - Part 3
331 -
Navigating to Tempo from Loki logs
304 -
Conclusion of Observability and Monitoring
173
-
Introduction to Microservices Security
329 -
Problems that OAuth2 solves
568 -
Introduction to OAuth2
324 -
OAuth2 jargons or terminologies or roles
523 -
What is OpenID Connect & why it is important
541 -
Introduction to IAM products & why KeyCloak
214 -
Deep dive of Client Credentials grant type flow
462 -
Securing Gateway server using Client Credentials grant type flow - Theory
631 -
Setup Auth server using KeyCloak
314 -
Register client details inside KeyCloak for Client credentials grant flow
318 -
Getting Access token from Auth Server in Client credentials grant flow
482 -
Securing Gateway server as a Resource server - Part 1
827 -
Securing Gateway server as a Resource server - Part 2
450 -
Implement Authorization inside Gateway server using Roles - Part 1
686 -
Implement Authorization inside Gateway server using Roles - Part 2
258 -
Deep dive of Authorization Code grant type flow
731 -
Securing Gateway server using Authorization Code grant type flow - Theory
398 -
Register client & end user inside KeyCloak for Authorization code grant flow
425 -
Demo of Authorization code grant type flow
547 -
Demo of Microservices Security using Docker containers & Docker compose - Part 1
361 -
Demo of Microservices Security using Docker containers & Docker compose - Part 2
737
-
Introduction to Event-driven microservices
458 -
Introduction to Event-driven models
206 -
What we are going to build using a pub sub model
361 -
Introduction to RabbitMQ
451 -
Why to use Spring Cloud Function
584 -
Develop message microservice using Spring Cloud Functions - Part 1
365 -
Develop message microservice using Spring Cloud Functions - Part 2
574 -
Develop message microservice using Spring Cloud Functions - Part 3
598 -
Why to use Spring Cloud Stream
490 -
Update message & accounts microservices to stream & process the events - Part 1
869 -
Demo of Async communication or event streaming using Rabbit MQ - Part 1
707 -
Update message & accounts microservices to stream & process the events - Part 2
849 -
Demo of Async communication or event streaming using Rabbit MQ - Part 2
244 -
Demo of Async comm or event streaming using Docker containers & Docker compose
513
-
Introduction to the challenges related to container orchestration
520 -
Introduction to Kubernetes
330 -
Deep dive on Kubernetes internal architecture
875 -
Setup a local Kubernetes cluster using Docker Desktop
603 -
Deploying the Kubernetes Dashboard UI
1326 -
Deep dive on Kubernetes YAML configurations to deploy a microservice
1017 -
Deploying ConfigServer into Kubernetes Cluster
401 -
Create environment variables inside Kubernetes Cluster using ConfigMap
440 -
Preparing Kubernetes manifest files for remaining microservices
569 -
Deploying remaining microservices into Kubernetes Cluster
710 -
Automatic Self healing inside Kubernetes cluster
361 -
Automatic Rollout & Rollback inside Kubernetes cluster
806 -
Introduction to Kubernetes Service types
670 -
Demo of Kubernetes Service types
410 -
Problems with manually created Kubernetes manifest files
348
-
Introduction to Helm & the problems that it solves
605 -
Installing Helm
335 -
IMPORTANT NOTE ON BITNAMI IMAGES & HELM CHARTS
-
Installing a sample Helm Chart
694 -
Understanding Helm Chart structure
503 -
Creating our own Helm chart & template files
1020 -
Creating Helm chart for Accounts microservice
669 -
Creating Helm charts for other microservices
421 -
Creating Helm charts for Dev, QA and Prod environment
521 -
Demo of helm template command
334 -
Install KeyCloak in Kubernetes Cluster using Helm Chart
730 -
Install Kafka in Kubernetes Cluster using Helm Chart
442 -
Install Prometheus in Kubernetes Cluster using Helm Chart
366 -
Install Grafana Loki & Tempo in Kubernetes Cluster using Helm Chart
344 -
Install Grafana in Kubernetes Cluster using Helm Chart
421 -
Install eazybank microservices in Kubernetes Cluster using Helm Chart
612 -
Demo of helm upgrade command
324 -
Demo of helm history and rollback commands
219 -
Demo of helm uninstall command
270 -
Quick revision of important helm commands
214
-
Introduction to Server-side service discovery and load balancing
472 -
How to setup discovery server in K8s cluster using spring cloud kubernetes
658 -
Install spring cloud kubernetes discovery server in K8s cluster
250 -
Making Kubernetes Discovery Client changes in microservices - Part 1
570 -
Making Kubernetes Discovery Client changes in microservices - Part 2
345 -
Updating Helm charts for Kubernetes Discovery Server changes
699 -
Demo of Server-side service discovery and load balancing
322
-
Kubernetes support by Cloud providers
175 -
Set up Google Cloud account & install Google Cloud SDK
481 -
Create a Kubernetes cluster in Google Cloud
198 -
Installing all our microservices and supporting components in Google Cloud K8s
596 -
Demo of eazybank microservices using Google Cloud Kubernetes Cluster
563 -
Validate Grafana components in Google Cloud Kubernetes Cluster
255 -
Deleting the Google Cloud Kubernetes Cluster
287
-
Quick introduction to Kubernetes Ingress
223 -
Deep dive on Kubernetes Ingress & Ingress Controller
660 -
Benefits of Kubernetes Ingress & the kind of traffic it handles
453 -
Introduction to Service Mesh & it's capabilities
700 -
Introduction to Service mesh components
415 -
Introduction to mTLS & deep dive on how TLS works
888 -
How does mTLS works
695
-
Optimizing Microservices Development with Spring Boot BOM - Part 1
221 -
Optimizing Microservices Development with Spring Boot BOM - Part 2
540 -
Optimizing Microservices Development with Spring Boot BOM - Part 3
819 -
Optimizing Microservices Development with Spring Boot BOM - Part 4
455 -
Shared Libraries in Microservices - Part 1
414 -
Shared Libraries in Microservices - Part 2
533
Requirment
-
Java
-
Basics of Spring framework
Outcomes
-
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
0 Student
1 Course
0 review