강의

멘토링

커뮤니티

Programming

/

Back-end

A distributed tracing system in an architecture with hundreds of MSA services, as explained by a Kakao interviewer

Learn the process of building essential Observability in a Microservices Architecture (MSA) environment from basics to practical application. Master standardized data collection using OpenTelemetry, trace storage and search through Grafana Tempo, and visualization using TraceQL through step-by-step hands-on practice. You can learn how to track service flows through distributed tracing, identify bottlenecks, and analyze the root causes of failures.

(5.0) 13 reviews

198 learners

Level Basic

Course period Unlimited

  • Hong
Kotlin
Kotlin
Docker
Docker
MSA
MSA
Kotlin
Kotlin
Docker
Docker
MSA
MSA

Reviews from Early Learners

Reviews from Early Learners

5.0

5.0

Tommy

100% enrolled

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

5.0

두두

100% enrolled

Trusted Online Classes

5.0

이상헌

27% enrolled

Thank you for the great lecture.

What you will gain after the course

  • Microservice Request Tracing and Performance Analysis Techniques Using OpenTelemetry and Grafana Tempo

  • Domain-based service separation, inter-service HTTP communication, system design

  • Multi-container environment configuration, network management, and service discovery using Docker Compose

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

  • YAML-based configuration management, service configuration through environment variables, and declarative infrastructure definition approach

There are too many services in the MSA architecture, it's driving me crazy. ㅠㅠ 🤔

❗This is based on an actual conversation.❗

😄 Hong : A problem that's been bothering me lately and something pretty tough - in MSA, since there's high coupling between services, debugging is so hard.. Is this normal?

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

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

😄Kakao : Hahaha exactly, most people only look at logs, but if you learn about the concept of tracing and implement it, it's really great. It's easy to see relationships between services and you can track the overall flow, so I can't live without it now lol

😄Kakao : Should I explain it? It's actually a topic I personally like, and it's an observation method that's easy to set up but really effective

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

😄Hong : Oh really?? Then please show me, let's cover this topic. I've used it simply with other languages, but I haven't actually integrated it with Grafana

😄Kakao : Then I'll quickly set up and show you a Grafana and MSA environment using Kotlin, Docker, and docker-compose

How are you handling monitoring for observability in MSA architecture environments?? 🤔

😄Kakao : And actually, if you introduce this tracing feature, you can solve various problems that occur in MSA. Everyone says MSA is great, but most people don't look at the disadvantages

  • What do you think about this topic I mentioned earlier??

"If it's MSA, can't we just configure it with various services and process them in a distributed manner?? It's good because they're configured independently!!" Are you perhaps thinking only this way?? I think it would be very helpful if you consider what aspects need to be thought about as the service grows in response to this question.


The answer lies in integrating and processing distributed data (otel-collector) and expressing it as traceability data to see the relationships between services and identify what problems exist and what latency occurred in 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 just lists theories, I've prepared this as a practical guide where we'll build an actual environment together, write code, and observe how it works, allowing you to completely master the design of distributed tracing data and its core features. 🚀

Key Features of This Course

📌 An efficient lecture that's only 4.30 hours long, yet packed with all the essentials

* A longer lecture isn't necessarily better. This course focuses only on the essential parts you need to know, and includes hands-on practice where you can examine actual tracing data - all covering only the core topics in this short timeframe.

📌 An observability system actually implemented and used in production by senior developers

* As shown in the initial conversation, you can learn about a platform that even developers at Kakao are not familiar with, and gain a competitive advantage accordingly.

📌 Rich course content with dozens of diagrams and lecture summary files

* This isn't just a lecture that explains things with words alone - we provide actual source code, diagrams, sequence diagrams, and additionally, brief summary files of the lecture content.

📌 Not just service development, but operations beyond that

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

Proven expertise through previous courses (as of 9.27) 👨‍🏫

🧑‍🎓 3075.0

🧑‍🎓 3794.9

🧑‍🎓 4834.7

🧑‍🎓 2394.8

This course covers the following topics.🧩

* What Grafana is and why you should use it

* Integration possibilities between Tempo and Grafana

* Structure and visualization principles of distributed tracing data

* Debugging correlation structure 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 Collector and its detailed components

* Building a lightweight environment using Docker

* Automation of space using Docker's Volume Mount

* Hands-on!! All configuration methods for the theories learned

We recommend this for: 👨‍🏫

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

🎯 Those who are curious about the perspectives of what aspects skilled developers are considering mà các lập trình viên giỏi đang suy nghĩ và những vấn đề họ đang quan tâm

🎯 Backend developers at startups/large companies who are concerned about service scaling and its observability

What makes this course special

📌Event offering 50 coupons

For those who purchase during the early bird discount period, we will select 50 people and provide one 50% coupon to each

Related resources you might find helpful 🚀

Who created this course 🤭

  • A developer who started as a non-major and is currently working as a platform backend developer in Pangyo

  • The goal is to teach realistic development methods and development theories, and a knowledge sharer who creates courses together with capable acquaintances rather than alone

  • A knowledge sharer who has been featured in an interview on Inflearn thanks to active contributions

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

  • A developer who worked at a primary financial institution and is currently working as a backend and data engineer at Kakao

  • A developer who creates various courses with Hong and contributes to providing practical knowledge and environments

  • The only valuable talent in this team who has experience using Workflow

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, vsCode

  • OS

    • Apple M3 Air

Recommended for
these people

Who is this course right for?

  • Developers who want to apply microservice design, distributed system architecture, and inter-service communication challenges to real-world practice

  • Operations specialist responsible for container orchestration and monitoring system implementation

  • Architects who plan scalable distributed system design, observability implementation, and microservices transformation

  • Engineers who need to utilize observability tools for improving system stability, performance monitoring, and incident response

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

Hello
This is

5,964

Learners

391

Reviews

127

Answers

4.7

Rating

22

Courses

Introduction

I started studying development after finding it interesting while lounging around at home, and I am currently working as a platform server developer 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 the field.

These lectures are not created through my knowledge alone. Every lecture is made possible by those who work alongside me.

Instructor Experience

[Former] Blockchain developer for Sandbox IP

[Former] Metaverse Backend Developer

[Current] Veteran server developer based in Pangyo

Interview History

Other inquiries

  • unduck2022@gmail.com

Curriculum

All

22 lectures ∙ (4hr 31min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

13 reviews

5.0

13 reviews

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

  • kduoh님의 프로필 이미지
    kduoh

    Reviews 36

    Average Rating 5.0

    5

    100% enrolled

    Trusted Online Classes

    • paulmoon008308님의 프로필 이미지
      paulmoon008308

      Reviews 111

      Average Rating 4.9

      5

      23% enrolled

      • iamzzoon0226님의 프로필 이미지
        iamzzoon0226

        Reviews 10

        Average Rating 5.0

        5

        100% enrolled

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

        Limited time deal ends in 7 days

        $46.20

        25%

        $61.60

        Hong's other courses

        Check out other courses by the instructor!

        Similar courses

        Explore other courses in the same field!