강의

챌린지

멘토링

로드맵

커뮤니티

A Distributed Tracing System for MSA Architectures with Hundreds of Services, Explained by a Kakao Interviewer

Learn the process of building essential observability in a microservices architecture (MSA) environment, from the basics to hands-on practice. Through step-by-step exercises, you will learn standardized data collection using OpenTelemetry, trace storage and search with Grafana Tempo, and visualization using TraceQL. You will also learn how to trace service flows through distributed tracing, identify bottlenecks, and analyze the causes of failures.

(4.9) 17 reviews

275 learners

Level Basic

Course period Unlimited

Kotlin
Kotlin
Docker
Docker
MSA
MSA
Kotlin
Kotlin
Docker
Docker
MSA
MSA

Reviews from Early Learners

4.9

5.0

돌고래축제

100% enrolled

Thank you for the lecture.

5.0

Tommy

100% enrolled

It was great for quickly learning the essentials, thank you.

5.0

두두

100% enrolled

Trusted Online Classes

What you will gain after the course

  • Request tracing and performance analysis techniques between microservices using OpenTelemetry and Grafana Tempo

  • Domain-specific service separation, HTTP communication between services, system design

  • Setting up a multi-container environment, managing networks, and service discovery with Docker Compose

  • System monitoring and tracing-based operations using Grafana, Tempo, and otel-collector

  • YAML-based configuration management, service configuration via environment variables, and declarative infrastructure definition methods

There are so many services in the MSA architecture that it's driving me crazy. T_T 🤔

❗This is an actual conversation.❗

😄 Hong: One problem I've been struggling with lately is that, since the services in an MSA are tightly coupled, debugging is really difficult... Is this normal?

😁 Kakao: Well... everyone looks at logs and metrics, and if the environment is well set up, they check tracing too. I usually debug while looking at traces.

😄Hong: Are you talking about Jaeger?? I'm jealous. If we had a system like that set up too, it would really help with debugging, but my eyes are about to fall out from staring at logs.

😄Kakao: Hahaha, exactly. A lot of people only look at logs, but once you understand and adopt the concept of tracing, it’s really great. It makes it easy to see the relationships between services and track the overall flow, so I can’t live without it anymore lol

😄Kakao: Want me to tell you about it? It’s also a topic I personally like, and it’s an easy-to-implement observability method that’s really effective.

😄Kakao: And actually, by introducing this tracing feature, you can also solve various problems that arise in MSA. People keep saying MSA is great, but most of them don't see the downsides.

😄 Hong: Oh, really?? Then please teach me a bit about it. Let’s cover it together. I’ve used it simply with another language too, but I haven’t actually integrated it all the way with Grafana.

😄Kakao : Then I’ll quickly set up a Grafana and MSA environment using Kotlin, Docker, and docker-compose, and let you know.

By any chance, how are you handling monitoring for observability in an MSA architecture environment like this?? 🤔

😄Kakao : And actually, introducing this tracing feature can solve various problems that occur in MSA. People keep saying MSA is great, but most of them don't see the downsides.

  • What do you think about this topic discussed earlier?

"If it's MSA, isn't it enough to simply build it with various services and process things in a distributed manner?? It's good because they can be configured independently!!" Is this all you think about it? It may be very helpful to consider what aspects you need to think about as your services grow.


The answer lies in integrating and processing distributed data (otel-collector), representing it as traceability data, examining the relationships between services, and identifying what problems occurred and what latency arose during the process.

In this course, you will learn how to build a distributed tracing system by combining Grafana & Tempo & OpenTelemetry Collector, which are representative tools for monitoring services in distributed systems.


Rather than a boring lecture that simply lists theory, this practical guide has been designed to help you fully master the design of distributed tracing data and its key features by exploring together the process of building, writing, and running an actual environment. 🚀

Features of this course ⚡

📌 A concise 4.30-hour course that covers all the essentials efficiently

* A longer lecture isn’t necessarily better. In this short amount of time, we focus only on the essential points you need to know and cover the key topics, including hands-on exercises where you can examine actual tracing data.

📌 An observability system actually adopted and used by senior developers in their work

* As with the conversation at the beginning, you can learn about platforms that even developers working at Kakao may not be familiar with and gain a competitive edge as a result.

📌 A rich course structure with dozens of diagrams and lecture summary files

* This is not a lecture explained solely through words—we also provide actual source code, diagrams, sequence diagrams, and a brief summary file of the lecture content.

📌 Not just simple service development, but the operations beyond it

* Someone who only writes code is not a developer. Through this distributed tracing system, you can learn how to recognize the shortcomings of the currently implemented architecture, understand the relationships between services, and effectively troubleshoot issues that arise in the process.

Expertise demonstrated through previous courses (as of 9.27) 👨‍🏫

🧑‍🎓 307 ⭐ 5.0

🧑‍🎓 379 ⭐ 4.9

🧑‍🎓 483 ⭐ 4.7

🧑‍🎓 239 ⭐ 4.8

The course covers the following topics. 🧩

* What Grafana is and why you should use it

* The possibility of integrating Tempo and Grafana

* The structure and visualization principles of distributed tracing data

* Debugging correlation structures in distributed tracing environments

* Microservice architecture in Tempo

* Tempo’s block-based storage mechanism

* Tempo-specific query language TraceQL and performance optimization

* The overall architecture of OpenTelemetry Collection and its detailed components

* Building a lightweight environment using Docker

* Automating storage using Docker volume mounts

* Hands-on!! All the configuration methods for everything you've learned

Recommended for those who 👨‍🏫

🎯 Non-CS major developers are also welcome, as are those curious about troubleshooting methods in MSA architecture

🎯 For those who are curious about the perspective of what skilled developers are thinking about

🎯 Backend developers considering service scaling at startups or large enterprises and the observability that comes with it

Recommended resources to check out together 🚀

The person who created this course 🤭

  • A developer who started without a computer science background and currently works as a platform backend developer in Pangyo

  • My goal is to share practical development methods and philosophies, and I am a knowledge sharer who creates courses together with talented people around me rather than alone.

  • A knowledge sharer who, thanks to his active involvement, was featured in an interview on Inflearn

  • A computer science major who graduated from a university in Seoul

  • A developer who, after working at a major commercial bank, is currently developing as a backend and data engineer at Kakao

  • A developer who is creating a variety of courses with Hong and contributing to providing practical knowledge and environments.

  • The only valuable team member with experience using Workflow so far.

Notes

Practice environment

  • Java

    • Java(TM) SE Runtime Environment (build 17.0.12+8-LTS-286)

  • docker, docker-compose

    • Docker version 28.0.0, build f9ced58158

    • Docker Compose version 2.33.1

  • IDE

    • IntelliJ IDEA, VS Code

  • OS

    • Apple M3 Air

Recommended for
these people

Who is this course right for?

  • Developers who want to apply issues related to microservice design, distributed system development, and inter-service communication in practice

  • Operations expert responsible for container orchestration and monitoring system implementation

  • An architect planning scalable distributed system design, observability implementation, and a transition to microservices

  • Engineers who need to use observability tools to improve system stability, monitor performance, and respond to incidents

  • Developers who want to learn about the challenges of modern distributed systems and how to overcome them

Hello
This is Hong

Inflearn Verified

Career Verified

10,235

Learners

609

Reviews

175

Answers

4.8

Rating

30

Courses

I started studying development after becoming interested in it while idling at home, and I am currently responsible for platform server development in Pangyo. I am continuing my activities as a knowledge sharer because I want to provide you with the methods I used to study, as well as the various problems and solutions you may encounter in practice.

 

These lectures are not created solely through my own knowledge. There are others who collaborate on every lecture.

 

[Instructor Career]

[Former] Blockchain developer related to Sandbox IP

[Former] Metaverse Backend Developer

[Current] A server developer becoming a veteran in Pangyo

 

[Interview History]

[Other Inquiries]

[Official Site]

More

Curriculum

All

22 lectures ∙ (4hr 31min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

17 reviews

4.9

17 reviews

  • helle067523님의 프로필 이미지
    helle067523

    Reviews 26

    ∙

    Average Rating 5.0

    5

    100% enrolled

    Thank you for the lecture.

    • jhong
      Instructor

      Hello, Dolphin Festival! Thank you for leaving such a great review. Have a wonderful day!

  • kduoh님의 프로필 이미지
    kduoh

    Reviews 39

    ∙

    Average Rating 5.0

    5

    100% enrolled

    Trusted Online Classes

    • sdl1355126님의 프로필 이미지
      sdl1355126

      Reviews 19

      ∙

      Average Rating 5.0

      5

      91% enrolled

      Honestly, the content is really great. Thank you.

      • jhong
        Instructor

        Hello keny, I'm honestly so grateful 😊😊 I'll work hard to provide you with even more beneficial lectures in the future!!

    • rntehr29884님의 프로필 이미지
      rntehr29884

      Reviews 1

      ∙

      Average Rating 5.0

      5

      27% enrolled

      Thank you for the great lecture.

      • jhong
        Instructor

        Thank you for leaving such a nice review, Sangheon! Have a great day!

    • tommy0419님의 프로필 이미지
      tommy0419

      Reviews 24

      ∙

      Average Rating 5.0

      5

      100% enrolled

      It was great for quickly learning the essentials, thank you.

      • jhong
        Instructor

        Hello Tommy, I tried my best to deliver the key points to you all in the shortest time possible. Because your time is so precious haha. Please leave a good review and I will continue to provide more useful lectures in the future. Thank you.

    Hong's other courses

    Check out other courses by the instructor!

    Similar courses

    Explore other courses in the same field!