들어가는 글: 클라우드 전환의 새로운 패러다임
안녕하세요. KT AI Data Engineering부서에서 Data TX를 담당하고 있는 표기웅 입니다.
KT는 MS와의 전략적 파트너십을 기반으로 한국적 AI 개발에 박차를 가하고 있으며, 전사적으로 AI 성능의 핵심 요소인 데이터의 중요성이 그 어느 때보다 강조되고 있습니다.
특히 Azure Cloud를 활용한 서비스 및 플랫폼의 클라우드 마이그레이션이 활발히 진행 중이며, 이는 국내뿐 아니라 글로벌 기업들의 흐름과도 맞닿아 있습니다.
전통적으로 금융, 통신 등 규제 산업에서는 On-premise 환경에서 시스템을 운영해왔지만, 최근에는 이러한 산업에서도 Cloud로의 전환이 가속화되고 있습니다.
KT 역시 기존 On-premise 기반의 데이터 플랫폼을 Cloud로 전환하며, 안정성과 확장성을 동시에 확보하고자 노력하고 있습니다.
Data TX 대시보드 개발 스토리: 복잡성에서 찾은 해답
보아지 않는 데이터의 흐름
기존 원천시스템에서 Azure Databricks로 데이터를 수집하면서 Daily로 적재할 때마다 정상적으로 데이터가 수집되는지 파악이 어려웠습니다.
클라우드 기반의 데이터 수집 환경은 점점 더 복잡해지고 있었고, 특히 On-premise에서 Databricks로 이어지는 수집 파이프라인은 다양한 요소들이 얽혀 있어 운영 안정성과 효율적인 관리가 무엇보다 중요해졌습니다.
저희 팀 이러한 복잡성을 해소하고, 데이터 수집의신뢰성과 가시성을 확보하기 위해 통합 대시보드 개발을 목표로 하게 되었습니다.
왜 대시보드가 필요했을까?
기존에는 Azure Databricks로 데이터를 수집하면서, 매일 적재가 제대로 이루어지고 있는지 확인하는 것이 쉽지 않았습니다.
수많은 배치 작업이 동시에 진행되고 실패하는 경우도 잦았으며, 어떤 작업이 실패했는지, 어느 테이블에 문제가 생겼는지 빠르게 파악하기 어려웠습니다. 이런 문제들을 해결하기 위해, 저희 팀은 데이터 수집 과정 전체를 시각화하고,실시간 모니터링이 가능한 통합 대시보드를 만들기로 결심했습니다.
이는 단순한 모니터링을 넘어, 운영 안정성과 데이터 품질, 비용 효율성까지 모두 고려한 전략적 도구였습니다.
대시보드 개발의 5가지 핵심 목표
1. 운영 안정성 확보: 수집 작업의 흐름을 한눈에
데이터 수집은 단순한 적재가 아닙니다. On-premise에서 시작된 데이터가 Azure Databricks로 넘어가는 과정에서, 수많은 배치 작업이 실행되고 실패하기도 합니다. 이때 실패한 작업의 에러 로그를 추적하고, 어떤 테이블이 영향을 받았는지를 빠르게 파악하는 것이 중요합니다. 대시보드는 이러한 흐름을 시각화하여, 운영자가 즉시 대응할 수 있도록 돕습니다.
2. 스케줄 관리: 놓치지 않는 실행, 빠른 복구
배치 작업은 정해진 시간에 실행되어야 합니다. 하지만 스케줄 오류나 누락은 종종 발생하며, 당일 수행 여부를 확인하는 것조차 쉽지 않습니다. 대시보드는 스케줄의 실행 상태를 실시간으로 보여주고, 오류 발생 시 빠르게 재수행하거나 소급할 수 있는 기반을 마련합니다.
3. 수집량 및 이상 탐지: 데이터의 건강 상태를 진단
매일 적재되는 테이블의 건수는 데이터 품질을 가늠하는 중요한 지표입니다. 특정 테이블에서 수집량이 급증하거나 급감할 경우, 이는 시스템 이상이나 원천 데이터의 문제일 수 있습니다. 대시보드는 이러한 이상치를 탐지하여, 조기에 문제를 식별하고 대응할 수 있도록 합니다.
4. 비용 관리: 리소스 사용의 투명성 확보
Databricks 클러스터는 강력하지만, 그만큼 비용도 민감합니다. 어떤 작업이 과도한 리소스를 사용하고 있는지, 클러스터 변경이나 데이터양 증가로 인해 비용이 급증하고 있는지를 추적하는 것은 필수입니다. 대시보드는 클러스터 사용 현황과 리소스 소비량을 시각화하여, 비용 이상치를 빠르게 파악할 수 있도록 지원합니다.
5. 배치 시간 최적화: 리소스 충돌을 피하는 전략
Databricks는 사용자들이 동시에 작업을 수행할 경우 리소스 경쟁이 발생할 수 있습니다. 대시보드는 사용자가 많이 몰리는 시간대, 배치가 집중되는 시간대를 분석하여, 신규 배치 개발 시 최적의 시간대를 선택할 수 있도록 가이드합니다.
현장의 목소리: 실제 운영 제약사항들
데이터 수집 Flow의 가시성 부족
원천 시스템과 Databricks storage 같은 여러 수집 구간을 통해 적재되면서 데이터 수집 Flow 확인에 제약이 발생했습니다. 이는 마치 어둠 속에서 길을 찾는 것과 같았습니다.
5가지 핵심 관리 이슈들
-
스케줄 관리의 어려움
-
당일 수행되는 스케줄 실행여부 확인의 어려움
-
스케줄 오류 시, 신속한 재수행 및 소급의 복잡성
-
배치 파이프라인의 복잡성
-
워크플로우 수집 중단 시, 정확한 중단 시점 및 테이블 파악 필요
-
워크스페이스 및 테이블 권한/메모리 등의 이슈로 테이블 수집 중단 시, 원인 파악의 어려움
-
배치 시간 관리의 복잡성
-
Databricks 리소스 관리를 위해 사용자가 많이 사용하는 시간, 배치가 많이 수행되는 시간을 피하여 신규 배치 개발 필요
-
비용 관리의 투명성 부족
-
정기적으로 수행되는 배치 항목의 비용 이상치에 대한 추적 필요(예: 데이터양의 증가, 클러스터 변경 등)
-
데이터 수집 품질 모니터링
-
테이블별 수집되는 건수를 파악하여 이상치에 대해서 빠른 식별 필요
단계별 데이터 입수 모니터링 대시보드 개발
1. 원천시스템 대시보드 구성
기존 시스템의 지혜를 빌리다
사내 KT의 기존 빅데이터 클러스터 시스템 중 하나로, 대용량 데이터를 수집 및 제공하고 있었던 시스템의 경험에서 중요한 깨달음을 얻었습니다.
ASIS와TOBE시스템은 공통적으로 여러 시스템과 다구간에서 데이터가 수집되기 때문에 운영의 역할이 매우 중요했습니다. 그래서 현재 운영중인 시스템의 대시보드를 참고하여, 데이터 수집에 대한 운영 안정성을 확보할 수 있는 구성이 무엇일지 고민하며 설계하게 되었습니다.
원천 시스템 기존 대시보드의 핵심 구성요소
시스템 인프라 모니터링
-
HDFS 네임노드, 데이터노드 상태
-
HDFS 디스크 및 CPU 사용률
실행 현황 추적
-
쿼리 및 워크플로우 실행 현황(실행 쿼리 수/워크플로우 수 현황)
-
현재 사용중인 유저 현황
스케줄 및 성능 관리
-
워크플로우 스케줄 현황
-
장시간 실행 쿼리 및 워크플로우 모니터링
2. 데이터 수집 대시보드 구성
2.1. 대시보드 설계 구성안
2.2. 대시보드 구성 요소 설명
(1) Schedule에 대한 화면
-
화면 설명: 수집 영역의 당일 스케줄 현황 및 실행 내역
-
화면 필요성: 스케줄 실행 내역을 통해 당일 배치 오류 건을 추적하고, 신속한 재수행으로 배치 운영의 안정화 가능
-
화면 개발: Databricks REST API 수집 (api/jobs/get, api/jobs/list) 활용
(2) 당일 워크플로우/테이블 적재 현황
A. 당일 워크플로우 실행 현황
-
화면 설명: 당일 수행된 워크플로우 실행 내역
-
화면 필요성: 당일의 워크플로우 실행 내역을 통해 수행된 시간/결과/에러상세내역 확인 가능
B. 당일 시간대별 워크플로우 수행 현황 & 테이블별 적재건수 현황
-
화면 설명: 금일 시간대별 워크플로우 수행 현황 & 금일 테이블별 적재건수 현황
-
화면 필요성: 당일 시간대별 워크플로우 수행현황이 파악되어 어느 시간대 Traffic이 몰리는지 시각화 가능하며, 테이블별 적재건수 현황을 파악 가능
(3) 수행 실패 및 적재 이상 현황
A. 당일 지연 수행된 워크플로우 & 당일 테이블 적재 건수 이상치
-
화면 설명: 금일 수행된 워크플로우 지연건 리스트 (기준: 10분 이상 지연) & 금일 적재된 건수 추이 이상여부 확인
-
화면 필요성:
-
금일 수행된 워크플로우 기준으로 평균 시간 대비 10분 이상 지연되는 workflow파악 가능
-
Ops팀 운영 관점에서 7주치 평균 건수 대비 금일 적재된 건수가 차이나는 테이블에 대해서 선제적 파악 가능
-
B. 일주일 간 실패한 워크플로우 & 한 달간 실패한 워크플로우 현황
-
화면 설명: 수행 실패한 워크플로우
-
(왼쪽 화면) 일주일 간 실패한 워크플로우
-
(오른쪽 화면) 한 달간 실패한 워크플로우 현황
-
-
화면 필요성: 실패 현황을 통해 빈번하게 오류가 발생하는 워크플로우와 일자 추적 용이
C. 당일자 시간대별 Memory & CPU 사용량 파악
-
화면 설명: 당일자 시간대별 수행된 Memory & CPU 사용량을 통해 시간대별 Resource사용량을 파악하기 위함
-
화면 필요성: 특정 시간대에 리소스 과다 사용 여부 확인, 시스템 성능 모니터링 및 병목 현상 파악
(4) 비용 발생 현황 및 이상 현황
A. 2주간 비용이 가장 많이 발생한 Top10 & 한 달간 일평균 비용 50% 증가한 워크플로우
-
화면 설명: 비용이 많이 발생한 워크플로우
-
(왼쪽 화면) 2주간 비용이 가장 많이 발생한 워크플로우 Top10
-
(오른쪽 화면) 최근 한 달간 일 평균 비용 증감율이 50%이상인 워크플로우
-
-
화면 필요성: 정기적으로 실행되는 배치에 대해서 비용 발생이 이상치를 보이는 워크플로우를 추적하여 관리하기 위함
3. 대시 보드 개발 성과
운영 안정성의 비약적 향상
-
수집 작업의 스케줄 모니터링을 통해 장애 발생 시 즉각 대응 가능
-
작업 실패율 감소및 평균 복구 시간 단축
-
운영자 간 정보 공유 및 협업 효율성 증가
수집 배치 흐름 가시성 확보
-
스케줄 누락 및 지연 추적으로 데이터 누락 사전 방지
-
이상 징후 추적을 통한 데이터 품질 문제 선제 대응
비용 절감 및 리소스 최적화
- 비효율적인 클러스터 작업 개선기회 제공
-
클러스터 리소스 사용량 현황을 통해 과다 사용 작업 식별
-
대시보드 알람 기능으로 주말이나 업무 시간 외에도 현황 파악이 가능함
Data TX 대시보드 개발에 도움을 주신 분들
백형우 님, 김유하 님, 김도현 님