개발자는 Amazon SWF를 사용하여 병렬 또는 순차 단계가 있는 백그라운드 작업을 구축하고 실행하고 확장할 수 있습니다. Amazon SWF는 클라우드에서 완전하게 관리되는 상태 추적기 및 작업 조정자 역할을 합니다.

앱 단계가 완료되기까지 500밀리초 이상이 걸릴 경우 처리 상태를 추적해야 하며 작업이 실패하는 경우 복구하거나 재시도해야 합니다. 이러한 일련의 작업을 Amazon SWF가 지원합니다.


시작하기 페이지를 방문하여 병렬, 순차, 전개 등의 워크플로우 패턴에 대한 샘플 코드를 입수하십시오.

지금 시작하기

무료로 AWS 시작하기

무료 계정 생성

AWS 프리 티어에는 Amazon Simple Workflow Service(SWF)를 사용하는 10,000개의 활동 작업, 30,000개의 워크플로/일, 1,000개의 실행 작업이 포함되어 있습니다.

AWS 프리 티어 세부 정보 보기 »

Amazon SWF는 백그라운드 작업의 단계별 로직에 대한 제어 흐름과 고유의 비즈니스 로직이 포함된 실제 작업 단위 간 분리를 촉진합니다. 이렇게 하면 차별화에 사용되는 핵심 비즈니스 로직에서 애플리케이션의 '상태 기계'를 별도로 관리, 유지, 확장할 수 있습니다. 기업에서의 요구 사항이 변경됨에 따라 기본 상태 기계, 작업 디스패치, 흐름 제어에 대한 걱정 없이 애플리케이션 로직을 쉽게 변경할 수 있습니다.

Amazon SWF는 Amazon의 고가용성 데이터 센터에서 실행되므로 애플리케이션에서 필요할 때마다 상태 추적 및 작업 처리 엔진을 사용할 수 있습니다. Amazon SWF는 작업을 중복 저장하여 이를 안정적으로 애플리케이션 구성 요소에 디스패치하고 진행 상황을 추적하며 최신 상태로 유지합니다.

Amazon SWF는 완전한 관리가 가능한 클라우드 워크플로 웹 서비스로서, 복잡한 사용자 지정 코딩 워크플로 솔루션과 자동화 소프트웨어를 대체합니다. 개발자는 프로세스 자동화의 기초 인프라 작업을 관리할 필요가 없어져 애플리케이션의 기능 개발에 모든 노력을 집중할 수 있습니다.

Amazon SWF는 애플리케이션 사용에 따라 원활하게 확장 가능합니다. 애플리케이션에 더 많은 클라우드 워크플로를 추가하거나 워크플로의 복잡성이 커져도 워크플로 서비스 관리를 위한 수작업이 필요 없습니다.

Amazon SWF를 사용하면 애플리케이션 구성 요소 및 조정 로직을 모든 프로그래밍 언어로 작성할 수 있으며 이를 클라우드나 온프레미스에서 실행할 수 있습니다.

Amazon S3Amazon EC2를 사용하여 동영상 인코딩. 이 사례에서는 큰 동영상을 여러 개의 청크로 나누어 Amazon S3에 업로드합니다. 이 청크의 업로드를 모니터링해야 합니다. 업로드된 청크는 Amazon EC2 인스턴스로 다운로드되어 인코딩됩니다. 인코딩된 청크는 다른 Amazon S3 위치에 저장됩니다. 이러한 방법으로 모든 청크가 인코딩되면 청크를 결합하여 하나의 인코딩된 파일을 만들고 그대로 Amazon S3에 저장합니다. 하나 이상의 청크에 이코딩 오류가 발생하여 이 프로세스가 비정상적으로 종료할 수도 있습니다. 이러한 오류는 Amazon SWF의 클라우드 워크플로 관리를 통해 탐지되고 처리되어야 합니다.

구성 요소를 데이터 센터에서 클라우드로 마이그레이션. 비즈니스 크리티컬 작업이 개인 데이터 센터에서 호스팅되고 있지만 서비스 중단 없이 전체를 클라우드로 이동해야 합니다. Amazon SWF 기반 애플리케이션은 데이터 센터에서 실행되는 구성 요소를 포함한 워커와 클라우드에서 실행되는 워커를 연결합니다. 데이터 센터 워커를 원활하게 이전하려면 같은 종류의 새 워커를 먼저 클라우드에 배포합니다. 데이터 센터의 워커는 새 클라우드 기반 워커와 함께 정상적인 실행을 계속합니다. 작업 부하의 일부를 라우팅하여 클라우드 기반 워커를 테스트하고 검증합니다. 이 테스트를 진행하는 동안에도 데이터 센터의 워커는 계속 실행되고 있기 때문에 애플리케이션이 중단되지 않습니다. 테스트가 완료되면 데이터 센터의 워커는 점차 실행이 중지되고 클라우드에 있는 워커는 확장되며 클라우드 워크플로 관리 애플리케이션으로 완전히 이동합니다. 이러한 클라우드 워크플로 프로세스를 데이터 센터에 있는 다른 모든 워커에 대해서도 동일하게 실행하면 애플리케이션을 완전히 클라우드로 이전할 수 있습니다. 비즈니스의 이유로 특정 작업 단계를 계속 개인 데이터 센터에서 실행해야 하는 경우 워커를 계속 전용 데이터 센터에서 실행하면서 애플리케이션에 참여하도록 할 수 있습니다.

Amazon Mechanical Turk를 사용하여 대형 제품 카탈로그 처리. 대형 카탈로그의 데이터를 확인할 때, 카탈로그의 제품을 배치로 나누어 처리합니다. 여러 배치를 동시에 처리할 수 있습니다. 배치마다, 제품 데이터를 데이터 센터 서버에서 추출하여 CSV(쉼표 구분 값) 파일로 변환합니다. 이것은 Amazon Mechanical Turk의 RUI(Requester User Interface)에서 요구되는 형식입니다. 이 CSV를 업로드하면 해당 데이터를 입력으로 HIT(인간 지능 작업)가 실행됩니다. HIT가 완료되면 생성된 CSV를 역변환하여 데이터를 원본 형태로 되돌립니다. 이 결과를 평가하고 결과가 합격한다면 Amazon Mechanical Turk의 워커에게 보상이 지급됩니다. HIT 결과가 실패일 때는 제거 후 재처리하지만 합격일 때는 그 결과를 사용하여 카탈로그를 업데이트합니다. 배치가 처리될 때, 시스템은 Amazon Mechanical Turk 워커의 품질을 추적하여 보상을 적절하게 조정해야합니다. 실패한 HIT는 다시 배치에 포함되고 다시 파이프라인에 보내집니다.