디지털서비스 이용지원시스템

자료실

[2024-10] 디지털서비스 이슈리포트 01 클라우드 기반 데이터 오케스트레이션 게시글 정보입니다.
2024.10.30 (수정 : 2024.10.30)
[2024-10] 디지털서비스 이슈리포트 01 클라우드 기반 데이터 오케스트레이션

01 클라우드 기반 데이터 오케스트레이션

│윤대균 아주대학교

들어가며

최근 '오케스트레이션(Orchestration)'이라는 단어가 다양한 IT 분야에서 심심치 않게 등장한다. 이 용어는 본래 음악에서 여러 악기를 조화롭게 편성하고 지휘하는 과정을 의미하지만, IT 분야에서는 복잡한 시스템의 여러 요소를 효율적으로 조정하고 관리하는 의미로 자리 잡았다.

가장 흔히 접하는 대표적인 예로는 ‘컨테이너 오케스트레이션’을 들 수 있다. 쿠버네티스와 같은 플랫폼을 통해 수많은 컨테이너를 자동으로 배포, 확장, 관리하는 이 기술은 클라우드 네이티브 환경의 근간이기도 하다. 최근에는 복잡하게 진화하는 AI 애플리케이션을 효과적으로 개발/배포하기 위한 ‘AI 오케스트레이션’에 대한 관심이 높아지고 있다. 특히 대규모 언어모델(LLM)에 기반한 생성형 AI 애플리케이션의 경유 모델 구축/배포, 모니터링, 도구 연계, 에이전트 및 API 관리 등 복잡한 작업을 효과적으로 운용하기 위한 ‘오케스트레이션’ 역할이 중요시되고 있다.


그림 1 오케스트레이션 계층을 포함한 생성형 AI 아키텍처(출처: SoluLab)

AI 오케스트레이션 층은 여러 AI 모델과 관련 시스템 도구를 조화롭게 통합하고 관리하는 것을 말하며 복잡한 작업을 수행하기 위해 다양한 AI 기능을 효과적으로 조정하고 연결하는 것을 목표로 한다. AI와 머신러닝 모델의 개발, 배포, 운영을 자동화하고 효율적으로 관리하기 위한 엔드투엔드(End-to-End) 프로세스를 지칭하는 MLOps와 AI 오케스트레이션이 지향하는 목표도 매우 유사하다고 볼 수 있다. MLOps 파이프라인에서 데이터가 차지하는 비중은 매우 크다. (그림2) 데이터를 수집하고 정제한 후 이를 모델 학습에 활용하고, 이렇게 해서 배포된 모델을 기반으로 한 여러 AI 애플리케이션을 통해 수집되는 데이터가 또다시 모델 개발을 위해 활용된다. 즉 데이터 오케스트레이션은 AI 오케스트레이션과도 매우 밀접하게 연계되거나 혹은 이의 일부가 되기도 한다.


그림 2 MLOps 파이프라인(출처: atomcamp.com)

최근 AI 모델 학습 및 평가를 위한 데이터 오케스트레이션이 매우 높은 관심을 받고 있지만, 비단 AI 분야뿐만 아니라 데이터에 기반한 조직의 거의 모든 영역에서 데이터 오케스트레이션이 광범위하게 논의되고 있다.

데이터 오케스트레션 개요

데이터 오케스트레이션은 조직 내의 다양한 데이터 소스, 도구, 프로세스를 효과적으로 통합하고 관리하는 전략적 접근 방식이다. 이는 데이터의 수집부터 분석, 활용에 이르는 전체 생명주기를 포괄하며, 데이터 파이프라인의 효율성과 일관성을 극대화하는 것을 목표로 한다.

현대 비즈니스 환경에서 데이터 오케스트레이션의 중요성은 데이터의 폭발적 증가, 데이터 소스의 다양화, 실시간 분석 요구의 증가 등 복잡해진 데이터 환경에 기인한다. 전통적인 데이터 관리 방식으로는 이러한 복잡성을 효과적으로 다루기 어려우며, 이에 따라 더 체계적이고 자동화된 접근이 필요해졌다.

데이터 오케스트레이션의 핵심 목표는 다음과 같다:

  • 데이터 통합: 다양한 소스의 데이터를 일관된 방식으로 통합한다.

  • 프로세스 자동화: 반복적인 데이터 작업을 자동화하여 효율성을 높인다.

  • 데이터 품질 관리: 일관된 데이터 품질을 유지하여 신뢰성을 확보한다.

  • 확장성 확보: 데이터 볼륨 증가에 유연하게 대응할 수 있는 구조를 만든다.

  • 거버넌스 강화: 데이터 사용과 접근에 대한 체계적인 관리를 가능하게 한다.

이러한 목표를 달성함으로써, 조직은 데이터를 더욱 효과적으로 활용하여 인사이트를 얻고 비즈니스 가치를 창출할 수 있다.

데이터 오케스트레이션의 필요성은 다음과 같은 현대 비즈니스 환경의 특성에서 비롯된다.

  • 데이터 복잡성 증가: 빅데이터 시대에 들어서며 데이터의 양, 속도, 다양성이 급증했다. 이에 따라 데이터 관리의 복잡성도 함께 증가했다.

  • 실시간 의사 결정 요구: 비즈니스 환경의 빠른 변화에 대응하기 위해 실시간 데이터 분석과 의사 결정이 중요해졌다.

  • 규제 준수 요구: 데이터 프라이버시와 보안에 관한 규제가 강화되면서, 데이터의 라이프 사이클 전반에 걸친 체계적 관리가 필수적인 요소가 되었다.

  • 기술 스택의 다양화: 클라우드, 온-프레미스, 하이브리드 환경 등 다양한 인프라와 기술이 공존하면서 이들 간의 원활한 데이터 흐름이 중요해졌다.

  • 데이터 민주화 및 사일로 해소: 조직 내 다양한 부서의 사용자들이 각자의 역할에 필요한 데이터에 쉽게 접근하고 활용할 수 있어야 하며, 조직 간 효과적인 데이터 공유 필요성이 크게 대두되었다.

이러한 환경에서 데이터 오케스트레이션은 단순한 기술적 솔루션을 넘어, 조직의 전체 데이터 전략을 실현하는 핵심 요소로 자리 잡고 있다.

그림3은 데이터 오케스트레이션의 주요 구성 요소와 그들 간의 관계를 보여준다. 데이터 소스에서 시작하여 통합, 처리, 저장, 이르는 데이터의 흐름과 함께, 이를 관리하는 워크플로우 관리 계층, 그리고 전체 프로세스를 지원하는 데이터 품질 관리, 거버넌스 및 보안, 모니터링 및 최적화, API/서비스 요소를 포함하고 있다.


그림 3 데이터 오케스트레이션 개념도(출처: 필자)

  • 데이터 소스: 다양한 소스(데이터베이스, API, 파일 시스템 등)에서 데이터를 수집. 각 소스의 고유한 형식과 프로토콜을 처리한다.

  • 데이터 수집: ETL/ELT 프로세스를 통해 데이터를 추출(Extract)하고 탑재(load)하는 것으로 배치 처리및 실시간 스트리밍 처리 모두 가능하다.

  • 데이터 저장: 수집된 데이터를 중앙 저장소(데이터 레이크 등)에 저장한다.

  • 데이터 처리: 데이터 변환, 정제, 표준화, 비즈니스 로직 적용을 위한 가공 작업을 수행한다.  이는 데이터 수집 단계에서의 ETL/ELT 단계에 포함될 수도 있으며, 특정 활용 목적에 적합하도록 추가 처리도 가능하다.

  • 품질관리: 품질 및 데이터의 일관성과 무결성을 유지한다.

  • 데이터 거버넌스: 보안, 규정 준수, 메타데이터 관리 및 데이터 계보를 추적(데이터 공급망 관리)한다.

  • 모니터링 및 최적화: 파이프라인의 성능과 상태에 대한 실시간 모니터링을 통해 오류와 이상 징후를 감지하고 필요시 즉시 알림을 보내 조치할 수 있도록 한다.

  • API 및 서비스: 처리된 데이터를 외부 시스템과 애플리케이션에 제공한다.

워크플로우 관리는 데이터 파이프라인의 실행 순서 및 상호 간 의존성(dependency) 관리, 작업 스케줄링, 오류처리, 파이프라인 자동화 메커니즘을 제공한다.

데이터 오케스트레이션의 활용 예는 다양한 산업 분야에서 찾아볼 수 있다. 예를 들어, 금융 서비스 업계에서는 데이터 오케스트레이션을 통해 고객 데이터, 거래 데이터, 시장 데이터 등을 통합하여 실시간 리스크 분석과 개인화된 금융 상품 추천에 활용한다. 제조업에서는 데이터 오케스트레이션을 통해 생산라인의 센서 데이터, 품질관리 데이터, 공급망 데이터 등을 통합 관리하여 생산 효율성을 높일 수 있다. 소매업에서도 데이터 오케스트레이션은 온라인과 오프라인 채널의 고객 데이터, 재고 데이터, 판매 데이터 등을 통합하여 옴니채널 전략을 효과적으로 구현할 수 있다.

이러한 활용 예는 데이터 오케스트레이션이 단순한 기술적 성과를 넘어 비즈니스 성과에 직접적인 영향을 미치는 전략적 도구임을 시사한다. 데이터 오케스트레이션을 통해 조직은 데이터의 가치를 극대화하고, 더 빠르고 정확한 의사 결정을 내릴 수 있게 되며, 궁극적으로는 고객 만족도 향상과 비즈니스 성과 개선으로 이어지게 된다.

이러한 맥락에서 데이터 오케스트레이션은 조직의 데이터 자산을 효과적으로 관리하고 활용하기 위한 매우 중요한 수단이라고 볼 수 있다. 이는 단순히 데이터를 한 지점에서 다른 지점으로 이동시키는 것을 넘어서, 데이터의 수집, 처리, 저장, 분석, 그리고 활용에 이르는 전체 과정을 조화롭게 관리하는 것을 의미한다.

데이터 오케스트레이션은 다른 오케스트레이션 개념들과 마찬가지로 복잡성 관리, 자동화, 효율성 향상을 목표로 한다. 그러나 데이터의 특성상, 데이터 품질, 보안, 규정 준수, 그리고 데이터 거버넌스와 같은 고유한 과제들도 함께 다룬다. 따라서 데이터 오케스트레이션은 조직의 전체 데이터 전략을 실현하는 핵심기술 요소로 자리 잡고 있다.

클라우드 기반 데이터 오케스트레이션 솔루션/서비스

데이터 오케스트레이션 구현을 위해서는 다양한 전략적 선택지를 검토해 보아야 한다. 기업에서 이를 필요로 하는 목적, 데이터 규모, 실시간성, 보안 및 제한 요건과 같은 요구 사항뿐만 아니라, 해당 기업이 활용하고 있는 인프라, 인적 자산 및 기술 역량 등을 종합적으로 고려하여야 한다. 최근 대부분 기업에서 퍼블릭 클라우드 컴퓨팅 활용이 보편화되었으므로 우선 자사가 활용하는 클라우드 기업에서 제공하는 데이터 오케스트레이션 솔루션을 첫 번째 옵션으로 고려해 볼 수 있다. 이에 주요 클라우드 기업에서 제공하는 관련 서비스를 살펴보겠다.

1. AWS Step Functions & AWS Glue

AWS는 데이터 오케스트레이션을 위한 다양한 도구를 제공하지만, 대표적인 솔루션으로 AWS Step Functions를 들 수 있다. AWS Step Functions는 AWS에서 제공하는 서버리스 오케스트레이션 서비스로, 복잡한 워크플로우를 시각적으로 설계하고, 여러 AWS 서비스를 연결하여 작업을 조율하는 데 사용된다. 서버리스 특성상 상태(state) 기반으로 단계별 수행할 작업의 흐름을 정의하여 이를 자동으로 관리하는 데 활용할 수 있는 일종의 ‘범용’ 오케스트레이션 도구이다. 람다 기반의 함수 호출 흐름뿐만 아니라 여러 ‘마이크로서비스’들의 오케스트레이션에도 적용될 수 있다.

AWS Step Functions의 대표적인 활용 예가 데이터 처리 및 ETL 오케스트레이션이다. ETL 및 배치 방식의 처리뿐만 아니라 실시간 스트리밍 데이터 처리를 위한 데이터 처리 파이프라인 구축을 위해 활용될 수 있다. 데이터를 처리하는 여러 람다 함수를 조합하여 구성한 데이터 오케스트레이션 예는 다음과 같다.


그림 4 AWS Step Functions 기반 스트리밍 데이터 처리를 위한 파이프라인 예 (출처: AWS)

AWS Step Functions가 오케스트레이션에 초점을 맞춰 다양한 목적으로 활용될 수 있는 서비스라면 AWS Glue는 완전 관리형 서비스로 제공되는 데이터 파이프라인 서비스이다. 최근에는 기계 학습에 필요한 데이터 수집 및 관리를 위해 MLOps 라이프 사이클에서 많이 활용된다. 주 활용 예는 다음과 같다.

  • 통합 개발 환경(IDE)에서 데이터를 직접 탐색하고 준비할 수 있는 대화형 도구를 제공함으로써 개발자들이 직접 데이터를 쉽게 활용할 수 있도록 한다.

  • 자동 프로비저닝 및 작업자 관리를 통해 인프라 관리의 부담을 최소화하고 ETL 파이프라인 개발을 간소화한다.

  • 클라우드 및 온-프레미스를 아울러 데이터를 신속하게 식별한 후 데이터 쿼리 및 변환에 즉시 사용할 수 있도록 한다.

  • ETL/ELT 등 데이터 처리 프레임워크, 마이크로서비스, 데이터 스트리밍 등 다양한 워크로드를 지원한다.


그림 5 AWS Glue에 기반한 데이터 통합 활용 예

AWS 기반의 워크로드에 많이 의존하고 있는 기업에서 데이터 오케스트레이션 구축을 검토하고 있다면 높은 우선순위의 전략으로 AWS Glue 기반의 데이터 통합을 고려해 볼 수 있다. 만일 좀 더 유연하고 복잡한 데이터 기반 자동화 솔루션을 구축하려 한다면 AWS Step Functions 역시 또 다른 선택지가 될 수 있다.

2. Azure Data Factory

Azure Data Factory(ADF)는 마이크로소프트 애저 클라우드에서 제공하는 완전 관리형 데이터 통합 관리 서비스다. 다양한 소스로부터의 ETL/ELT를 수행하고 더 나아가 데이터 기반 전체 프로젝트에서 데이터와 관련된 모든 작업을 자동화하는 데 중점을 두고 있다.

ADF의 핵심은 데이터 이동과 변환을 위한 파이프라인을 생성하고 관리하는 기능이다. 이 파이프라인은 다양한 데이터 소스로부터 데이터를 수집하고, 이를 처리하여 원하는 형태로 변환한 후, 목적지 데이터 저장소에 적재하는 과정을 자동화한다. 이 과정에서 데이터 팩토리리는 온-프레미스, 클라우드 기반, SaaS 애플리케이션 등 다양한 소스와 대상을 지원하여 하이브리드 데이터 환경을 효과적으로 관리할 수 있게 해 준다.

이를 위한 주요 구성 요소 중 하나는 연결된 서비스(Linked Services)다. 이는 데이터 소스, 컴퓨팅 리소스, 기타 서비스에 대한 연결 정보를 정의한다. 예를 들어, 애저 블롭(Blob) 스토리지, SQL 데이터베이스, 애저 데이터브릭스 등에 대한 연결을 설정할 수 있다. 이렇게 연결된 서비스상에서 데이터 세트를 정의함으로써 데이트 파이프라인이 구성된다.


그림 6 애저 데이터 팩토리기반 데이터 파이프라인 구축 예(출처: Productive Edge)

파이프라인은 데이터 팩토리의 핵심 개념으로, 특정 데이터 작업을 수행하는 ‘활동(Activity)’의 논리적 흐름을 나타낸다. 활동은 데이터 이동/복사, 데이터 변환, 제어 흐름 등 다양한 유형이 있다. 예를 들어, 복사 활동은 데이터를 한 소스에서 다른 소스로 이동시키며, 데이터 흐름 활동에서는 데이터 변환을 수행할 수 있다. 애저 함수(Function)를 이용하여 특정 비즈니스 로직을 호출하여 실행하는 것도 이러한 ‘활동’의 일부가 된다.

클라우드와 온-프레미스 경계가 없는 데이터 소스 간 연결, ‘활동’에 기반한 다양한 데이터 처리를 지원하는 등의 확장성이 데이터 팩토리의 장점이라고 할 수 있다.

3. GCP 클라우드 컴포저

구글 클라우드 플랫폼(GCP)에서 제공하는 오케스트레이션 서비스로는 클라우드 컴포저(Cloud Composer)가 있다. 관리형 오케스트레이션 서비스라는 점에서 AWS Step Functions와 유사하며, 파이썬으로 작성된 오픈 소스인 아파치 에어플로우(Apache Airflow)를 기반으로 하고 있다. 클라우드 컴포저의 워크플로우는 파이썬 스크립트로 작성되는 DAG(Directed Acyclic Graph)라 불리는 구조로 정의된다.

이 서비스의 주요 장점 중 하나는 GCP의 다른 서비스들과의 원활한 통합이다. 예를 들어, 빅쿼리 (BigQuery), 데이터 플로우(Dataflow), 클라우드 스토리지(Cloud Storage), 데이터프록(Dataproc) 등의 서비스를 쉽게 워크플로우에 통합할 수 있다. 이를 통해 데이터 수집, 처리, 분석, 시각화 등 전체 데이터 파이프라인을 하나의 워크플로우로 관리할 수 있다.




그림 7 클라우드 컴포저 기반 데이터플로우 파이프라인(출처: 구글)

모니터링과 로깅 기능도 클라우드 컴포저의 장점이다. GCP의 클라우드 모니터링과 클라우드 로깅 서비스와 통합되어 있어, 워크플로우의 실행 상태, 성능 메트릭, 로그 등을 쉽게 확인하고 분석할 수 있다. 이를 통해 문제를 신속하게 감지하고 해결할 수 있으며, 워크플로우의 성능을 지속해서 최적화할 수 있다.

클라우드 컴포저는 일반적으로 GKE(Google Kubernetes Engine) 클러스터에서 실행된다. 구체적으로는 아파치 에어플로우의 모든 구성 요소, 즉, DAG, 웹 서버, 스케줄러, 워커 등이 쿠버네티스 포드(Pod)로 패키지화되어 실행된다. 따라서, 쿠버네티스의 포드 스케줄링을 통해 유연하게 클라우드 컴포저를 확장할 수 있는 것도 또 다른 장점이다.

다만, 클라우드 컴포저를 효과적으로 활용하기 위해서는 아파치 에어플로우에 대한 이해와 파이썬 프로그래밍 역량이 필요하다. 복잡한 워크플로우의 경우 초기 설계와 최적화에 상당한 시간과 노력이 필요하다는 점도 구글 클라우드 컴포저를 도입하는 데 다소 걸림돌이 될 수 있다.

마치며

클라우드 서비스 벤더에서 제공하는 서비스 외에도 다양한 전문 솔루션을 활용하여 온-프레미스 자체 데이터 오케스트레이션을 구현할 수 있다. 이러한 솔루션으로는 GCP 클라우드 컴포저의 근간을 이루는 아파치 에어플로우를 위시하여, 아파치 NiFi, Prefect, 스포티파이에서 개발한 오픈 소스인 Luigi, Dagstar 등을 들 수 있다. 높은 보안 수준이 요구되는 민감한 기업 내 데이터를 통합 관리하기 위해서는 이러한 자체 솔루션을 활용하는 것이 바람직하다.

하지만, 클라우드에서 제공되는 서비스를 활용해도 클라우드에 있는 데이터뿐만 아니라 온-프레미스 데이터, API 호출을 통해 실시간으로 수집하는 데이터 등을 모두 통합 관리할 수 있다. 워크플로우 기반 데이터 파이프라인을 유연하게 구성함으로써 클라우드와 온프레미스 경계를 넘나드는 데이터 오케스트레이션이 가능하다. 다만, 기업의 목적과 특성에 맞게 워크플로우를 구성하고 원활하게 유지 보수하기 위해서는 일정 수준의 기술 역량이 필요하다.

한마디로 요약하면, 데이터 오케스트레이션은 AI MLOps, 그리고 전사 효율적인 데이터 운용 등을 위한 기업의 핵심 IT 전략으로 최우선 고려되어야 하는 매우 중요한 요소다.


참고문헌

1) 데이터를 수집하여 변환(Transform) 후 적재(Load)하거나 혹은 그 반대로 적재후 변환을 할 수도 있으므로 그 순서는 크게 중요하지 않다.


프로세스가 진행중입니다. 잠시만 기다려주세요.