AWS Step Functions
- 람다 함수를 오케이스트레이션 할 서버리스 비주얼 워크플로우를 만드는 방법
- 람다 함수와 오케이스트레이션 할 게 많다면 사용
- 예) 하나의 람다 함수 뒤에 특정 순서대로 함수를 실행해야 한다면 단계 함수로 오케이스트레이션
- 모든 흐름은 JSON 상태 머신(state machine)으로 포현됨
- 람다 함수, 시퀀스, 병렬, 람다 함수 조건, 시간 초과, 오류 처리 등을 사용할 수 있어 범용성이 좋음
- 다른 서비스와 통합도 가능
예) EC2, ECS, 온프레미스 서버, API Gateway와 통합 가능 - 최대 실행 시간은 워크플로우를 완료하기에 충분한 시간인 1년
- 복잡하고 까다롭지만 수동 승인 기능도 구현할 수 있음
- 주문 처리, 데이터 처리, 웹 애플리케이션 등 모든 워크플로우에 사용될 수 있음
Visual workflow in Step Functions
- JSON 상태 머신을 생성하면 그래프가 만들어지고 작업 제출, 몇 초 기다리기, 작업 상태 확인이 있고
작업이 완료됐다면 다음으로 넘어가거나 작업이 실패했는지 혹은 성공했는지를 확인한 후 종료할 수 있음 - 작업을 실행하면 아래 차트대로 진행이 되며 모든 것을 처리해 완료됐을 때
작업하면서 통과한 전체 경로와 어떤 경로로 나아갔는지를 알 수 있음
AWS SWF – Simple Workflow Service
- 단계 함수보다 더 복잡한 SWF는 기본적으로 비슷한 기능을 갖췄으며 애플리케이션 간 작업도 조정할 수 있지만
코드가 EC2에서 동작하기 때문에 서버리스가 아님 - 최대 실행 시간은 1년
- 활동 단계(activity step)와 결정 단계(decision step)라는 개념이 존재하며
내장된 인간 관여 단계(human intervention step)도 존재 - 예) 웹에서 웨어하우스, 웨어하우스에서 배달까지 주문 처리 기능이 존재할 때 사용 가능
- AWS에서 지원하지 않으므로 단계 함수 사용을 권장하지만
과정에 개입하기 위한 외부 시그널이 필요할 때나 하위 과정이 상위 과정에세 값을 반환하게 할 때는 SWF를 사용
'Cloud > AWS' 카테고리의 다른 글
[SAA] OpsWorks (0) | 2022.05.06 |
---|---|
[SAA] EMR (0) | 2022.05.06 |
[SAA] CloudFormation 소개 (0) | 2022.05.06 |
[SAA] CICD 소개 (0) | 2022.05.06 |
[SAA] 기타 서비스 (0) | 2022.05.03 |