Spring Cloud Services

Course Description

This hands-on training course demonstrates how to leverage Spring Cloud projects in the development of Cloud Native applications. We begin with a sample application that we refactor into microservices. This refactoring process exposes the need for contract testing, fault tolerance, service discovery, load balancing, and more. Each successive lab demonstrates the application of a Spring Cloud project towards enhancing the solution. Here is the full outline of activities attendees will work through in this course:

  • Extracting a microservice from a monolithic application
  • Testing the components of a Spring Boot application
  • Service-to-service integration testing with Spring Cloud Contracts
  • Circuit Breakers with Hystrix
  • Service Discovery with Eureka
  • Client-side load balancing with Ribbon
  • Writing HTTP Rest clients with Feign
  • Externalizing configuration with Spring Cloud Config

Target Audience

  • Java/Spring Software developers with interest in learning how to construct cloud-native applications using the Spring Cloud family of projects.

Pre-requisites

  • Knowledge of Java Programming
  • Experience with the Spring Framework
  • Experience writing automated testing using JUnit, Mockito, and Spring
  • Facility with Integrated Development Environments (Eclipse, STS, IntelliJ, etc..)
  • Experience doing version control with Git and GitHub

Technical Requirements

Attendees should bring a laptop with the following items pre-installed:

  • The JDK (Java 8)
  • A Java IDE of their choice
  • The git CLI
  • curl or similar http client (httpie, postman)
  • Gradle