• Post category:StudyBullet-14
  • Reading time:15 mins read


Learn & Build Microservices with Java, Spring Boot, Spring Cloud, Docker, Kubernetes, Okta, Spring Security, CI/CD, GCP

What you will learn

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

How to build production ready microservices using Β Spring, SpringBoot, Spring Cloud and Cloud Platforms

Orchestrate microservices with KUBERNETES

Create containers for microservices with DOCKER

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

Microservices Security using OAuth2 and Okta

Implementing CI/CD Pipelines for Microservices deployment

Deploying Microservices to Google Cloud Platform

Implementing Distributed tracing & Log aggregation in microservices

Unit Testing for all layers in Microservices

Description

Do you want to Learn to Build an Amazing REST API with Spring Boot? Do you want to learn what the Hype about Microservices is all about? Do you want to Build Microservices with Spring Boot and Spring Cloud? Do you want to Build Containers with Docker? Do you want to orchestrate Microservices with Kubernetes? Look no further!


Get Instant Notification of New Courses on our Telegram channel.

Noteβž› Make sure your π”ππžπ¦π² cart has only this course you're going to enroll it now, Remove all other courses from the π”ππžπ¦π² cart before Enrolling!


  1. What is microservices architecture and how is it different from monolithic and SOA architectures
  2. How to build production-ready microservices using Spring, SpringBoot, and Spring Cloud
  3. Configuration management in microservices using Spring Cloud Config Server
  4. Service Discovery and Registration pattern inside microservices and how to implement using Spring Eureka server
  5. Building resilient microservices using the RESILIENCE4J framework
  6. Handling Cross-cutting concerns and routing inside microservices using Spring Cloud Gateway
  7. Implementing Distributed tracing & Log aggregation in microservices using Spring Sleuth and Zipkin
  8. Role of Docker in microservices and how to build docker images, containers
  9. Most commonly used Docker commands
  10. Role of Kubernetes in microservices as a container orchestration framework.
  11. How to setup a Kubernetes cluster and deploy microservices inside it
  12. The most commonly used Kubernetes commands
  13. Microservices Security using OAuth2 and Okta
  14. Unit testing for all layers in Microservices
  15. CI/CD Pilepile with Jenkins for the deployment of Microservices
  16. GCP Cloud Platform as a Cloud provider for deploying Microservices to Cloud using CI/CD Pipeline

The pre-requisite for the course is basic knowledge of Java, and interest in learning.

English
language

Content

Introduction – Microservices with Spring Boot

Introduction
Course Repo Details

Introduction to Spring Boot

What is Spring Boot?
What is Dependency Injection?
Spring Initializr
Setting up IDE for Spring Boot Project
Creating First Hello World API
Spring Boot Starters Project
Understanding Spring Boot Magic
Embedded Servers
Exploring Spring Boot Actuator
Exploring Spring Boot DevTools

Introduction to Web Services

Introduction to Web Services
What is Web Service?
How Webservices work?

RESTful Web Services with Spring Boot

What is REST?
Creating a Hello World Service
Enhancing Hello World Service to Return an Object
Working with the Path Variables
Working with Request Params
Implementing POST method to Create Employee Resource
Implementing GET Method for Employee Resource
Implementing GET Method for Employee by Id
Implementing Exception Handling – 404 Resource Not Found
Implementing Generic Exception Handling for All Resources
Implementing DELETE Method to delete a Employee Resource
Content Negotiation – Implementing Support for XML and JSON
Implementing Data Filtering for RESTful Services
API Versioning

Spring Data JPA with Spring Boot

What is JPA with REST API?
Setting up JPA and Different Classes
Create Employee POST methods with JPA
Get Employee Data from DB with JPA
Delete Employee Data from DB using JPA
Converting H2 DB to MYSQL DB

Introduction to Microservices

All about Microservices

Microservices Implementation

Overview of Implementing Microservice Architechture
What is Service Registry?
Creating Product Service
Implementing Create Product API
Implementing Get Product API
Exception Handling in Product Service
Creating Service Registry
Implementing Service Registry Client in Product Service
Creating Order Service Application with packages and Classes
Creating Place Order API with Basic data saving
Implement Service registry Client in Order Service
How to handle repetitive configurations
Config Server Repo
Creating Config Server
Adding Config Client in Order and Product Service
Implementing ReduceQuantity API in Product Service
Testing reduceQuantity API
Feign Client Introduction
Calling ReduceQuantity API from placeOrder Service using Feign Client
Implementing ErrorDecoder to handle Exceptions
Adding ExceptionHandler in OrderService
Installing Zipkin via Docker
Adding Distributed Log Tracing (Zipkin and Slueth)
Creating Payment Service Application
Implementing doPayment API in Payment Service
Calling doPayment API with Feign Client from placeOrder
Implementing GetOrder Details in Order Service
Fetching Product data for getOrder details API
Fetching Payment details for getOrder detials API
Introduction to API Gateway
Implementing API Gateway Service
What is Circuit Breaker
Implementing Circuit Breaker in API gateway
Implementing Circuit Breaker in Order Service
Implementing Rate Limiter in API Gateway using Resilience 4j and Redis

Spring Security with Microservices

Intro to Spring Security
Okta Registration and Configuration
Adding Security in API Gateway
Implement Authenticate Login API
Adding Security in Order Service
Adding Interceptors
Adding Security in Product Service
Adding Security in Payment Service
Testing Spring Security
Okta Configuration

Unit Testing of Microservices

Overview of Unit Testing
Congifure Order Service for Testing
Creating Test Class for Service layer
Create a Test Method with Mocking
Test Verify and Assertions
Testing GetOrderDetails Failure Scenario
Testing PlaceOrder Success Scenario
Testing PlaceOrder Failure Scenario
Checking Coverage
Overview of Testing Controller
Creating OrderControllerTest Class
Adding Dependencies in Controller Test
Implementing Setup Methods
PlaceOrder Test Success Scenario
PlaceOrder Forbidden Scenario
GetOrder Success Scenario
GetOrder Failure Scenario

Docker with Microservices

Docker Overview
What is Docker?
What is Docker Container?
Install Docker
Docker Vs Virtual machine
Docker Repo Details
Main Docker Commands
Debugging in Docker
Deleting All docker Resources
Building Docker Images
Running Docker Images
Containerizing Config Server
Containerizing Cloud Gateway
Publishing Docker Images
Docker Compose Overview
Docker Compose File Part-1
Docker Compose File Part-2
Docker Compose Health Checks
Docker Maven JIB Plugin

Kubernetes with Microservices

Kubernetes Overview
What is Kubernetes?
Kubernetes Architecture
Kubernetes Components
Installing Kubernete (minikube & kubectl)
Kubernetes Main Commands
Kubernetes YAML Configuration
Kubernetes Namespace
Kubernetes Services
Kubernetes Ingress Service
Kubernetes Statefulsets
Kubernetes Volumes
Kubernetes Health Probes
Planning out Architecture
Kubernetes Repo
App Preparation
Service Registry Configuration
Config Server Configuration
Cloud Gateway Configuration
Other Microservices Configuration
MySQL Configuration
MySQL Config for other Services
Zipkin Configuration
Redis Configuration
Deploying Resources in K8s Cluster
Kubernetes as Service Registry Overivew
Removing Eureka Client
Service Related Changes
Building Images
Removing Service Registry from k8s Files
Deploying to K8s Cluster

Implementing CI/CD Pipeline

CI/CD Section Overview
What is CI/CD and High level changes
Converting to Mono Repo
Google Cloud Platform Setup
Creating Artifact Registry
Creating VM Instances
Installing Jenkins
Installing Jenkins
Enabling Network for Jenkins
Setting up Jenkins
Setting K8s Cluster and Other Jenkins settings
Creating Config Server JenkinsFile
Creating Config Server Pipeline and deployment
Creating Common Resources Deployment Pipeline
Creating CloudGateway Jenkins Pipeline
Creating Order, Product, and Payment Servie Jenkins Pipeline
Deployment in Google Kubernetes Engine
Adding Jacoco Plugin
Installing SonarQube Commands
Installing Sonarqube
Setting Sonar with Jenkins
Adding Sonar Checks in Pipeline