Microservices using Spring Boot Training

Microservices Architecture is one of the approaches for implementing a service oriented architecture. This training helps gain expertise in developing a Microservices Architecture based solution. Application of Microservices principles to specific business requirements to build a scalable & performing solution. After completing this training, you would have gained the knowledge about various Microservices architectural styles, how to select the appropriate architecture design 

3 Days

  • Spring Dependency Injection using XML and Java Configuration, Spring MVc Basics
  • Basic understanding on REST Architectural principles
  • Overview of Spring cloud and its modules
  • Why DiscoveryServer?
  • Client side load balancing
  • How to Create a Eureka Server using @EnableEurekaServer or @EnableDiscoveryServer
  • How to register Eureka Client using @EnableEurekaClient or
  • @EnableDiscoveryClient
  • How to look up a service from Eureka Server
  • Configuring a cluster of eureka servers

LAB : Using Eureka Server and Client LAB : Configuring Eureka cluste

  • Why ClientSide Load Balancing?
  • What is ribbon and how to use spring ribbon?
  • Using LoadBalanced RestTemplate
  • Configuring Retries
  • Using different Load balancing algorithms

LAB : Implementing Client side load balancing using ribbon

  • What is a circuit breaker?
  • Using Hystrix with Ribbon
  • Various Hystrix configurations
  • Hystrix Dashboard for monitoring

LAB : Using Hystrix as circuit breaker

LAB : Using Hystrix Dashboard

  • What is a Feign?
  • Implementing REST Clients in declarative approach
  • Configuring Fallbacks using feign
  • Hystrix configurations when using feign

LAB : Implementing REST Client using Feign

  • Why API Gateway?
  • What is ZUUL ?
  • Disabling access to some services at zuul level
  • Using Zuul Filters

LAB : Using ZUUL to enable Proxying microservices

  • Configuring Server and client pointing to configuration file in github
  • @EnableConfigServer
  • HTTP, resource-based API for external configuration

Lab : Using Configuration file configured in github

  • What is Docker and how it works?
  • Creating a docker image
  • Running a Java App inside docker container
  • Deploying Static Web Application using docker
  • Understanding Docker compose
  • Deploying Microservices using Docker
  • Introduction to Logstash
  • Configuring input and output pipelines
  • Introduction to ElasticSearch and Kibana
  • Starting a Docker container which has ELK Stack
  • Configuring a Spring application to send logs to Logstash
  • Configuring ElasticSearch and Kibana to visualize logs from logstash

LAB : Using ELK Stack

  • What is Sleuth?
  • How to use Sleuth for log tracing
  • Streaming the Logs to Zipkin
  • Analyzing logs using Zipkin

LAB : Using Sleuth and zipkin

  • How Spring Security works?
  • Various filters and their uses
  • Configuring Spring Security using Java Config for Web App
  • What is Oauth2 and How does it work?
  • 4 Grant types in Oauth2
  • Securing Rest Services using Password Grant Type
  • Consuming a secured Rest Service using Oauth2RestTemplate
  • Applying Security to Zuul proxy
  • What is kubernetes?
  • Discussion on various components in kubernetes
  • Installing kubernetes
  • Kops
  • Kubeclient
  • Configuing Pod in kubernetes
  • Confuring and addning deployments

LAB : Installing Kuberntes LAB : Creating and using Pods

LAB : Creating and using Replication Controller LAB : Creating and using Deployments