The Beginner’s Guide to Spring Cloud

Original by @ryanjbaxter

Nice To Meet You

Spring Cloud Core Lead



  • Spring Cloud Background
  • Key Projects
  • Getting Down and Dirty With Spring Cloud
  • Questions

Survey Time

Anyone Know This Guy?

Why Spring Cloud?

  • In general, cloud-native apps are a good thing, just not easy
  • It was easy for big companies to put forth the resources to succeed with cloud-native, but what about the little guys?
  • Why do we have to reinvent the wheel each time someone wants to build a Cloud Native app?
  • Follow the Spring Boot model of providing useful defaults for cloud-native apps with the ability to easily configure them
  • Cloud agnostic

Spring Cloud Components






Routing &





CI Pipelines

& Testing

Yes, There Are More

  • Spring Cloud Bus
  • Spring Cloud Stream
  • Spring Cloud Data
  • Spring Cloud Task
  • Spring Cloud AWS
  • ... and more


  • We want to remove the configuration out of the application to centralized store across all environments
  • Spring Cloud Config Server can use Git, SVN, filesystem, Vault or JDBC to store config
  • Config clients (microservice apps) retrieve the configuration from the server on startup
  • Can be notified of changes and process changes in a refresh event

Service Discovery

  • With the dynamic nature of any cloud-native application depending on things like URLs can be problematic
  • Service Discovery allows micro-services to easily discover the routes to the services it needs to use
  • Netflix Eureka
  • Zookeeper
  • Consul

Routing and Messaging

  • Your cloud native app will be composed of many microservices so communication will be critical
  • Spring Cloud supports communication via HTTP requests or via messaging
  • Routing and Load Balancing:
    • Netflix Ribbon and Feign
  • Messaging:
    • RabbitMQ or Kafka

API Gateway

  • API Gateways allow you to route API requests (internal or external) to the correct service
  • Leverages service discovery and load balancer
  • Netflix Zuul
  • Spring Cloud Gateway

Circuit Breakers

  • Failure is inevitable, but your user’s
    don’t need to know
  • Circuit breakers can help an application function in the face of failure
  • Netflix Hystrix


  • A single request to get data from your application may result in an exponentially large number of requests to various microservices
  • Tracing these requests through the application is critical when debugging issues
  • Spring Cloud
    Sleuth and Zipkin

CI Pipelines and Testing

  • Building, testing, and deploying the various services is critical to having a successful cloud native application
  • Spring Cloud Pipelines is an opinionated pipeline for Jenkins or Concourse that will automatically create pipelines for your apps
  • Spring Cloud Contract allows you to accurately mock dependencies between services using published contracts


Q & A


Spencer Gibb


Spring Cloud


Original by: Ryan Baxter


The Beginner’s Guide to Spring Cloud

By Spencer Gibb

The Beginner’s Guide to Spring Cloud

  • 1,316
Loading comments...

More from Spencer Gibb