‘AI MLOps, 효율적 데이터 운용 도구’, 클라우드 경쟁력 좌우
AWS ‘Step Function, Glue’, MS ‘애저 ADF’, GCP ‘클라우드 컴포저’
[애플경제 전윤미 기자] 데이터 오케스트레이션은 효율적인 데이터 운용을 위한 핵심적 요소다. 사내의 다양한 데이터 소스나, 도구, 프로세스를 효과적으로 통합하고 관리하는 것이다. 윤대균 아주대 교수는 “현대 비즈니스 환경에서 데이터의 폭발적 증가, 데이터 소스의 다양화, 실시간 분석 요구의 증가 등 복잡해진 데이터 환경 등으로 데이터 오케스트레이션이 더욱 중요해지고 있다”면서 “이에 따라 더 체계적이고 자동화된 접근이 필요해졌다”고 강조했다. 이에 클라우드 ‘빅3’ 역시 관련 기술을 고도화하고, 개선하는 등 기술 경쟁에 박차를 가하고 있다.
윤 교수는 최근 한국지능정보사회진흥원 연구보고서를 통해 AWS와 구글 클라우드(GCP), MS 애저의 데이터 오케스트레이션 아키텍처를 요약, 소개, 눈길을 끈다.
AWS의 두 가지 데이터오케스트레이션 도구
이에 따르면 우선 AWS의 경우 ‘AWP Step Functions & AWS Glue’가 대표적이다. 그 중 ‘AWP Step Function’은 일종의 서버리스 오케스트레이션이다. 복잡한 워크플로우를 시각적으로 설계하고, 여러 AWS 서비스를 연결해 작업을 조율한다, 서버리스의 특성으로 인해, 상태(state) 기반으로 단계별 작업의 흐름을 정의한다. 자동으로 관리할 수 있는 ‘범용’ 오케스트레이션 도구란 설명이다. 특히 “람다 기반의 함수 호출 흐름뿐만 아니라 여러 마이크로서비스들의 오케스트레이션에도 적용될 수 있다.”는 것이다.
윤 교수는 그 대표적인 활용 사례로 데이터 처리 및 ETL(데이터 추출, 전환, 적재) 오케스트레이션을 들었다. 이는 ETL 및 배치방식의 처리, 그리고 실시간 스트리밍 데이터 처리를 위한 데이터 처리 파이프라인 구축에 활용될 수 있다.
앞서 ‘AWS Step Functions’가 다양한 용도의 데이터 오케스트레이션 도구라면, ‘AWS Glue’는 관리를 위한 데이터 파이프라인 도구다. 최근에는 기계 학습에 필요한 데이터 수집과 관리를 위해 MLOps 라이프 사이클에서 많이 활용된다.
윤 교수는 “AWS 기반의 워크로드에 많이 의존하고 있는 기업에서 데이터 오케스트레이션 구축을 검토하고 있다면, ‘AWS Glue’ 기반의 데이터 통합을 고려해 볼 수 있다.”고 했다. 그러나 “좀 더 유연하고 복잡한 데이터 기반 자동화 솔루션을 구축하려 한다면 AWS Step Functions도 바람직한 선택”이라고 권장했다.
MS ADF, ‘완전 관리형 도구’
완전 관리형 데이터 오케스트레이션 도구로 MS ‘애저’의 ‘Azure Data Factory’(ADF)도 많이 보급되어있다. 이는 다양한 소스로부터의 ETL이나 ELT(추출, 적재, 전환)를 수행하고, 프로젝트에서 데이터와 관련된 모든 작업을 자동화한다. 데이터 사이언티스트는 주로 ETL을 사용하여 데이터 웨어하우스 내 레거시 데이터베이스를 적재하지만 ELT가 오늘날 표준이 되었다. 그러므로 이는 갈수록 유용한 도구로 주목받고 있다.
ADF는 이처럼 데이터 이동과 변환을 위한 파이프라인을 생성하고 관리하는 기능이다. 이때 파이프라인은 다양한 데이터 소스로부터 데이터를 수집하고, 이를 처리한 후 원하는 형태로 변환한다. 그런 다음 목적지인 데이터 저장소에 적재하는 과정을 자동화한다. 이 과정에서 데이터 팩토리리는 온-프레미스, 클라우드 기반, SaaS 애플리케이션 등 다양한 소스와 대상을 지원, 하이브리드 데이터 환경을 효과적으로 관리할 수 있게 해 준다.
특히 “이를 위한 주요 구성 요소 중 하나는 연결된 서비스(Linked Services)”라는 윤 교수의 설명이다. 즉 데이터 소스와 컴퓨팅 리소스, 기타 각종 서비스에 대한 연결 정보를 정의하는 것이다. 예를 들어, “애저 블롭(Blob) 스토리지, SQL 데이터베이스, 애저 데이터브릭스 등에 대한 연결을 설정할 수 있다”며 “이렇게 연결된 서비스상에서 데이터 세트를 정의함으로써 데이트 파이프라인이 구성된다”는 것이다.
여기서 파이프라인은 데이터 팩토리의 핵심 개념이다. “특정 데이터 작업을 수행하는 ‘활동(Activity)’의 논리적 흐름”이란 설명이다. 즉, 데이터 이동과 복사, 데이터 변환, 제어 흐름 등을 일컫는다. 복사를 통해 데이터를 한 소스에서 다른 소스로 이동시키며, 데이터 흐름에 의해 데이터를 변환할 수 있다. 또한 애저 함수(Function)를 이용, 특정 비즈니스 로직을 호출, 실행하기도 한다. 이는 “클라우드와 온-프레미스 경계가 없는 데이터 소스 간 연결, ‘활동’에 기반한 다양한 데이터 처리를 지원하는 등의 기능이 장점”이란 결론이다.
아파치 에어플로우 기반 GCP ‘클라우드 컴포저’
구글 클라우드의 ‘GCP 클라우드 컴포저(Cloud Composer)’도 일종의 데이터 오케스트레이션 도구다. ‘클라우드 컴포저’는 관리형 오케스트레이션 서비스라는 점에서 ‘AWS Step Functions’와 유사하다는게 윤 교수의 설명이다. 이는 파이썬으로 작성된 오픈 소스인 ‘아파치 에어플로우’(Apache Airflow)를 기반으로 하고 있다. 또한 파이썬 스크립트로 작성되는 ‘DAG’(Directed Acyclic Graph) 구조로 정의된다.
무엇보다 클라우드 컴포저의 장점은 GCP의 다른 서비스들과 원활하게 통합된다는 점이다. 예를 들어, GCP의 빅쿼리, 데이터 플로우, 클라우드 스토리지, 데이터프록(Dataproc) 등과 쉽게 워크플로우에서 통합될 수 있다. 이를 통해 데이터 수집과 처리, 분석, 시각화 등 전체 데이터 파이프라인을 하나의 워크플로우로 관리할 수 있다.
GCP의 클라우드 모니터링과 클라우드 로깅 서비스와 통합되어 있는 것 또한 장점이다. 그로 인해 워크플로우 실행 상태나, 성능 메트릭, 로그 등을 쉽게 확인하고 분석할 수 있다. 문제를 신속하게 감지하고 해결할 수 있으며, 워크플로우 성능을 지속적으로 최적화할 수 있는 것이다.
‘클라우드 컴포저’는 보통 GKE(구글 쿠버네티스 엔진) 클러스터에서 실행된다. 다시 말해 아파치 에어플로우의 모든 구성 요소, 즉, DAG, 웹 서버, 스케줄러, 워커 등이 쿠버네티스 포드(Pod)로 패키지화되어 실행되는 것이다. 따라서, 쿠버네티스의 포드 스케줄링을 통해 유연하게 클라우드 컴포저를 확장할 수 있는 것 또한 장점으로 꼽힌다. 다만, 윤 교수는 “아파치 에어플로우에 대한 이해와 파이썬 프로그래밍 역량이 필요하다.”며 “복잡한 워크플로우의 경우 초기 설계와 최적화에 상당한 시간과 노력이 필요하다는 점도 구글 클라우드 컴포저를 도입하는 데 다소 걸림돌이 될 수 있다”고 짚었다.
