Microservice Application (MSA) Development with Spring Cloud
This is a course on developing microservice applications using the Spring Cloud suite from the Spring framework. You will learn how to use and configure Spring Cloud as a Cloud Native Application.
8,039 learners
Level Basic
Course period Unlimited


News
11 articles
Hello. We’ve added a new supplemental lecture to the Practical LLM Service Development for Spring Developers (Part 1) course. In this approximately one-hour lecture, you’ll learn how to integrate TypeSafe AI’s recently released decision model, Jev, into a Spring Boot application.
Why was it added?
In Section 4, we covered how to useentity()to receive an LLM response as a Java object, as well as the practical pitfall of parsing breaking when the model wraps JSON in code fences. Whether you ask through a prompt or automate it withentity(), the limitation remains that you are ultimately "asking" the LLM to follow a particular format.
Jev takes a different approach. Instead of writing text, it chooses an answer from a predefined set of options and returns it along with its probability. In other words, the format is structurally guaranteed. Processing the same input in both ways makes it much clearer what to consider when designing "structured output." That is why we organized this content as an extension of Section 4.What will you learn?
The Concept of Jev and System One Models: What It Means to Return a “Typed Decision” Instead of Text
The difference between LLMs and Jev: descriptive answers vs. multiple-choice answers, and what each does well and poorly
Three question types (choice · score · noul) and the
/v1/systemonerequest structureCalling from Spring: Call the Jev API with
RestClientand use a Java enum to create choices and convert the response in a type-safe manner.Comparison demonstration: Analyze the same movie review using
entity()and Jev, then compare speed, format errors, confidence, and consistency.
Updated materials included
Section 4 Example Code (ch4): Two Review Analysis APIs (
/api/movies/review/llm,/api/movies/review/jev) and the Addition ofJevClientSupplementary lecture slides and course materials
Comparison test scripts:
review-compare.shfor macOS andreview-compare.ps1for Windows
Things to know in advance
Jev is not a feature of Spring AI, but rather a separate external service provided by TypeSafe AI. In the course, it is called directly using Spring AI's
RestClient, not itsChatClient.Jev is currently in the early access stage, so there may be a wait to obtain an API key. Jev is disabled by default in the example code (
jev.enabled=false), so you can proceed with the existing exercises as usual even without a key. If you don't have a key, watch the demonstration in the video and follow along with a focus on the concepts and code.As this service has just been launched, its pricing or API may change later. If any changes occur, we will notify you again through a new announcement.
📌 Go directly to the course: https://inf.run/VVpnV
If you have any questions while taking the newly added lessons or get stuck during the hands-on exercises, feel free to leave a comment. We’ll continue to regularly add content that you can use right away in your work.
Hello, I’m Lee Do-won.
"I’ve created Jenkins pipelines, but I’ve only heard of ArgoCD and GitOps as concepts."
"I’m at a loss as to how to design deployments for each dev, staging, and production environment."
For those facing these challenges, we have opened the “Practical GitOps CI/CD with Jenkins and ArgoCD” course on Inflearn.
Here’s what sets this course apart
• Beyond traditional Jenkins-based CI/CD, we also cover ArgoCD-based GitOps.
• We directly compare the Push (Jenkins) and Pull (ArgoCD) approaches on the same cluster. When someone makes a manual change with kubectl, you can see firsthand how one remains unchanged while the other automatically recovers, and experience the differences in how rollbacks and deployment histories are reviewed.
• Combine the two approaches to build a hybrid deployment pipeline from start to finish, with Jenkins Push for dev·staging and ArgoCD Pull (manual Sync approval) for production.
• You will practice essential deployment techniques needed for operations, including canary deployments, blue-green deployments, RBAC, approval procedures, incident response, and automatic rollbacks.
Practice Environment
We’ll proceed using just Docker Desktop. It works on both Windows and macOS, and you don’t need a cloud account such as AWS or any additional fees.
Recommended for
• Backend and infrastructure engineers who have used Jenkins but are new to ArgoCD/GitOps
• Those who want to move Kubernetes deployments from manual kubectl apply to automation
• DevOps and SRE professionals concerned with operational requirements such as deployment approvals, rollbacks, and audit trails
The total runtime is approximately 10–11 hours, and hands-on materials and a troubleshooting guide are also included.
👉 View the course: https://inf.run/dEjZE
If you have any questions, feel free to leave them in the comments or in the course Q&A!
We have newly launched the Practical LLM Service Development for Spring Developers (Part 1) course. Although it may feel a little overdue, this course covers what you need to learn to develop LLM applications using the Spring framework, which is familiar to Java developers. We hope you will take a great interest in it.
Why did I create this course?
These days, keywords like RAG, vector search, and AI agents can be found everywhere, but there aren’t many resources that address, at a practical level, “how to integrate them with a Spring Boot backend.”
This course incorporates into its curriculum the problems I encountered while debugging an actual RAG recommendation endpoint—including how chunking documents by token broke their semantic units and degraded search quality, and how I solved the problem by switching to paragraph-based chunking. Rather than simply showing you the correct code like a tutorial, we’ll follow along together to understand “why it doesn’t work → how to diagnose it → how to fix it.”
Recommended for the following people
Backend developers with Spring Boot experience who are new to developing LLM/AI services
Developers who want to apply RAG and vector search at the level of real-world projects, not just tutorials
Professionals who need to directly implement internal AI features (chatbots, document search, recommendations, etc.) using Spring.
Experience creating REST APIs with Spring Boot is all you need. No prior knowledge of AI/LLMs is required.
What will you learn?
1. Spring AI Core Fundamentals Basic usage of ChatClient, structured output, and streaming response implementation
2. Building a RAG Pipeline Vector store integration, comparison of document chunking strategies and hands-on troubleshooting, search quality improvement, and prompt design
3. Tool and Multimodal Expansion Integrating external tools using MCP (Model Context Protocol), processing multimodal inputs such as images, and integrating with Dify
4. Service Stabilization and Real-World Projects Applying guardrails, designing reliable services, and a mini project that integrates everything you have learned so far
The appendix also covers how to use AI coding tools and Ollama.
Series Guide
This release is Part 1 of the full series. Parts 2 and 3 will cover more advanced architectures and real-world cases, and once the entire series is released, we plan to offer a discount on the full package.
📌 Go to the course: https://inf.run/VVpnV
Feel free to leave any questions or inquiries about the curriculum in the comments. Through Part 1, I hope to take the first step with you toward integrating an LLM into your Spring service.
Spring Boot 3.5 + Spring Cloud 2025.0.x lecture is being updated.
Hello, this is Lee Do-won.
The second update for the newly developed "Microservice Application (MSA) Developed with Spring Cloud" course is in progress. This update is not only about the practical examples, but also about the lecture content. (Spring boot 3.5 + Spring Cloud 2025.0.0)
As previously announced, we had planned to finish it by the end of June, but due to conflicts with the current project schedule, we were unable to meet the deadline. I apologize once again.
First of all, Section 1 lecture has been updated, and although we cannot update them all at once, we plan to update Section 2, Section 3... sequentially every week.
As we update the content of this lecture, some new content has been added, so I think it would be good to refer to it together.
Once again, I would like to thank everyone for their interest in the lecture.
At the end of May, we also opened a lecture on Spring Cloud Patterns, which had been postponed for a while. If you have studied the basic MSA course, I would appreciate it if you would also take an interest in this part.Additionally, we have created a roadmap to help you study the courses currently in progress.
Developing and deploying microservices using Spring Cloud and Jenkins
Microservices Application (MSA) Developed with Spring Cloud
Building a CI/CD Pipeline Using Jenkins
Spring Boot + MSA + CI/CD: Building an Automated Development Pipeline
[Revised 2023-11-27] Developing RESTful Web Services using Spring Boot 3.x
Microservices Application (MSA) Developed with Spring Cloud
Building a CI/CD Pipeline Using Jenkins
Spring Boot & MSA Introduction for Junior Developers
[Revised 2023-11-27] Developing RESTful Web Services using Spring Boot 3.x
Microservices Application (MSA) Developed with Spring Cloud
From Spring Boot to Docker: A Roadmap to Complete Cloud Native Development
[Revised 2023-11-27] Developing RESTful Web Services using Spring Boot 3.x
Microservices Application (MSA) Developed with Spring Cloud
Building a CI/CD Pipeline Using Jenkins
Docker Virtualization Technology for DevOps (Private Harbor Registry)
From the basics of microservice architecture to the use of patterns
Microservices Application (MSA) Developed with Spring Cloud
From beginner to practitioner! Complete guide to MSA design patterns
Hello, this is Lee Do-won.
The first update of the lecture "Developing Microservice Applications (MSA) with Spring Cloud" that has been postponed for a while has been completed. This update is about changing the practical example part from the existing Spring boot 2.x version to the Spring boot 3.x version. The second update of the lecture content is planned for the second half of the year.
As previously announced, we were planning to finish it by the end of June, but due to conflicts with the current project schedule, we were unable to meet the deadline. I apologize once again.
As this lecture content is updated, some new content has been added, so it would be good to refer to it together. The added parts are about applying Swagger API (OAS 3.0) and setting up K8s manifest required to deploy Spring Boot applications (services) on Kubernetes.
The source code has already been shared on github, but some changes and additions have been made while re-recording the content, so we recommend that you practice with the latest code. The updated parts of the practice code are as follows.
joneconsulting/toy-msa: A Toy project for a mas practice. (github.com)
(Branch: springboot3.2, springboot3.2_k8s)
Eureka Service Discovery
Configuration Service
First-Service
Second Service
Apigateway Service
Kafka
Catalog Service
Order Service
User Service
Kubernetes deployment
Distributed Tracing (with Zipkin)
Swagger API (OAS 3.0)
Additionally, we will soon be holding the event that we said we would hold after the update.
thank you!
Hello, this is Lee Do-won.
First of all, I would like to express my gratitude to the students who are taking the course "Developing Microservice Applications (MSA) with Spring Cloud." I am also writing this to ask for your understanding as the updates to the course are being delayed from the scheduled date.
As I have mentioned several times on the Q&A board, the lecture update for this lecture was planned for last January~February, but it was delayed due to several issues. As an instructor who prepares lectures, I had to postpone it day after day due to personal and company issues. I also agree that it was my fault for taking time to prepare the lectures.
I know it's an excuse, but I'll say a few things. In April, I had to re-record all of the lectures I prepared due to hardware issues (my laptop broke down and had to be replaced), and I had trouble allocating time normally due to issues with the project I'm currently working on. However, I've been recording the lectures by splitting up my time, but I sincerely apologize for any inconvenience caused to those who have been waiting.
This course is currently being prepared to be updated around June when the work is completed. We would appreciate it if you could wait a little longer.
We apologize again for any inconvenience this may cause.
- Lee Do-won compensation -
As of the recently released Apache Kafka 3.7, it is also officially available in Docker form.
Image Layer Details - apache/kafka:3.7.0 | Docker Hub
It seems like you can install docker deskop that matches your OS and use it right away.
The site says that both linux/amd64 and linux/arm64 are supported, so it seems like it should be usable on MacOS Apple chips as well.
docker run --env CONFIG_NAME=CONFIG_VALUE -p 9092:9092 apache/kafka:3.7.0If you had trouble starting Kafka, try running it with Docker Kafka.
thank you .
Hello, students,
This is Do-won Lee, who is teaching the course "Developing Microservice Applications (MSA) with Spring Cloud."
The sample code used in this lecture has been updated to the latest version as follows.
You can check the changed code on Github.
https://github.com/joneconsulting/toy-msa/tree/springboot3.2
We will also be adding and updating lectures to keep up with the latest updated code.
2024-02-02
OpenJDK 21
The example files have been updated to match Spring Boot 3.2.2 + Spring Cloud 2023.0.0 versions.
The membership registration, login, and authentication examples have been changed to Spring Security version 6.
Previous versions (Spring Boot 2.7.6) can be found in the main branch.
thank you

