지금까지 본 도구들(Glue, EMR, Lambda)은 각각 "한 가지 일"을 한다. 그런데 현실의 데이터 파이프라인은 단일 작업이 아니다 — "S3에서 데이터를 받아 → Glue로 변환하고 → 검증 Lambda를 거쳐 → 실패하면 알림을 보내고 → 성공하면 Redshift에 적재한다"처럼 여러 단계가 순서·조건·재시도로 엮인다. 이 흐름을 정의하고 조율하는 것이 **오케스트레이션(orchestration)**이다.
오케스트레이션이 없으면 각 작업을 cron이나 수동으로 띄우고, 실패하면 사람이 로그를 뒤져 재실행해야 한다. 오케스트레이터는 이 "작업의 흐름"을 코드로 정의하고, 의존성·재시도·분기·병렬·알림을 자동으로 관리한다. AWS에는 세 가지 주요 선택지가 있고, 시험은 "어떤 상황에 어느 것"을 집요하게 묻는다.
세 도구 모두 작업 흐름을 **DAG(Directed Acyclic Graph, 방향성 비순환 그래프)**로 표현한다. 작업이 노드, 의존성이 화살표이며, 순환(cycle)이 없다 — A가 B를 기다리고 B가 다시 A를 기다리는 교착이 불가능하다는 뜻이다.
추출(Extract) ──► 변환(Transform) ──┬──► 적재(Load) ──► 알림
└──► 품질 검증 ──► 실패 시 격리