Microservices Development using Spring Boot

Lorem ipsum is a dummy or placeholder text commonly used in graphic design, publishing, and web development to fill empty spaces

32 Hours Instructor Led Live Classroom Training

Course Objectives
  • Understanding the fundamentals of REST and its relationship with HTTP
  • Designing resource URIs and using HTTP methods for CRUD operations
  • Understanding idempotence in HTTP methods and how to implement it
  • Understanding the Richardson Maturity Model and HATEOAS
  • Developing RESTful APIs using Spring Boot and Spring MVC Rest
  • Implementing exception handling, internationalization, content negotiation, and versioning in RESTful APIs
  • Connecting RESTful services using Spring Data with Hibernate/JPA
  • Understanding the basics of SOA, microservices, and cloud computing
  • Building RESTful services with Service Registry, Webclient, and Resilience4J
  • Implementing security in RESTful services with Basic Authentication and OAuth2
  • Monitoring and tracking RESTful services using ELK stack and Zipkin
  • Understanding Domain-Driven Design (DDD) and applying strategic and tactical patterns using Spring Boot Data
  • Implementing Saga and CQRS patterns for distributed transactions and event-driven systems
  • Developing reactive RESTful services with Spring WebFlux
  • Containerizing RESTful API apps using Docker
  • Deploying RESTful services to Kubernetes and understanding Kubernetes architecture and concepts
Course Content
RESTful API Overview
  • Spring RESTful API complete example
SOA and Microservices
  • SOA Overview
  • Microservice Overview
  • Spring Boot and Microservices
Microservices and Cloud
  • Cloud Services : IaaS, PaaS, Saas
  • Cloud Native Applications
RESTful service with Service Registry
  • Introduction to Naming Server
  • Setting up Eureka Naming Server
    • Connecting a service to Eureka
RESTful service with Webclient & Resilience4J
  • Introduction to reactive programming
  • RestTemplate vs Webclient
  • Prevent failure cascades using Resilience4J, Circuit Breaker, Rate limiter, Retry & Bulkhead
Using “Twelve-Factor App” Style Configuration
  • Understand “Twelve-Factor App” configuration
  • Read external configuration & Support multiple environments using Spring profiles
  • Spring Cloud Configuration Server
  • Refresh configuration without restarting your application
Securing the RESTful services
  • Implementing Basic Authentication with Spring Security
  • Single sign-on with OAuth2
Distributed logging, Monitoring and Tracking
  • Introduction to ELK stack & Zipkin
  • Collecting and analyzing logs using ELK stack
  • Distributed tracing using Zipkin
Domain Driven Design
  • Strategic Patterns (Domain, Sub-domain, Bounded Context)
  • Tactical Patterns (Entity, Value Object, Aggregate, Repositories)
  • Using Spring Boot Data - CrudRepository/JpaRepository
Saga & CQRS Patterns
  • How to implement distributed transactions?
  • what are events and commands?
  • When and how to apply?
Spring WebFlux
  • Introduction to reactive programming
  • RestTemplate vs Webclient
Dockerize Rest API App
  • Containerization
  • Setup the Dockerfile, Build the docker image
Getting Started with  Kubernetes
  • Creating Kubernetes Cluster
  • Kubernetes Concepts - Pods, Replica Sets and Deployment
  • Understanding Services in Kubernetes
  • Understanding Kubernetes Architecture - Master Node and Nodes
  • Build Docker Image and Push to Docker Hub for Hello World Rest API
  • Deploy Spring Boot Sample Rest API to Kubernetes