AWS SWF(Simple Workflow Service)는 분산 애플리케이션의 복잡한 작업 흐름(workflow)을 관리하고 실행할 수 있도록 지원하는 완전관리형 서비스이다. 애플리케이션이 다양한 작업을 여러 위치에서 수행해야 할 때, 각 단계를 신뢰성 있게 관리하고 조정하는 데 유용하다.
예를 들어, 영상 처리, 데이터 변환, 사용자 승인과 같은 여러 단계로 이루어진 작업에서 각 단계를 정의하고 순서를 제어하는 데 SWF를 사용할 수 있다.
SWF의 핵심 개념
✅ 워크플로우(Workflow)
- 전체 작업의 논리적 흐름을 정의한다.
- 어떤 작업을 어떤 순서로 수행할지 결정한다.
✅ 디시전(Decider)
- 각 작업 이후 다음 단계가 무엇인지 결정하는 컴포넌트이다.
- 주로 EC2 인스턴스, Lambda 함수, 온프레미스 서버 등에서 동작한다.
✅ 작업자(Activity Worker)
- 실제 작업을 수행하는 컴포넌트이다.
- 예: 영상 인코딩, 이메일 전송 등
- EC2, Lambda, 또는 온프레미스 서버에서 동작할 수 있다.
✅ 작업(Task)
- 워크플로우 내 개별 작업 단위.
- 디시전 또는 액티비티로 분류된다.
SWF의 특징
- 상태 관리 자동화
모든 워크플로우 실행의 상태를 AWS가 추적하고 저장한다. - 작업 재시도와 타임아웃 지원
실패 시 자동 재시도, 시간 초과 처리 등 내장 기능을 제공한다. - 온프레미스 통합 가능
Activity Worker는 온프레미스 서버에서도 실행할 수 있어 분리된 아키텍처에서 활용이 가능하다. - 완전관리형 서비스
복잡한 분산 처리 로직을 코드와 인프라 없이도 실행할 수 있다.
간단한 사용 사례
- 데이터 처리 파이프라인 구축
대용량 데이터를 수집 → 정제 → 분석하는 과정을 단계별로 관리하는 데 적합하다. - 영상 처리 애플리케이션
사용자가 업로드한 영상을 인코딩 → 워터마크 추가 → 저장 등의 순서로 처리하는 시스템에서 사용 가능하다. - 온프레미스 백엔드 연계 시스템
일부 작업은 AWS에서, 일부는 온프레미스 서버에서 처리하는 하이브리드 아키텍처에 효과적이다.
'AWS' 카테고리의 다른 글
Route 53 Resolver Inbound Endpoint - 온프레미스에서 AWS Private DNS 해석하기 (0) | 2025.06.18 |
---|---|
Amazon Route 53의 Private Hosted Zone(PHZ) 개념 및 활용 사례 (1) | 2025.06.17 |
AWS Proton - 인프라 자동화 솔루션 (0) | 2025.06.15 |
ENI(Elastic Network Interface) 개념 정리와 활용 사례 (0) | 2025.06.14 |
대규모 워크로드를 위한 EC2 배치 전략: 클러스터 vs 스프레드 vs 파티션 (0) | 2025.06.13 |