개발 · 프로그래밍

/

데브옵스 · 인프라

[DevOps 정석 2] MSA 환경의 로그 분석 기술 구축을 통한 통합로깅

이 강의를 통하여 마이크로서비스 상에서 로그 분석, 서비스간 상관관계 분석을 기반으로 한 Observability라는 DevOps 분야의 핫 토픽에 대한 인사이트를 얻고 싶은 분께 추천 드립니다.

(5.0) 수강평 2개

수강생 60명

Thumbnail

중급자를 위해 준비한
[데브옵스 · 인프라] 강의입니다.

이런 걸
배워요!

  • 로그 분석

  • OpenTelemetry

  • Observability

  • Kubernetes 로그 수집

  • 시스템 상관관계 분석

  • Application Performance Monitoring

데브옵스 엔지니어라면 놓칠 수 없는, 
실무에 통하는 Observability!

DevOps의 핫 토픽, Observability.

1️⃣
막상 최신 트렌드라는 MSA로 시스템 구조를 바꿨더니 에러 원인 파악 및 해결이 더 힘들어졌나요?

2️⃣
마이크로서비스에서 로그 분석서비스 간 연관 관계를 한데 모아 보는 방법이 궁금하신가요?

3️⃣
DevOps 최신 트렌드 중 하나인 Observability에 대한 이론적 기반 및 실질적인 구현 방법을 알고 싶으신가요?

많은 기업에서 Cloud-Native 및 컨테이너 기술을 사용하기 시작하면서 마이크로서비스와 같은 분산 시스템에서 발생하는 이벤트를 추적하는 일이 중요해졌습니다. 이러한 중요성을 표현하는 Observability 역시 Microservice 및 DevOps 분야에서 핫 토픽으로 떠오르고 있습니다. 하지만 막상 이러한 컨셉이 어떻게 이루어져 있고, 어떻게 구현하는지를 정리해주는 문서나 자료는 드뭅니다.

• • •

OpenTelemetry + SigNoz를 이용한 MSA에서의 Observability 적용

Microservice 기반 시스템 구조를 변경할 때에는 Data Correlation이라는 시스템 간의 상관 관계 및 Exception과 같은 문제가 발생할 때 통합적으로 분석할 수 있는 통합 분석 솔루션이 필요합니다. 

OpenTelemetry는 Trace ID와 Span ID라는 개념을 통하여 각 Microservice 간의 상관 관계와 이벤트들을 Request call의 흐름에 따라 추적하고 분석할 수 있는 기반을 제공해 줍니다.

이 강의를 통해 Java with Spring, Node.js, Python을 기반으로 한 어플리케이션에 OpenTelemetry와 Log, Trace, Metrics를 어떻게 적용하는지에 대한 실질적인 방법을 알려드립니다.

뿐만 아니라 오픈소스 기반의 APM을 이용하여 시스템 간의 상관 관계를 분석하고, 본인이 관리하는 시스템의 어느 부분에서 지연이 발생하는지 분석하는 방법까지 익혀봅니다.


강의에서 다루는 내용

  • ✅ Microservice 상에서 로그를 보는 방법을 알 수 있습니다.
  • ✅ 관리하는 서비스의 병목 지점을 한눈에 파악하고, 각 시스템 간 연관 관계를 한눈에 파악할 수 있습니다.
  • ✅ JVM과 Kubernetes Dashboard를 APM상에서 구축할 수 있습니다.
  • ✅ OpenTelemetry와 SigNoz를 이용한 Observability Solution 구축 자료에 대한 Repository에 접근할 수 있습니다.

상세 커리큘럼 📚

  1. Observability란 무엇인가?
  2. Helm을 이용한 SigNoz 설치
  3. OpenTelemetry 적용: Ticker service with Python 
  4. OpenTelemetry 적용: Strategy/Gateway service with Java
  5. OpenTelemetry 적용: Price service with Node.js
  6. SigNoz - JVM & Kubernetes Dashboard 구성하기
  7. SigNoz - Alert Service 구성하기

DevOps의 정석 
이정석입니다.

한국 · 호주 · 영국에서 Full-stack Developer, DevOps Engineer/Consultant로 15년 정도 일하고 있는 Digital Nomad IT Engineer입니다. IT 조직 운영 최적화를 위해 끊임없이 새로운 주제에 대해 공부하고 있으며, 은퇴할 때까지 Engineer로 생활하고 싶다는 꿈을 가지고 있습니다. 현재는 호주 Melbourne에 있는 한 은행의 Developer Experience 팀에서 DevOps로 활동하고 있습니다.

상세 이력

  • 전) The Latin Traveller에서 인턴으로 첫 직장 생활 시작! [London, UK]
  • 전) 한진그룹 토파스여행정보 - Java/Oracle 개발 [Seoul, KR]
  • 전) NuSkin Korea - Java/Oracle 개발 [Seoul, KR]
  • 비즈니스 흐름에 대한 호기심으로 Full-time MBA 과정 졸업 [Seoul/Nice, KR/FR]
  • 전) KOSCOM - C 개발 [Seoul, KR]
  • 전) KDB대우증권 - Java, C#, Python, MongoDB, Oracle, Sybase, ActiveMQ 등을 이용한 개발 [Seoul, KR]
  • 전) National Australia Bank (NAB) - Full-stack Development [Melbourne, AU]
  • 전) 호주 4대 은행 중 한 곳 - Full-stack Development/In-house DevOps Consulting [Melbourne, AU]
  • 전) Amazon Web Services - DevOps Consultant [Seoul/Melbourne, KR/AU]
  • 현) 호주 4대 은행 중 한 곳 - DevOps로 DORA Metrics 정의와 Scalable CI Structure 구현으로 씨름 중... [Melbourne, AU]

Q&A 💬

Q. 3가지 언어를 이용하여 구현 예시를 보여주는데, 각 언어에 대해 어느 수준의 이해가 필요한가요?

기본적인 마이크로서비스에 대한 구현은 이미 되어 있으며, OpenTelemetry를 적용하기 위한 부분만 일부 프로그래밍에 대한 지식이 필요합니다. 이에 따라, 코드 작동 원리 정도만 이해 가능한 입문 정도의 프로그래밍 수준이 필요합니다.

Q. Kubernetes에 대한 어느 수준의 이해가 필요한가요?

kubectl에 대한 Command를 실행할 수 있을 정도의 이해가 필요하며, Kubernetes Template를 만드는 전체 과정을 함께 설명을 하면서 진행을 하기 때문에 쿠버네티스 관련 선수지식이 없다고 하더라도 수강하는 데에는 문제가 없습니다.

Q. "DevOps의 정석" 및 "ProjectSet #1" 강의를 들어야만 이 강의를 들을 수 있나요?

두 강의를 먼저 수강하시고 본 강의를 수강하시면 더 이해가 빠르기는 하겠지만, 듣지 않으셔도 본 강의를 들으시는 데는 전혀 문제가 없습니다. 앞의 두 강의에 대한 선수 지식이 필요한 경우에는 그에 대한 요약 설명을 해드리면서 강의를 진행하였습니다.

💾 수강 전 참고 사항
실습을 위해 다음 PC 사양 및 서비스 버전이 필요합니다.

  • CPU: 4 Core 이상 x86-64/amd64 계열
  • Memory 8GB 이상, Storage 30GB 이상
  • Kubernetes 1.21 이상, Helm 3.8 이상
  • 수업 자료는 [섹션 2 - SigNoz 설치] 수업 하단 노트를 확인해주세요. Source Code Repository에 대한 접근을 요청하는 구글 폼 링크를 제공합니다. 승인까지는 최대 48시간이 걸릴 수 있으며, 본 강의의 소스 코드 및 콘텐츠를 타인과 공유하시면 안 됩니다.

연관 강의 함께 보기 📺

이런 분들께
추천드려요!

학습 대상은
누구일까요?

  • 마이크로서비스 상에서 로그 분석을 처음 해보는 사람

  • 마이크로서비스 상에서 어플리케이션 디버깅에 어려움을 느끼는 조직

  • Observability에 대한 기초 지식이 필요한 사람

선수 지식,
필요할까요?

  • Kubernetes

한국/호주/영국에서 Full-stack developer, DevOps Engineer/Consultant로 15년 정도 일을 하고 있는 Digital Nomad IT Engineer 입니다. IT 조직 운영의 최적화를 위해 끊임 없이 새로운 주제에 대해서 공부를 하고 있으며, 은퇴할 때까지 Engineer로 생활하고 싶다는 꿈을 가지고 있습니다. 현재는 호주 Melbourne에 있는 한 은행의 Developer Experience 팀에서 DevOps로 활동하고 있습니다.

커리큘럼

전체

14개 ∙ (5시간 15분)

  • Observability란 무엇인가?

    22:06

강의 게시일: 2023년 01월 13일
마지막 업데이트일: 2023년 01월 13일

수강평

아직 충분한 평가를 받지 못한 강의입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!