Overview

서비스 개요

Data Ops는 주기적 또는 반복적으로 발생하는 데이터 처리 작업에 대해 워크플로우를 작성하고, 작업 스케줄링을 자동화하는 Apache Airflow 기반의 관리형 워크플로우 오케스트레이션 서비스입니다. 사용자는 유용한 데이터를 필요한 시간에 올바른 장소로 가져오는 프로세스를 자동화하고, 데이터 파이프라인의 구성 및 진행 상황을 모니터링할 수 있습니다.

구성도
그림. Data Ops 구성도

제공 기능

Data Ops는 다음과 같은 기능을 제공하고 있습니다.

  • 편리한 설치 및 관리: Data Ops는 표준 Kubernetes 클러스터 환경에서 웹 기반 Console을 통해 손쉽게 설치가 가능합니다. Apache Airflow와 관리 모듈이 자동 설치되며, 통합 대시보드를 통해 웹 서버 및 스케줄러의 실행 상태에 대한 통합 모니터링이 가능합니다.
  • 동적 파이프라인 구성: Python 코드를 기반으로 데이터 작업에 대한 파이프라인 구성이 가능합니다. 데이터 작업 예약과 연동하여 동적으로 작업을 생성하기 때문에 원하는 워크플로우 형태와 스케줄링을 자유롭게 구성할 수 있습니다.
  • 편리한 워크플로우 관리: DAG (Direct Acyclic Graph: 방향성 비순환 그래프) 구성을 웹 기반의 UI를 통해 시각화하여 관리하기 때문에 데이터 흐름의 전후 및 병렬 관계를 쉽게 이해할 수 있습니다. 또한 각 작업의 타임아웃, 재시도 횟수, 우선순위 정의 등을 손쉽게 관리할 수 있습니다.

구성 요소

Data Ops는 Manager와 Service 모듈로 구성되며, Apache Airflow를 패키징하여 제공합니다.

Data Ops Manager

Data Ops Manager는 Airflow를 더 효율적으로 활용할 수 있도록 다양한 Managing 기능을 제공합니다.

  • Ops Manager를 통해 Ops Service에서 사용할 Plugin File, Shared File, Python Library File을 업로드할 수 있습니다.
  • 클러스터 내의 Airflow 구성 컴포넌트에 대한 설정 정보를 손쉽게 프로비저닝할 수 있습니다.
  • Airflow 클러스터 내에 다른 서비스 설정 정보를 관리하고 쉽게 프로비저닝할 수 있습니다.

Data Ops Service

  • Apache Airflow 기반의 관리형 워크플로우 오케스트레이션 서비스를 제공합니다.
  • Airflow 제공시 Description, 필요한 자원규모, DAGs GitSync, Host Alias를 설정할 수 있습니다.
  • 서비스 생성 이후에는 Description, 사용하는 자원규모, DAGs GitSync, Host Alias를 수정하여 서비스 반영할 수 있습니다.

서버 스펙 유형

Data Ops 서비스 생성 시 다음 내용을 확인하세요.

  • 서비스 설치 권장 사양: CPU KubernetesExecutor 43 core, CPU CeleryExecutor 25 core, Memory 50 GB, 스토리지 100 GB 이상
참고
  • Data Ops 서비스를 생성하기 전에 Ingress Controller 설치가 필요합니다.
  • Kubernetes 클러스터에는 1개의 Ingress Controller만 설치할 수 있습니다.
  • 자세한 내용은 Ingress Controller 설치하기를 참고하세요.

리전별 제공 현황

Data Ops는 아래의 환경에서 제공 가능합니다.

리전제공 여부
한국 서부(kr-west1)제공
한국 동부(kr-east1)제공
한국 남부1(kr-south1)미제공
한국 남부2(kr-south2)미제공
한국 남부3(kr-south3)미제공
표. Data Ops 리전별 제공 현황

선행 서비스

해당 서비스를 생성하기 전에 미리 구성되어 있어야 하는 서비스 목록입니다. 자세한 내용은 각 서비스 별로 제공되는 가이드를 참고하여 사전에 준비해 주세요.

서비스 카테고리서비스상세 설명
StorageFile Storage네트워크 연결을 통하여 다수의 클라이언트 서버가 파일을 공유하는 스토리지
ContainerKubernetes EngineKubernetes 컨테이너 오케스트레이션 서비스
표. Data Ops 선행 서비스

1 - ServiceWatch 지표

Data Ops에서 생성된 Kubernetes Engine에 대해 ServiceWatch에서 Kubernetes Engine 지표를 확인할 수 있습니다. Kubernetes Engine와 마찬가지로 기본 모니터링으로 제공되는 지표는 1분 주기로 수집된 데이터입니다.

참고
ServiceWatch에서 지표를 확인하는 방법은 ServiceWatch 가이드를 참고하세요.

기본 지표

다음은 네임스페이스 Kubernetes Engine에 대한 기본 지표입니다.

아래에서 지표명이 굵은 글씨로 표기된 지표는 Kubernetes Engine에서 제공하는 기본 지표 중 주요 지표로 선정한 지표입니다. 주요 지표는 ServiceWatch에서 서비스별로 자동으로 구축되는 서비스 대시보드를 구성하는데 활용됩니다.

각 지표는 해당 지표를 조회할 때 어떤 통계값으로 조회하는 것이 의미있는지 의미 있는 통계값을 사용자 가이드를 통해 안내하고 있으며, 의미있는 통계 중에서 굵은 글씨로 표기된 통계값이 주요 통계값입니다. 서비스 대시보드에서는 주요 지표를 주요 통계값을 통해 조회할 수 있습니다.

지표명상세 설명단위의미있는 통계
cluster_up클러스터 업Count
  • 합계
  • 평균
  • 최대
  • 최저
cluster_node_count클러스터 노드 수Count
  • 합계
  • 평균
  • 최대
  • 최저
cluster_failed_node_count클러스터 실패 노드 수Count
  • 합계
  • 평균
  • 최대
  • 최저
cluster_namespace_phase_count클러스터 네임스페이스 페이즈 수Count
  • 합계
  • 평균
  • 최대
  • 최저
cluster_pod_phase_count클러스터 파드 페이즈 수Count
  • 합계
  • 평균
  • 최대
  • 최저
node_cpu_allocatable노드 CPU 할당가능량-
  • 합계
  • 평균
  • 최대
  • 최저
node_cpu_capacity노드 CPU 용량-
  • 합계
  • 평균
  • 최대
  • 최저
node_cpu_usage노드 CPU 사용량-
  • 합계
  • 평균
  • 최대
  • 최저
node_cpu_utilization노드 CPU 사용률-
  • 합계
  • 평균
  • 최대
  • 최저
node_memory_allocatable노드 메모리 할당가능량Bytes
  • 합계
  • 평균
  • 최대
  • 최저
node_memory_capacity노드 메모리 용량Bytes
  • 합계
  • 평균
  • 최대
  • 최저
node_memory_usage노드 메모리 사용량Bytes
  • 합계
  • 평균
  • 최대
  • 최저
node_memory_utilization노드 메모리 사용률-
  • 합계
  • 평균
  • 최대
  • 최저
node_network_rx_bytes노드 네트워크 수신 바이트Bytes/Second
  • 합계
  • 평균
  • 최대
  • 최저
node_network_tx_bytes노드 네트워크 송신 바이트Bytes/Second
  • 합계
  • 평균
  • 최대
  • 최저
node_network_total_bytes노드 네트워크 전체 바이트Bytes/Second
  • 합계
  • 평균
  • 최대
  • 최저
node_number_of_running_pods노드 구동 파드 개수Count
  • 합계
  • 평균
  • 최대
  • 최저
namespace_number_of_running_pods네임스페이스 구동 파드 개수Count
  • 합계
  • 평균
  • 최대
  • 최저
namespace_deployment_pod_count네임스페이스 디플로이먼트 파드 수Count
  • 합계
  • 평균
  • 최대
  • 최저
namespace_statefulset_pod_count네임스페이스 스테이트풀셋 파드 수Count
  • 합계
  • 평균
  • 최대
  • 최저
namespace_daemonset_pod_count네임스페이스 데몬셋 파드 수Count
  • 합계
  • 평균
  • 최대
  • 최저
namespace_job_active_count네임스페이스 잡 활성 수Count
  • 합계
  • 평균
  • 최대
  • 최저
namespace_cronjob_active_count네임스페이스 크론잡 활성 수Count
  • 합계
  • 평균
  • 최대
  • 최저
pod_cpu_usage파드 CPU 사용량-
  • 합계
  • 평균
  • 최대
  • 최저
pod_memory_usage파드 메모리 사용량Bytes
  • 합계
  • 평균
  • 최대
  • 최저
pod_network_rx_bytes파드 네트워크 수신 바이트Bytes/Second
  • 합계
  • 평균
  • 최대
  • 최저
pod_network_tx_bytes파드 네트워크 송신 바이트Bytes/Second
  • 합계
  • 평균
  • 최대
  • 최저
pod_network_total_bytes파드 네트워크 전체 바이트Count
  • 합계
  • 평균
  • 최대
  • 최저
container_cpu_usage컨테이너 CPU 사용량-
  • 합계
  • 평균
  • 최대
  • 최저
container_cpu_limit컨테이너 CPU 리미트-
  • 합계
  • 평균
  • 최대
  • 최저
container_cpu_utilization컨테이너 CPU 사용률-
  • 합계
  • 평균
  • 최대
  • 최저
container_memory_usage컨테이너 메모리 사용량Bytes
  • 합계
  • 평균
  • 최대
  • 최저
container_memory_limit컨테이너 메모리 리미트Bytes
  • 합계
  • 평균
  • 최대
  • 최저
container_memory_utilization컨테이너 메모리 사용률-
  • 합계
  • 평균
  • 최대
  • 최저
node_gpu_count노드 GPU 수Count
  • 합계
  • 평균
  • 최대
  • 최저
gpu_tempGPU 온도-
  • 합계
  • 평균
  • 최대
  • 최저
gpu_power_usageGPU 전력 사용량-
  • 합계
  • 평균
  • 최대
  • 최저
gpu_utilGPU 사용률Percent
  • 합계
  • 평균
  • 최대
  • 최저
gpu_sm_clockGPU SM 클럭-
  • 합계
  • 평균
  • 최대
  • 최저
gpu_fb_usedGPU FB 사용량Megabytes
  • 합계
  • 평균
  • 최대
  • 최저
gpu_tensor_activeGPU 텐서 활성률-
  • 합계
  • 평균
  • 최대
  • 최저
pod_gpu_util파드 GPU 사용률Percent
  • 합계
  • 평균
  • 최대
  • 최저
pod_gpu_tensor_active파드 GPU 텐서 활성률-
  • 합계
  • 평균
  • 최대
  • 최저
표. Kubernetes Engine 기본 지표