Spring Cloud Developer

Course Overview

Cloud-native application architectures and processes are becoming a proven strategy to enable fast delivery of business value.

Spring Boot and Spring Cloud are a powerful combination for building modern cloud-native application architectures that leverage industry battle-tested Spring ecosystem and 3rd party solutions to solve the accompanying problems of scaling, availability and fault tolerance.

The 3-day Spring Cloud Developer course provides participants with an in-depth coverage of cloud-native and microservices patterns using Spring Cloud and Netflix components to help solve challenges associated with running distributed, cloud-native applications over a microservices architecture.

Course Objectives

By the end of the course, you should be able to meet the following objectives:

  • Examine Problems of Distributed Systems and the associated Fault Tolerance patterns
  • Examine how Distributed applications contribute to development and runtime of Cloud Native REST applications
  • Examine how Distributed applications impact software systems fault tolerance
  • Examine development impacts of implementing Spring Cloud solutions
  • Contrast the benefits and trade-offs of Spring Cloud solutions
  • Implement Spring Cloud solutions

Course Modules

  1. Introduction
    • Spring Cloud Introduction
    • Distributed Applications
    • Spring Cloud Dependencies
  2. Service Discovery and Client Load Balancing
    • Service Registry, Load Balancing Patterns
    • Eureka Service Registry
    • Eureka Server REST Operations
    • Service Discovery Clients
    • Client Load Balancing
    • Observability
    • Configurable Load Balancing Algorithm
  3. External Configuration and Distributed Trace
    • External Configuration and Distributed Trace Patterns
    • Spring Cloud Config Server
    • Dynamically Refresh Application Configuration
    • Distributed Updates
    • Distributed Trace Collection and Visualization with Zipkin
  4. Fault Tolerance – Health Checks
    • Fault Tolerance Patterns
    • Health Check Pattern
    • Eureka Client Health Check
    • Load Balancing Client Liveness Check
  5. Retry, Backoff, Timeouts, Fallbacks
    • Retry, Timeout and Fallback Patterns
    • Retry with Load Balancing Client
    • Slow Requests
    • Socket Timeouts
    • Fail-fast and Retry with Spring Cloud Config Server
    • Timeouts with Hystrix
  6. Circuit Breakers and Bulkheads
    • Circuit Breaker and Bulkhead Patterns
    • Circuit Breaker with Hystrix
    • Bulkheads with Hystrix