We may earn an affiliate commission when you visit our partners.
Course image
Ken Krueger

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

Read more

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.
Enroll now

What's inside

Learning objectives

  • 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

Syllabus

Introduction
Course Introduction
Lab Setup
Introduction to Microservices
Read more

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.

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
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
Wrap-Up, Final Thoughts, and Next Steps

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

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Taught by Ken Krueger who is recognized for their work in Microservices and Cloud technologies
Taught by Ken Krueger who is recognized for their work in Microservices and Cloud technologies for firms such as Comcast, eBay, and VMware
Develops working knowledge of Microservices architecture style and its advantages/disadvantages
Examines the Microservices architectural style which is standard in industry today
Provides a valuable **introduction to Spring Boot and Spring Data REST** for those less familiar
This is a practical guide through the Spring Cloud projects with hands-on experience

Save this course

Save Microservices with Spring Cloud to your list so you can find it easily later:
Save

Reviews summary

Outdated course content

According to students, outdated content and lack of detail make this course inadequate.
Instructions lack crucial details.
"Instruction to exercises is sometimes to much detailed and sometimes to much sweeping."
"For example when it is written to put some dependency in pom, it is not told to which subproject."
Course material is out of date.
"Course is out of date."
"Some dependencies show in tutorial are not available now."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Microservices with Spring Cloud with these activities:
Review Microservices Concepts
Refresh your knowledge of Microservices architecture and Service-Oriented Architecture (SOA) principles before starting the course to ensure a strong foundation.
Show steps
  • Review online articles or watch videos on Microservices and SOA.
  • revisit past coursework or notes on these topics if available.
Connect with Experts
Seek out experienced professionals or individuals with a strong understanding of Microservices architecture to gain valuable insights and guidance.
Show steps
  • Identify potential mentors through professional networks, online forums, or the course platform.
  • Reach out and schedule informational interviews to learn from their experiences and perspectives.
Review 'Spring in Action'
Build a foundational understanding of Spring Framework before starting the course to get a head start on the core concepts.
Show steps
  • Read chapters 1-3 to understand the basics of the Spring Framework.
  • Install Spring and run the sample applications to gain practical experience.
Five other activities
Expand to see all activities and additional details
Show all eight activities
Spring Boot Quickstarts
Strengthen your understanding of Spring Boot by working through official quickstarts, focusing on the practical implementation of Spring Boot principles.
Browse courses on Spring Boot
Show steps
  • Complete the Spring Boot 'Getting Started' quickstart to create a simple web application.
  • Explore additional quickstarts to gain exposure to different features and use cases.
Spring Cloud Tutorial Series
Complement the course with guided tutorials on Spring Cloud, providing step-by-step instructions and hands-on examples to reinforce the concepts covered.
Browse courses on Spring Cloud
Show steps
  • Follow the 'Introduction to Spring Cloud' tutorial to understand the basics.
  • Work through the 'Building Microservices with Spring Cloud' tutorial to gain practical experience.
Study Group Discussions
Engage with peers to exchange knowledge, clarify concepts, and enhance your understanding of the course material through collaborative discussions.
Show steps
  • Join a study group or organize one with classmates.
  • Prepare discussion topics related to the course content.
  • Actively participate in discussions, sharing insights and seeking clarifications.
Assist Fellow Students
Enhance your own understanding by helping others, answering questions, and providing guidance on course-related topics.
Show steps
  • Identify opportunities to assist classmates in discussion forums or study groups.
  • Provide clear and concise explanations to help others grasp concepts.
Microservice Design and Implementation Project
Apply your knowledge by designing and implementing a microservice-based application, solidifying your understanding of the principles and best practices covered in the course.
Browse courses on Microservices
Show steps
  • Define the requirements and architecture of your microservice application.
  • Implement the microservices using Spring Cloud technologies.
  • Test and evaluate the performance of your application.

Career center

Learners who complete Microservices with Spring Cloud will develop knowledge and skills that may be useful to these careers:
Software Architect
Software Architects design and implement the overall software architecture of complex systems. They ensure that systems are scalable, reliable, and maintainable. This course provides a deep dive into microservices architecture and Spring Cloud, which are essential technologies for building modern, enterprise-grade software systems.
Technical Architect
Technical Architects design and implement the technical infrastructure of organizations. They ensure that systems are efficient, reliable, and scalable. This course provides a comprehensive overview of microservices architecture and Spring Cloud, which are essential technologies for building modern, scalable systems.
Chief Technology Officer
Chief Technology Officers (CTOs) are responsible for the overall technology strategy of an organization. They make decisions about which technologies to adopt and how to use them to achieve business goals. This course provides a comprehensive overview of microservices architecture and Spring technologies, which are becoming increasingly important in modern enterprise IT environments.
Cloud Engineer
Cloud Engineers design, build, and maintain cloud computing systems. They ensure that these systems are reliable, scalable, and secure. This course provides a comprehensive overview of Spring Cloud, a suite of projects for building microservices-based applications in the cloud.
Lead Software Engineer
Lead Software Engineers manage and motivate teams of developers, ensuring that projects are completed on time and within budget. They also provide technical guidance and support to team members. This course provides a comprehensive overview of microservices architecture and Spring technologies, which are essential skills for Lead Software Engineers.
Senior Software Engineer
Senior Software Engineers lead and mentor junior developers, ensuring that software is developed to a high standard. They also participate in the design and implementation of complex software systems. This course provides valuable insights into microservices architecture and Spring technologies, which are becoming increasingly popular in enterprise-level software development.
Solutions Architect
Solutions Architects design and implement technology solutions that meet the needs of businesses. They work closely with stakeholders to understand their requirements and develop tailored solutions. This course provides a solid foundation in microservices architecture and Spring technologies, which are valuable skills for Solutions Architects.
Product Manager
Product Managers are responsible for the development and management of software products. They work closely with engineering and marketing teams to ensure that products meet the needs of users. This course provides valuable insights into microservices architecture and Spring technologies, which are becoming increasingly popular in modern software product development.
Web Developer
Web Developers are responsible for the design and development of websites and web applications. They ensure that these applications are user-friendly, efficient, and aesthetically pleasing. This course provides a good foundation in Spring Boot, Spring Data, and Spring Data REST, which are essential technologies for building modern web applications.
DevOps Engineer
DevOps Engineers bridge the gap between development and operations teams. They automate and streamline the software development process, ensuring that software is delivered quickly and efficiently. This course may be useful for DevOps Engineers as it covers Spring Boot, a framework that promotes rapid application development and deployment.
Data Scientist
Data Scientists use data to solve business problems and make predictions. They develop and implement machine learning algorithms to extract insights from data. This course may be useful for Data Scientists as it covers Spring Data and Spring Data REST, which are valuable tools for working with data in Java applications.
Software Developer
Software Developers build and maintain software systems, utilizing efficient algorithms and data structures. This course may be useful to a Software Developer as it provides a practical guide to implementing Microservices using Spring technologies, which have become increasingly popular in modern software development.
Quantitative Analyst
Quantitative Analysts use mathematical and statistical models to analyze financial data. They develop and implement trading strategies and risk management models. This course may be useful for Quantitative Analysts as it provides a good foundation in Spring Data and Spring Data REST, which are valuable tools for working with data in Java applications.
Data Analyst
Data Analysts extract meaningful insights from data to aid decision-making. They also provide guidance for database design and optimization. This course may be useful for those interested in Data Analysis, as it covers Spring Data and Spring Data REST, which are valuable tools for working with data in Java applications.
Machine Learning Engineer
Machine Learning Engineers build and deploy machine learning models. They work closely with Data Scientists to develop and implement solutions to complex business problems. This course may be useful for Machine Learning Engineers as it covers Spring Data and Spring Data REST, which are valuable tools for working with data in Java applications.

Reading list

We've selected eight books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Microservices with Spring Cloud.
Provides a deep dive into the patterns and practices of microservices architectures, including discussions on topics such as service discovery, load balancing, and circuit breaking.
Provides a detailed guide to Spring Cloud, including chapters on topics such as service discovery, load balancing, and circuit breaking.
Provides a comprehensive overview of cloud native Java development, including chapters on topics such as microservices, containerization, and serverless computing.
Provides a comprehensive overview of the Rust programming language, including chapters on topics such as memory management, concurrency, and error handling.
Provides a comprehensive overview of the Go programming language, including chapters on topics such as concurrency, garbage collection, and network programming.
Provides a comprehensive overview of Kubernetes, including chapters on topics such as cluster architecture, pod management, and service discovery.
Provides a hands-on guide to using Kubernetes, including chapters on topics such as cluster management, application deployment, and monitoring.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Microservices with Spring Cloud.
Spring Boot Microservices with Spring Cloud Beginner to...
Most relevant
Master Microservices with Spring Boot and Spring Cloud
Most relevant
Spring - Cloud Overview
Most relevant
Apache Kafka for Event-Driven Spring Boot Microservices
Most relevant
Advanced Java
Most relevant
Microservices: Clean Architecture, DDD, SAGA, Outbox &...
Most relevant
Event-Driven Microservices: Spring Boot, Kafka and Elastic
Most relevant
Spring Boot Microservices and Spring Cloud. Build &...
Most relevant
Java Microservices with Spring Cloud: Developing Services
Most relevant
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser