- 자동화의 본질적 가치는 두 가지, **재현성(reproducibility)**과 **추적성(lineage)**이다.
- Step Functions = 범용 오케스트레이터. ASL(JSON) 상태 머신으로 Glue·Lambda·SageMaker·승인 대기를 한 흐름에 묶는다.
- SageMaker Pipelines = ML 전용. Python SDK, ProcessingStep/TrainingStep/TuningStep/ConditionStep, lineage·모델 레지스트리 내장.
- 판단 기준: 순수 ML CI/CD → Pipelines, ML+비ML 혼합·승인·복잡 분기 → Step Functions. 둘을 겹쳐 쓰는 구성도 흔하다.
- 트리거는 EventBridge(cron/이벤트)나 S3 이벤트 → Lambda로 붙인다.
어제 Glue와 EMR으로 데이터를 변환하는 법을 배웠다. 그런데 변환은 한 번 돌리고 끝나지 않는다. 새 데이터가 들어올 때마다, 혹은 매일 정해진 시각에 추출 → 변환 → 검증 → 학습 → 평가를 자동으로 반복해야 한다. 이 반복을 사람이 손으로 돌리면 실수가 나고 재현성이 깨진다.
ML 워크플로는 여러 단계가 순서·조건·의존성을 갖고 엮여 있다.