inflearn logo

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.

(4.9) 485 reviews

8,039 learners

Level Basic

Course period Unlimited

Spring Cloud
Spring Cloud
MSA
MSA
Spring Boot
Spring Boot
Kafka
Kafka
Architecture
Architecture
Spring Cloud
Spring Cloud
MSA
MSA
Spring Boot
Spring Boot
Kafka
Kafka
Architecture
Architecture

News

11 articles

  • kenneth님의 프로필 이미지

    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 use entity() 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 with entity(), 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?

    1. The Concept of Jev and System One Models: What It Means to Return a “Typed Decision” Instead of Text

    2. The difference between LLMs and Jev: descriptive answers vs. multiple-choice answers, and what each does well and poorly

    3. Three question types (choice · score · noul) and the /v1/systemone request structure

    4. Calling from Spring: Call the Jev API with RestClient and use a Java enum to create choices and convert the response in a type-safe manner.

    5. 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 of JevClient

    • Supplementary lecture slides and course materials

    • Comparison test scripts: review-compare.sh for macOS and review-compare.ps1 for 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 its ChatClient.

    • 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.

    0
  • kenneth님의 프로필 이미지

    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!

    0
  • kenneth님의 프로필 이미지

    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.

    0
  • kenneth님의 프로필 이미지

    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.

    3
  • kenneth님의 프로필 이미지

    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!

    5
  • kenneth님의 프로필 이미지

    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 -

    8
  • kenneth님의 프로필 이미지

    As of the recently released Apache Kafka 3.7, it is also officially available in Docker form.

    Apache Kafka

    image

    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.0

     

    If you had trouble starting Kafka, try running it with Docker Kafka.

    thank you .


    1
  • kenneth님의 프로필 이미지

    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

    8

$68.20