검토 배경
우리 회사에서 데이터독 프로그램을 도입하는게 합리적인지 판단하려고 합니다.
사실 구매에 사유만 필요하고 관리의 비용이 없으면 무조건 쓰는게 좋을거라고 생각합니다.
(비용 자체도 연 단위로 xxxx만원이라고 들었는데 회사에서 받아 들일 땐 적은돈인지 아닌지는 잘 모르겠습니다.)
그래서 관리의 비용을 아래와 같이 측정하는게 중요할 것 같습니다.
현재 대략 10명 중반대의 인원 정도가 Datadog의 주요 사용 인원으로 확정되어있습니다.
검토 기준
1. 돈 주고 사서 쓰는데 어렵지 않은 경우
- 효과가 적어도 도입 가능
2. 돈 주고 사서 쓰는데 제대로 쓰기 위한 구축이 인력과 시간이 많이 드는 경우
- 효과가 커야 도입가능
저는 개인적으로 이정도의 기준으로 생각하고 있습니다.
히스토리
최근에 DevOps 쪽 업무에서 Datadog을 사용하려고 인프라를 구축 중이었습니다.
그리고 한 달 정도 실제 써보고 계약을 연장할지 말지 고민하는 과정을 하고있는데요.
실제로는 고민에 많은 시간을 쓰지 못하고 다른 업무들 일정이 너무 바빠서 검토를 시작조차 못 하고 있는 상황입니다.
그래서 가장 가성비 좋게 판단할 수 있는 방법이 세미나를 통해서 사용 방법을 배우고 우리의 use-case에 맞을지 검토해보는 방법이었어서 아래 세미나들을 보고 판단을 내려보려고 합니다.
그래서 최소한 사용방법과 Best Practice를 보고 실제로 제대로 써보기 위해서 글을 정리해보겠습니다.
일반적인 Datadog 사용처
B2C 혹은 B2B도 많은 유저를 가지고 있는 클라우드 환경에서 서비스를 구축한 회사들이 대부분이긴합니다.
아마도 Datadog 사용의 주요 이유로는 우리 내부의 스토리지 서비스 모니터링을 위해서 들여온것으로 생각됩니다. (이제는 없어지게 되어 Datadog 사용 검토가 조금 더 신중 해 진 이유 이기도 합니다.)
카카오 엔터, 샌드버드, 쏘카, 올리브영, 넷마블, 지바이크, 클래스101 등..
다만, 결국 이 회사들은 우리 고객의 고객이거나 우리의 고객이거나에 해당합니다.
이 사람들이 우리의 스토리지를 잘 쓰게 하기 위한 방법에 대해서 고민하는 한 가지 방법으로 Datadog을 써볼 수 있지 않을까 그런 가정으로 Datadog 사용에 대한 검토를 진행했습니다.
Datadog 기본 특징
Datadog은 SaaS라서 On-premise 제품이 없다고합니다.
데이터독의 기능 중 우리가 필요한 기능은 대부분 로그와 CI/CD에 한정되어있습니다.
이 중에서 이번 포스트에서는 로그에 대한 기능 지원을 중점적으로 알아보도록하겠습니다.
1. 쉬운 로그 수집 및 관리
관련 기능
1. 로그를 메트릭화해서 보관할 수 있음 (필요한지는 모르겠으나 우리의 메트릭 만들기에 도움될지도 모르겠습니다.)
2. 아카이빙 위치를 바꿀 수 있음 (우리에게 필요 해 보이진 않습니다.)
3. Log Forwarding (우리에게 필요 해 보이진 않습니다.)
4. 검색이 쉬움 (우리에게도 필요한 기능이나, 서비스 관점의 검색이므로 온프레미스가 아니면 도입 힘들어 보입니다.)
5. live tail 가능 (tail -f 와 비슷, 4와 동일한 이유입니다.)
현존하는 대부분의 로그 포맷에 대해서 플러그인으로 지원하며, 커스텀도 가능하다고합니다.
2. 쉬운 로그 분석
watchdog 기능 (모니터링 보조)
운영시에 이상 로그 패턴(Anomaly)에 대해서 AI로 알려주는기능입니다.
별도 비용 청구 없이 자동으로 해준다고 합니다.
또한, 대시보드도 따로 구성할 필요 없다고합니다.
어플리케이션과 인프라의 로그 및 문제를 같이 봐야 운영상에 문제가 없는데 그것을 잘 지원 해 준다고합니다.
trace 기능으로 지원한다고 합니다.
아래와 같이 어플리케이션/인프라/컨테이너 등등 각각의 메트릭과 구성을 한꺼번에 보여줍니다.
개인적으로는 이런생각이 들었습니다.
"와.. 이정도로 메트릭이 많으면 뭐가 문제인지 못찾는게 더 힘들겠다."
우리의 SRE팀에서 Datadog이 신세계다 우리는 소꿉놀이였다라고하는게 웨비나를 보면서도 느껴집니다.\
이거를 직접 대시보드 구성하고 하면 엄청난 시간과 디버깅이 필요할거 같은데 그걸 이제 돈으로 해결하는 느낌이 들었습니다.
3. 인프라, APM과 연계 분석
메트릭으로 데이터를 분석 할 수도 있을것 같습니다.
4. 맞춤 대시보드 및 알람
대시보드 화면에서 바로 알람설정 화면으로 갈 수 있음.
Slack, Teams 등과 연계 가능하다고 합니다. (안타깝게도 우리 회사에서는 쓰지 못합니다 ㅜ_ㅜ)
5. Logging without limits
로그 보관을 도와주는듯 합니다.
로그 기능의 Use-case
추가 기능
정규식 기반으로 민감데이터를 처리하고 있다고합니다.
수동으로 설정도 가능하구요.
러닝 플랫폼에서 핸즈온랩으로 사용해 볼 수 있다고 하니 직접 위의 모든 장점들을 경험 해 보는 시간을 가져봐야겠습니다.
The Datadog Learning Center (datadoghq.com)
로그 이외의 기능
보안
클라우드를 사용해서 서비스를 관리하지 않는 우리 파트는 코드 품질과 Github Action 제외하면 우리에겐 보안 기능은 필요가 없는것으로 생각됩니다.
우리가 사용하는 OpenTelemetry와의 연계
Github Action Workflow 연계 (현재는 이것만 사용 중)
장애 이후 테스트 작성
우리가 사용 가능할지는 모르겠으나 이런 기능도 지원합니다.
아마도 사내 스토리지 서비스에 도입 후 이 시나리오를 그쪽에서 전달받는것은 가능할 수 있을것 같습니다.
도입에 필요한 인력과 시간
필요한 작업
- datadog을 사용할 수 있게 뚫는 작업 (물어보기)
- datadog을 사용할 수 있게 유지 보수 하는 작업 (물어보기)
- datadog을 더 사용하기 위해서 추가 인프라를 붙이는 작업 (기존 붙인 데이터로 추산해보기)
Use-case 검토하기
1. 컨테이너 및 static code 품질 체크
Datadog의 기본적인 기능을 사용하면 가능 해 보입니다.
2. 우리의 제품을 실제 Deploy하고 쓰는 경우의 지원을 위해서 사용하기
사내 Object 서비스에 Datadog이 도입되어있고(확인 필요) 그 인프라는 우리의 스토리지 서버를 사용한다는 가정.
이에 대한 기능을 지원하기 위해서 우리도 써본다.
안쓰면 말짱 도루묵
또한, 기능 검증 부서에서 이걸 쓰고 테스트를 돌리거나 하면 이슈의 대응이 빨라질것 같긴하나 회사 보안 이슈상 그게 어려울것 같다고 생각이 듭니다.
3. 우리의 CI/CD 파이프라인 관리를 위해서 사용하기
현재도 CI/CD 파이프라인에 대한 대시보드를 Datadog으로 운영중입니다.
또한, 실패시의 로그나 분석이 이를 통해서 쉬워질 것으로 생각됩니다.
다른 사용 방식으로는 아래를 지원합니다.
Datadog CI Visibility는 예를 들어 가장 많이 실행된 파이프라인, 빌드 단계 또는 작업, 실패 빈도, 완료하는 데 걸리는 시간 등을 이해하는 데 도움이 되는 핵심 성능 지표를 생성하여 CI 제공업체 전반의 모든 파이프라인에 대한 포괄적인 가시성을 제공합니다.
그래서 CI/CD 자체적으로 테스트에 문제가 있는 경우 찾기가 쉬워 집니다. (불안정한 테스트 식별 및 해결)
4. GUI 테스트 및 API 테스트를 위해서 사용하기
API, multistep API test, browser-test를 쉽게 구성할 수 있어보입니다.
일반적으로 웹이나 API 반응성이나 performance를 보기 위함이라 우리의 프로젝트에 맞는지는 의문부호가 있긴합니다.
아무튼 테스트 구성은 쉽다가 요약입니다.
Datadog Synthetic monitoring Browser Test Steps (youtube.com)
다만, 우리의 제품이 메인은 GUI가 아니라서 그정도의 중요성인가 하면 의문이 있습니다.
실제 브라우저에서 제품을 띄워놓고 테스트를 실행하게 할 수 있습니다.
테스트 작성은 쉬워보입니다.
다만, 기본적으로는 public 도메인을 기준으로하는데 private 을 위한 tunnel도 있다고는 합니다.
우리 파트에서 사용 가능 할 지/쉽게 구성 가능할 는 좀 더 조사가 필요합니다.
Testing Local and Staging Environments (datadoghq.com)
5. 실제로 Datadog 같은 좋은 프로덕트를 써보면서 우리의 로그/metric이 어떻게 추가되어야할 지 상위 레벨에서 검토 가능
결론
결론을 내려봤을때 아주 쓸만한 곳이 많은가 라고 하면 애매한 부분은 있으나, 가격/인력 사용 검토를 추가로 해보면 결론은 내릴 수 있을것 같습니다.(이 부분은 공개할 수 없는 부분도 있고, 회사마다 다르기에..)
그리고 사용시의 개발자 편의성 측면에서 장점은 있어보입니다. (사실은 돈주고 쓰는건데 없으면 이상한..)
그래서 이 자료를 토대로 다음 주 가격/인력사용량이 얼마나 될지 토의 후 결론을 내릴 수 있을것 같습니다.
다른 스토리지 회사의 Datadog 사용
혹시나 다른 기업들은 사용하는지 궁금해서 비슷한 스토리지 회사들의 Integration을 찾아봤습니다.
Dell EMC ECS (Enterprise Object Storage)
Dell EMC Isilon
Dell EMC Isilon (datadoghq.com)
Pure Storage FlashBlade & FlashArray
NetApp은 더 많습니다.
Ceph 플러그인 도 있습니다.
참고자료
[Datadog 웨비나] Top 5 케이스로 배우는 Datadog 로그 관리 해법 - YouTube
[Datadog 웨비나] 마이크로서비스 아키텍처(MSA) 보안 Best Practice (youtube.com)
'업무 개선 > 검토자료' 카테고리의 다른 글
Docusaurus를 활용한 Doc as a code 및 Github Pages로 Deploy 해보기 (0) | 2024.08.04 |
---|---|
Docusaurus를 사용한 Doc as a code Deploy 검토하기 (0) | 2024.08.03 |
개발 및 IT 관련 포스팅을 작성 하는 블로그입니다.
IT 기술 및 개인 개발에 대한 내용을 작성하는 블로그입니다. 많은 분들과 소통하며 의견을 나누고 싶습니다.