Microservices with Spring Cloud

A deep-dive into the Microservice architectural style, and how to implement it with Spring technologies.
4.5 (946 ratings)
Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
5,156 students enrolled Bestselling in Spring
Take This Course
  • Lectures 30
  • Length 4.5 hours
  • Skill Level Intermediate Level
  • Languages English, captions
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works


Find online courses made by experts from around the world.


Take your courses with you and learn anywhere, anytime.


Learn and practice real-world skills and achieve your goals.

About This Course

Published 5/2015 English Closed captions available

Course Description

Microservices with Spring Cloud is an online workshop designed to help you learn the Microservices architectural style, and how to implement it using Spring technologies

This course provides a good, solid introduction to the topic of the Microservices architectural style, and combines this with practical experience gained by working through the exercises featuring Spring Cloud.

Along the way, this course will provides a brief introduction to Spring Boot and Spring Data (enough to get you familiar with these technologies if you have not been immersed in them already).

The course provides exercises that provide you with hands-on experience working with the various components of Spring Cloud.

The goal of this course is to serve as a practical guide through the Spring Cloud projects, so you can see how they are used to implement microservice based architecture.

By the time you finish this course, you will have gained the ability to articulate what the Microservices architectural style is all about, including its advantages and disadvantages.

You will gain familiarity with Spring Boot, and you'll see how to use it to build web interfaces, REST interfaces, and how to use Spring Data and Spring Data REST.

You will gain the ability to build microservice-based applications utilizing Spring Cloud technologies. You will learn about

  • Centralized, versioned configuration management using Spring Cloud Config
  • Dynamic configuration updates with Spring Cloud Bus
  • Service discovery with Spring Cloud Eureka
  • Client Side Load Balancing with Ribbon
  • Declarative REST Clients with Feign
  • Software Circuit Breakers with Hystrix.

What are the requirements?

  • Knowledge of Java programming
  • Knowledge of latest versions of Spring Framework. Familiarity with concepts such as ApplicationContext, Profiles, RestTemplate, @Value, @Autowired, @Component, Java Configuration, etc.
  • Knowledge of Spring Boot helpful, but will be covered in the course.
  • Basic familiarity with Maven. How to specify dependencies, and how to do a "mvn clean package"
  • A Git account, such as GitHub, will be needed. We will cover this in the course if you don't have one already. Course materials will be downloaded from Git, and you will need to place files in your own Git repository.

What am I going to get from this course?

  • Articulate the Microservices architectural style; its advantages and disadvantages
  • Build simple Spring Boot applications utilizing web interfaces, REST interfaces, Spring Data, and HATEOAS
  • Build Microservice applications utilizing the different Spring Cloud sub-projects, including Config Server & Bus, Eureka, Ribbon, Feign, and Hystrix

Who is the target audience?

  • Intended for experienced Java software developers comfortable with the latest releases of the Spring framework
  • NOT intended for beginners. However, depending on your technical experience in other technologies, and your learning style, you may find this course a fascinating deep-dive into Microservices, Spring Cloud, and Cloud-Native applications.

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.


Section 1: Introduction
Course Introduction
Lab Setup
Section 2: Introduction to Microservices

Provides a description of the meaning of the Microservices architectural style, and begins to demonstrate it by showcasing the characteristics of a monolithic application.


Provides an explanation of the microservices architectural style by contrasting point-by-point with the previously described characteristics of the monolith. Outlines the relative advantages and disadvantages of each style, and provides guidance for applying the microservices style.

Section 3: Modern Spring: Spring Boot, Spring Data, and Spring Data REST

Explains the fundamental nature and purpose of Spring Boot, beginning with the very basics.


Guided explanation of Spring Boot web applications, WAR deployment, and Thymeleaf templating


Guided explanation of Spring Boot web applications utilizing JSPs, RESTful services, JSON, and XML


Adding Spring Data JPA to a Spring Boot application.


Adding Spring Data REST to a Spring Boot application.

Lab 1 - Create a Spring Boot Application
Section 4: Spring Cloud

A brief explanation of the Spring family of projects, where Spring Cloud fits in, and why Netflix technology is featured so much.


A justification and explanation of Spring Cloud Config, and a step-by-step guide to creating your own Spring Cloud Server.


Continued discussion of Spring Cloud Config focusing on the client side, repository organization, YML vs property files, and an explanation of the Spring Cloud application's startup process.

Lab 3 - Spring Cloud Configuration

An explanation of passive service discovery, how to create a Eureka server, and how to register a Eureka client.

Lab 4 - Spring Cloud Eureka

An exploration of server-side and client-side load balancing, and a practical guide to using Ribbon on a client.

Lab 5 - Spring Cloud Ribbon

A focused exploration of Feign, and how to use it to implement REST clients via a declarative style.

Lab 6 - Feign

This module examines the idea of circuit breakers in software, and describes how to use Hystrix with Ribbon and Feign.

Lab 7 - Hystrix

This module re-visits Spring Cloud Config, and demonstrates how to make changes dynamic using Spring Cloud Bus. It also explores how @RefreshScope and @ConfigurationProperties can be used to make an application resilient to live refresh.

Lab 8 - Spring Cloud Bus
API Gateway - Part 1 - Purpose, and Spring Cloud Zuul
API Gateway - Part 2 - Caching Options
API Gateway - Part 3 - Resource Expansion
API Gateway - Part 4 - Protocol Conversion
Lab 9 - Zuul and ETags
Section 5: Wrap-Up, Final Thoughts, and Next Steps

Summary of what we've learned in this course, guide to further resources.

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Ken Krueger, Technical Instructor in Software Development topics

Over 25 years of experience developing software for a variety of business purposes. Expertise in Java, Spring, and related open source technologies, database and web development, cloud, microservices, and big data. Experience as a software developer, team leader, project manager, and scrum master.

My Professional Mission: Guiding individuals and organizations to commercial success through the application of modern technology.

Ready to start learning?
Take This Course