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
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.
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.
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.
An explanation of passive service discovery, how to create a Eureka server, and how to register a Eureka client.
An exploration of server-side and client-side load balancing, and a practical guide to using Ribbon on a client.
A focused exploration of Feign, and how to use it to implement REST clients via a declarative style.
This module examines the idea of circuit breakers in software, and describes how to use Hystrix with Ribbon and Feign.
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.
Summary of what we've learned in this course, guide to further resources.
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.