Microservices with Spring Cloud
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
What 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.
|Section 1: Introduction|
|Section 2: Introduction to Microservices|
What are Microservices? Part 1
What are Microservices? Part 2
|Section 3: Modern Spring: Spring Boot, Spring Data, and Spring Data REST|
Spring Boot, Part 1
Spring Boot, Part 2
Spring Boot, Part 3
Spring Boot, Part 4
Spring Boot, Part 5
Lab 1 – Create a Spring Boot Application
|Section 4: Spring Cloud|
Spring Cloud Overview
Spring Cloud Configuration – Centralized, Versioned Configuration – Part 1
Spring Cloud Configuration – Centralized, Versioned Configuration, Part 2
Lab 3 – Spring Cloud Configuration
Spring Cloud Eureka – Service Discovery
Lab 4 – Spring Cloud Eureka
Spring Cloud Ribbon – Client-Side Load Balancing
Lab 5 – Spring Cloud Ribbon
Spring Cloud Feign – Declarative REST Client
Lab 6 – Feign
Spring Cloud Hystrix – Circuit Breaker
Lab 7 – Hystrix
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
|Section 5: Wrap-Up, Final Thoughts, and Next Steps|
Summary, Resources, and Feedback
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.
- Lectures 0
- Quizzes 0
- Duration 50 hours
- Skill level All level
- Language English
- Students 3021
- Assessments Self