Microservices with Spring Cloud
4.4 (5,714 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
24,109 students enrolled

Microservices with Spring Cloud

A deep-dive into the Microservice architectural style, and how to implement it with Spring technologies.
4.4 (5,714 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
24,109 students enrolled
Created by Ken Krueger
Last updated 5/2017
English, French [Auto], 7 more
  • German [Auto]
  • Indonesian [Auto]
  • Italian [Auto]
  • Polish [Auto]
  • Romanian [Auto]
  • Spanish [Auto]
  • Thai [Auto]
Current price: $17.99 Original price: $29.99 Discount: 40% off
3 days left at this price!
30-Day Money-Back Guarantee
This course includes
  • 4.5 hours on-demand video
  • 9 articles
  • 1 downloadable resource
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • 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
Course content
Expand all 30 lectures 04:40:45
+ Introduction to Microservices
2 lectures 36:17

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

What are Microservices? Part 1

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.

What are Microservices? Part 2
+ Modern Spring: Spring Boot, Spring Data, and Spring Data REST
6 lectures 01:12:56

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

Preview 16:34

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

Spring Boot, Part 2

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

Spring Boot, Part 3

Adding Spring Data JPA to a Spring Boot application.

Spring Boot, Part 4

Adding Spring Data REST to a Spring Boot application.

Spring Boot, Part 5
Lab 1 - Create a Spring Boot Application
+ Spring Cloud
19 lectures 02:39:40

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

Spring Cloud Overview

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

Spring Cloud Configuration - Centralized, Versioned Configuration - Part 1

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.

Spring Cloud Configuration - Centralized, Versioned Configuration, Part 2
Lab 3 - Spring Cloud Configuration

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

Preview 18:46
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.

Spring Cloud Ribbon - Client-Side Load Balancing
Lab 5 - Spring Cloud Ribbon

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

Preview 11:53
Lab 6 - Feign

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

Spring Cloud Hystrix - Circuit Breaker
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.

Spring Cloud Bus - Dynamic Configuration Changes
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
+ Wrap-Up, Final Thoughts, and Next Steps
1 lecture 05:02

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

Summary, Resources, and Feedback
  • 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.

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.
Who this course is for:
  • 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.