[reinvent 2024] 관리형 Apache Airflow로 데이터 및 ML workflows 오케스트레이션

Summary

Amazon Managed Workflows for Apache Airflow (Amazon MWAA)는 데이터 처리 및 ML 워크플로우를 조정하기 위한 관리형 Apache Airflow 서비스입니다. 이 빌더 세션에서는 Amazon MWAA가 어떻게 Airflow를 관리 및 확장하고 수집, 변환 및 소비를 위한 엔드투엔드 데이터 및 ML 처리 워크플로우를 조정 및 자동화할 수 있는지 확인하실 수 있습니다.


리인벤트 2024 테크 블로그의 더 많은 글이 보고 싶다면?

Tech Blog

AWS re:Invent 2024 Tech Blog written by MegazoneCloud

Overview

  • Title: Orchestrate data and ML workflows with managed Apache Airflow [REPEAT]
  • Date: 2024년 12월 2일(월)
  • Venue: Caesars Forum | Level 1 | Alliance 315
  • Speaker:
  • Mikhail Vaynshteyn(Architect, AWS)
  • Lucas Azevedo(Enterprise Solutions Architect, AWS)
  • Aditya Challa(Sr. Solutions Architect, AWS)
  • Fabricio Quiles(Senior Data Strategy SA, Amazon Web Services)
  • Vivek Shrivastava(Principal BigData Architect, Amazon)
  • Industry: Cross-Industry Solutions

들어가며

데이터를 수동으로 처리함으로 인해 발생하는 문제점을 Apache Airflow를 통한 자동화를 통해 해결할 수 있습니다. 데이터 처리 속도 및 신뢰성을 높이는 과정은 Amazon Managed Workflows for Apache Airflow(MWAA)로 가능합니다. 데이터의 효율적인 관리는 비즈니스에 직결되는 사항입니다.

세션 간략 소개

이번 세션에서는 Apache Airflow를 위한 관리형 서비스인 Amazon Managed Workflows for Apache Airflow (MWAA) 와 SageMaker를 이용하여 어떻게 airflow를 관리하고 소비를 위한 엔드 투 엔드 데이터 전처리 및 ML workflows를 오케스트레이션하고 자동화 하는지 알아보겠습니다.

자동화되지 않은 데이터 파이프라인의 한계

자동화 되지 않은 데이터 파이프라인은 비즈니스 관점에서 데이터를 활용하고자 할 때 걸림돌이 되는 부분이 있습니다. 오류가 발생하기 쉽거나 데이터를 처리하는 전체 과정이 상당히 느리게 진행되어 실제로 비즈니스에 활용할 수 없는 상황들입니다.

데이터를 비즈니스에 활용하기 위해선 해당 데이터를 수집하고, 전처리 한 후 모델 훈련 및 배포 과정이 빠른 시간 안에, 문제가 발생하지 않고 반복적으로 진행되어야 합니다. 이러한 복잡한 과정들을 수작업으로 진행하게 된다면 기업은 수 없이 많은 오류에 직면하게 되고 이는 곧 비효율적인 모델 개발과 확장성을 가져오게 됩니다. 오류가 발생하면 할수록 결국 비즈니스 전체에 막대한 영향을 끼칠 것 입니다.

데이터 오케스트레이션

수작업으로 진행되는 데이터 처리 프로세스로 인해 다양한 문제가 발생하기 쉬우며 이를 방지하고 개선하기 위해선 프로세스 자동화가 필요합니다. 그리고 자동화가 구성되는 경우 데이터 오케스트레이션이 매우 중요합니다.

일반적으로 이러한 오케스트레이션은 Apache Airflow같은 도구를 사용하여 관리합니다. Apache Airflow는 의존성, 오류처리, 일정관리, 반복작업 등 다양한 프로세스를 처리하기 쉽도록 도와줍니다.

그러나 이러한 많은 장점에도 불구하고 한가지 단점을 꼽자면 자체적으로 관리 시 많은 노력이 필요하다는 것입니다. 이에 따라 아마존에서는 Apache Airflow를 관리해주는 서비스로 Amazon Managed Workflows for Apache Airflow(MWAA)를 제공합니다.

 MWAA는 완전관리형 서비스로 스케일링이 가능하고 안전하며 비용 효율적인 서버리스 서비스입니다.

처리해야 할 데이터가 많을 경우 자동으로 리소스를 추가하여 처리하고, 데이터 처리 후에는 자동으로 리소스를 해제하여 비용 효율적인 운영이 가능하도록 합니다.

크게 네 가지 중요 요소가 있습니다.

  • 첫째, MWAA는 Directed Acyclic Graph(DAG)로 구성됩니다. 방향성이 있다는 점에서 Directed, 다시 실행시키지 않는 한 무한루프에 빠지지 않게 순환하지 않도록 설계되었다는 점에서 Acyclic이라고 합니다. DAG는 하나의 블럭이라고 생각하면 편하며 각 블럭(DAG) 하나당 하나의 작업을 수행함을 의미합니다. 각각의 DAG를 작업의 흐름대로 연결하여 직전의 DAG의 작업 결과에 따라 성공일 경우 다음 DAG가 실행되게, 실패일 경우 Retry 를 시도하도록 하며 특정 구간이 반복되지 않도록 구성합니다. Workflow를 실행하면 Airflow UI에서 각 DAG 별 현재 Status, 성공/실패/재시도 여부를 확인할 수 있고 전체 프로세스 모니터링 역시 가능합니다. 
  • 둘째, 또 다른 요소로 스케줄러가 있습니다. 스케줄러는 데이터베이스에 저장된 모든 프로세스의 순서, 타이밍을 기반으로 실제 프로세스를 가동합니다. 스케줄러는 작업별 종속성을 확인하여 이전 프로세스가 완료되었는지 확인 후 정해진 시간에 작업이 실행되도록 관리합니다. 
  • 셋째, 작업이 구성되고 스케줄러를 통해 실행되면 실제로 프로세스를 수행하는 Worker 입니다. 워커는 작업을 수행한 후 해당 작업의 성공, 실패 여부를 보고하여 데이터베이스에 저장, 스케줄러 등에서 이를 추적할 수 있도록 합니다.
  • 마지막으로 웹 애플리케이션입니다. 웹 UI를 통해 Workflow가 실행되는 모든 과정을 모니터링하고 추적, 관리할 수 있습니다. 어떤 작업이 실행되었고, 결과가 어떤지 혹은 재시작이 됐는지 등 확인이 가능합니다.

결론

실제로 관련 업무를 수행하다보면 전체 프로세스가 자동화되지 않으면 중간단계 작업에서 오류가 발생하는 경우 이를 놓치는 경우가 많고 뒤늦게 전체 프로세스를 다시 시작해야하는 경우도 있었습니다.

MWAA 를 사용하여 데이터 수집부터 모델 훈련에 이르기까지 수작업으로 진행하던 복잡한 프로세스를 보다 단순한 형태로 자동화하여 데이터 오케스트레이션을 구성한다면 보다 효율적으로 업무를 진행 할 수 있을 것으로 생각됩니다.

GenAI의 괄목할만한 성장으로 인해 자체 모델을 구축하는 기업이 많아짐에 따라 모델 훈련을 위한 올바른 데이터 처리의 중요도가 날로 높아지고 있는 상황에서 MWAA를 통한 데이터 오케스트레이션 자동화를 활용하면 비즈니스에 큰 이점을 줄 것으로 기대됩니다.

글 │메가존클라우드, AI & Data Analytics Center (ADC), Data Engineering 2 Team, 정지원 매니저
게시물 주소가 복사되었습니다.