본문 바로가기

DEVOCEAN YOUNG_데보션영

[테크 세미나 후기] Datadog의 “Front-End에서 Back-End까지의 여정” 후기

안녕하세요! 3월 23일에 열린 DataDog의 “Front-End에서 Back-End까지의 여정” 테크 세미나의 후기를 작성하게 된 DEVOCEAN YOUNG 2기 자료구조(7조) 입니다.🤗

이번 세미나는 “1부 : Datadog 소개와 활용 사례”와 “2부 : Datadog의 Front End에서 Back-End까지의 여정”으로 구성되었습니다. 세미나 내용 중 Datadog에 대한 소개와 몇 가지 기능들에 대해 간략하게 소개하겠습니다. 

[ 🐶 Datadog 이란? ]

“복잡한 IT환경에서 다양한 Tech Stack을 활용하여 개발과 운영을 효율적으로 할 수 있게 제공하는 end-to-end Full Stack 모니터링 솔루션”입니다. Datadog은 “One product One Platform으로 모든 사람이 모든 곳에서 쓸 수 있으므로 다양한 이해 관계자들이 의사소통의 도구가 될 수 있습니다.  

Datadog으로 IT 서비스 모니터링에 필요한 분석 데이터를 효과적으로 수집하여 운영/개발팀 간의 협업 효율성 증대를 할 수 있습니다. 또한, 장애 분석 시간을 최소화할 수 있으며 모니터링 개발 업무보다는 서비스 품질 개선에 인력을 집중시킬 수 있습니다. 

[ 🐶 Datadog 서비스의 핵심 가치 ]

The Three Pillars of Observability 

1) Traces 

서비스 전반에 걸친 원인을 파악할 수 있습니다. 

2) Metrics

Trends/Patterns을 인식 및 파악할 수 있습니다. 

3) Logs

이슈 및 장애 분석을 할 수 있습니다. 

이렇게 3가지가 한 장소에서 서로 연관관계를 가지고 볼 수 있는 것(All in One place Correlation)이 DataDog의 핵심 가치라고 할 수 있습니다. 

다음으로는 간단하게 Datadog의 제공 기능 중 인상 깊었던 내용을 간략하게 소개해 보려고 합니다!

[ 🐝 Infrastructure Monitoring ]

Infrastructure Monitoring에서 인상 깊었던 특징은 은 사용자의 서버, 클라우드, 매트릭, 어플리케이션 및 다양한 조직을 한눈에 볼 수 있는 대시보드를 제공하여 전반적인 가시성을 제공한다는 것입니다. MSA의 시대에서는 단일 플랫폼이 아닌 다양한 언어와 플랫폼을 사용하게 되므로, 이에 맞춰 벌집형 Host Map 및 Container Map을 제공합니다. 이러한 맵은 자동 또는 수동으로 적용된 tag 정보를 통해 host 및 container를 특성별로, 가치별로 그룹화하여 인프라 전체를 모니터링할 수 있도록 도와줍니다. 

또한, Real-time container을 지원하여 실시간으로 상태를 파악할 수 있습니다. 이와 같은 기능은 Infrastructure Monitoring의 장점 중 하나입니다. 더욱이, 단일 플랫폼에서 Docker, Kubernetes, EKS, ECS, AKS, Cloudfoundry 등의 다양한 클라우드 환경에서 컨테이너의 상태를 표준에 맞춰 동일한 지표로 볼 수 있다는 점도 매우 유용합니다.

[📱APM(Application Performance Monitoring) **]**

APM에서 인상 깊었던 기능은 Service Map입니다. 이 기능은 실시간으로 서비스 간의 상호 종속성을 파악하여 데이터 흐름 및 클러스터링 된 서비스들을 자동으로 매핑합니다. 일반적으로 어플리케이션 서비스 간의 상호 호출 관계를 파악하기 어렵지만, Service Map은 map 형식으로 한눈에 볼 수 있게 제공합니다. 이러한 기능은 서비스 전반에 걸친 문제를 파악할 때 어떤 서비스부터 확인해야 하는지 의사결정 하는 데 큰 도움을 줍니다. 

또한, Code Level Insight 및 Instant root cause analysis를 제공하여 코드 프로파일링으로 프로덕션 코드를 최적화하고 비용을 절감할 수 있습니다. 이를 통해 코드 성능을 분석하여 어느 라인에서 어느 함수에서 문제가 발생 하는지 까지 인사이트를 빠르게 제공할 수 있습니다.

[ 📁 Log Monitoring ]

Log Monitoring에서 인상 깊었던 기능 중 하나는 로그 유입을 세분화할 수 있다는 점입니다. 사용자가 로그 수집 방법을 제어할 수 있어서 서버, DB 등 여러 곳에서 나온 로그들을 모두 "Live Tail"로 실시간으로 볼 수 있습니다. 그리고 filter를 통해 로그 데이터를 시각화할 수 있습니다. 이와 함께 로그와 관련된 APM이나 인프라 정보를 함께 볼 수 있습니다. 

또한, Datadog의 Log Monitoring은 빠른 성능으로 쿼리 기반이 아닌 모든 로그에 대한 파싱 기능이 뛰어나다는 장점이 있습니다. 이를 통해 전문적인 로그 관리 툴만큼의 역할을 할 수 있습니다.

[ 🖥️ APM 제품군 : 모든 스택의 전체 모니터링 시스템 ]

백엔드 서비스에서는 APM(Application Performance Monitoring)과 분산 추적(distributed tracing)을 통해 성능 메트릭(performance metric)을 수집하고 데이터를 추적합니다. 애플리케이션의 응답 시간(response time), 처리량(throughput), 오류 등 전반적인 메트릭을 캡처합니다. 이렇게 수집된 메트릭은 애플리케이션 뿐만 아니라 데이터베이스를 포함한 전체 어플리케이션 스택에서 요청(request)에 대한 흐름까지 추적(trace)하여 선제적인 장애 대응에 필요한 정보를 제공합니다.

분산된 서비스 환경에서는 각 서비스의 의존 관계를 분석하고 모니터링할 수 있어야 합니다. 이를 위해 컨테이너를 활용하여 리퀘스트(request)가 애플리케이션을 통과할 때 의존 관계를 분석하여 모니터링할 수 있는 환경을 제공합니다. 이러한 모니터링 환경은 선제적인 대응 및 서비스 개선을 위한 중요한 포인트라고 할 수 있습니다.

한편, 웹 브라우저와 모바일에서는 성능 데이터와 결합을 해서 실질적으로 UX에 대한 오류를 식별하는 Real User Monitoring, 전 세계에서 시뮬레이션된 요청 및 작업을 사용하여 시스템과 애플리케이션의 수행 상태를 관찰할 수 있는 Synthetic Monitoring, Error Tracking, 그리고 사용자의 패턴을 다시 재생할 수 있는 Session Replay 등의 기능을 제공합니다. 이를 통해 UX에 대한 개선이나 문제점을 보다 빠르게 분석하고 개선할 수 있습니다.

Datadog은 애플리케이션의 성능과 UX를 개선하기 위해 개발자와 운영자들에게 제공하는 서비스에 그치지 않고, 프론트엔드부터 백엔드까지 전반적으로 모니터링할 수 있는 환경을 제공합니다. 분산된 서비스에 대해 어떻게 모니터링할 것인지 trace 할 수 있는 service catalog를 제공합니다. 그리고 서비스의 의존성을 파악할 수 있도록 AIOps 기반의 서비스인 watch dog을 제공합니다. (참고로 watch  dog은 인프라 및 애플리케이션 전반에서 수십억 개의 데이터 지점을 지속적으로 분석하여 문제를 신속하게 해결할 수 있도록 지원하는 내장 지능형 계층이라고 합니다) 또한 Log Management를 통해 애플리케이션의 trace와 log를 연계하여 분석할 수 있는 환경을 제공합니다.

[ 느낀점 ]

이번 테크 세미나에 참석하기 전, 개인적으로 모니터링할 정도의 큰 프로젝트를 운영한 경험이 없어 모니터링 서비스를 잘 이해할 수 있을지 걱정이 되었습니다. 그래서 Datadog를 간단하게 살펴보았고 그 중 Datadog이 2022 Magic Quadrant™ for APM and Observability에서 2년 연속 “Leader”로 선정되었다는 것을 보았습니다. (https://www.datadoghq.com/blog/datadog-apm-observability-gartner-magic-quadrant-2022/) 이번 세미나 내용을 들으면서 왜 Datadog이 APM and Observability 분야에서 이러한 높은 평가를 받았는지 알 수 있었습니다.

그리고 연사님들께서 설명을 잘 해주셔서 세미나 시간 동안 편안하게 들을 수 있었고 얻어가는 것이 많았습니다. 또한, QnA에 대한 답변이 실시간으로 빠르게 답변해주시는 것을 보고 대단하시다고 느꼈고 다음에는 저도 질문을 할 수 있을 정도의 수준이 되어야 겠다고 다짐하는 시간이 되었습니다.

이번 테크 세미나를 통해 현업 개발자들의 시선에서 Datadog을 어떻게 활용하여 서비스 전반적인 모니터링을 효율적으로 관리할 수 있는지 배울 수 있는 시간이었습니다. 이를 기반으로, 큰 프로젝트를 진행할 때 Datadog을 활용하여 서비스들을 통합적으로 모니터링하고 관리하는 것을 시도해보고 싶습니다!

세미나를 준비해주신 Datadog 연사님들과 세미나를 주최해주신 DEVOCEAN 감사합니다!😄