Step Functions 워크플로의 사용 사례 살펴보기 - AWS Step Functions

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Step Functions 워크플로의 사용 사례 살펴보기

와 함께 AWS Step Functions시간 경과에 따른 상태를 관리하고, 들어오는 데이터를 기반으로 결정을 내리고, 오류 및 예외를 처리하는 워크플로를 구축할 수 있습니다.

데이터 처리

다양한 소스에서 데이터의 양이 증가함에 따라 조직은 데이터를 더 빠르게 처리하여 정보에 입각한 비즈니스 결정을 신속하게 내릴 수 있어야 합니다. 대규모 데이터를 처리하려면 조직은 모바일 장치, 애플리케이션, 위성, 마케팅 및 영업, 운영 데이터 저장소, 인프라 등에서 수신된 정보를 관리하기 위해 리소스를 탄력적으로 프로비저닝해야 합니다.

수평 확장 및 내결함성 워크플로를 통해 Step Functions는 수백만 건의 동시 실행을 수행할 수 있습니다. 병렬 워크플로 상태state와 함께 병렬 실행을 사용하면 데이터를 더 빠르게 처리할 수 있습니다. 또는 워크플로 상태 매핑 상태의 동적 병렬 처리를 사용하여 Amazon S3 버킷과 같은 데이터 스토어의 대규모 데이터 세트를 반복할 수 있습니다. 또한 Step Functions는 실패한 실행을 재시도하거나 복잡한 오류 처리 프로세스를 관리하지 않고도 오류를 처리할 특정 경로를 선택할 수 있는 기능을 제공합니다.

Step Functions는 에서 제공하는 다른 데이터 처리 서비스와 직접 통합됩니다. AWS 예: AWS Batch일괄 처리의 EMR 경우 Amazon, 빅 데이터 처리의 경우 AWS Glue데이터 준비에는 Athena를, 데이터 분석에는 Athena를, AWS Lambda컴퓨팅용.

고객이 Step Functions를 사용하여 수행하는 데이터 처리 워크플로 유형의 예제는 다음과 같습니다.

파일, 비디오 및 이미지 처리

  • 비디오 파일 컬렉션을 가져와 휴대폰, 노트북 또는 TV와 같이 표시할 장치에 적합한 다른 크기나 해상도로 변환합니다.

  • 사용자가 업로드한 대규모 사진 컬렉션을 가져와 썸네일이나 다양한 해상도의 이미지로 변환한 후 사용자의 웹사이트에 표시할 수 있습니다.

  • CSV파일과 같은 반정형 데이터를 인보이스와 같은 비정형 데이터와 결합하여 매월 비즈니스 이해 관계자에게 전송되는 비즈니스 보고서를 작성합니다.

  • 위성에서 수집한 지구 관측 데이터를 가져와 서로 정렬되는 형식으로 변환한 다음 유용한 정보를 추가적으로 얻을 수 있도록 지구에서 수집한 다른 데이터 소스를 추가합니다.

  • 다양한 운송 수단의 제품 운송 로그를 가져와 몬테카를로 시뮬레이션을 사용하여 최적화를 찾은 다음 제품을 배송하는 데 귀사를 사용하는 조직과 담당자에게 다시 보고서를 보냅니다.

추출, 변환 및 로드 (ETL) 작업 조정:

  • 다음을 사용하여 일련의 데이터 준비 단계를 통해 판매 기회 기록을 마케팅 지표 데이터 세트와 결합하십시오. AWS Glue그리고 조직 전체에서 사용할 수 있는 비즈니스 인텔리전스 보고서를 생성합니다.

  • 빅 데이터 처리를 위한 Amazon EMR 클러스터를 생성, 시작 및 종료합니다.

Batch 프로세싱 및 고성능 컴퓨팅 (HPC) 워크로드:

  • 원시 전장 유전체를 변이 검출로 처리하는 유전체학 2차 분석 파이프라인을 빌드합니다. 원시 파일을 참조 서열에 정렬하고 동적 병렬화를 사용하여 지정된 염색체 목록에서 변이를 검출합니다.

  • 다양한 전기 및 화학 화합물을 사용하여 다양한 레이아웃을 시뮬레이션해 차세대 모바일 장치나 기타 전자 제품의 생산 효율성을 찾습니다. 다양한 시뮬레이션을 통해 워크로드를 대규모로 일괄 처리하여 최적의 설계를 얻습니다.

기계 학습

기계 학습은 조직이 수집된 데이터를 신속하게 분석하여 패턴을 식별하고 사람의 개입을 최소화하면서 의사 결정을 내릴 수 있는 방법을 제공합니다. 머신 러닝은 학습 데이터라고 하는 초기 데이터 세트에서 시작됩니다. 학습 데이터는 기계 학습 모델의 예측 정확도를 높이고 모델이 학습하는 토대 역할을 합니다. 학습된 모델이 비즈니스 요구 사항을 충족할 만큼 정확하다고 판단되면 모델을 프로덕션 환경에 배포할 수 있습니다. 은AWSGithub의 Step Functions 데이터 과학 프로젝트는 Amazon 및 Step Functions를 사용하여 데이터를 전처리하고 학습한 다음 모델을 게시하는 워크플로를 제공하는 오픈 소스 라이브러리입니다. SageMaker

기존 데이터 세트 전처리는 조직에서 주로 사용하는 교육 데이터를 만드는 방법입니다. 이 전처리 방법은 이미지 내 객체에 레이블을 지정하거나, 텍스트에 주석을 달거나, 오디오를 처리하는 등의 방법으로 정보를 추가합니다. 데이터를 전처리하려면 다음을 사용할 수 있습니다. AWS Glue또는 Jupyter Notebook에서 실행되는 SageMaker 노트북 인스턴스를 만들 수도 있습니다. 데이터가 준비되면 Amazon S3에 업로드하여 액세스할 수 있습니다. 기계 학습 모델이 학습되면 각 모델의 파라미터를 조정하여 정확도를 개선할 수 있습니다.

Step Functions는 end-to-end 머신 러닝 워크플로를 오케스트레이션하는 방법을 제공합니다. SageMaker 이러한 워크플로에는 데이터 전처리, 후처리, 특성 추출, 데이터 검증 및 모델 평가가 포함될 수 있습니다. 모델을 프로덕션에 배포한 후에는 새로운 접근 방식을 개선하고 테스트하여 비즈니스 성과를 지속적으로 개선할 수 있습니다. Python에서 바로 사용할 수 있는 워크플로를 만들거나 Step Functions Data Science를 사용하여 해당 SDK 워크플로를 복사하고, 새 옵션을 실험하고, 정제된 워크플로를 프로덕션 환경에 배치할 수 있습니다.

고객이 Step Functions를 사용하는 일부 유형의 기계 학습 워크플로는 다음과 같습니다.

부정 탐지

  • 신용 사기와 같은 사기 거래를 식별하여 발생을 방지합니다.

  • 학습된 기계 학습 모델을 사용하여 계정 탈취를 감지하고 방지합니다.

  • 가짜 계정 생성을 비롯한 홍보성 악용사례를 식별하여 신속하게 조치를 취할 수 있습니다.

개인화 및 권장 사항

  • 고객의 관심을 끌 것으로 예상되는 제품을 기반으로 대상 고객에게 제품을 추천합니다.

  • 고객이 자신의 계정을 무료 등급에서 유료 구독으로 업그레이드할지 여부를 예측합니다.

데이터 강화

  • 전처리의 일환으로 데이터 강화를 사용하여 더욱 정확한 기계 학습 모델에 더 나은 학습 데이터를 제공합니다.

  • 텍스트 및 오디오 발췌문에 주석을 달아 풍자 및 속어와 같은 구문 정보를 추가합니다.

  • 이미지에서 추가 객체에 레이블을 지정하여 객체가 사과, 농구, 바위 또는 동물인지 여부와 같이 모델에서 학습할 수 있는 중요한 정보를 제공합니다.

마이크로서비스 오케스트레이션

Step Functions는 마이크로서비스 워크플로를 관리할 수 있는 옵션을 제공합니다.

마이크로서비스 아키텍처는 애플리케이션을 느슨하게 결합된 서비스로 나눕니다. 이점에는 확장성 향상, 탄력성 향상, 시장 출시 시간 단축 등이 있습니다. 각 마이크로서비스는 독립적이므로 전체 애플리케이션 규모를 조정할 필요 없이 단일 서비스나 기능을 쉽게 스케일 업할 수 있습니다. 개별 서비스가 느슨하게 결합되어 개별 팀이 전체 애플리케이션을 이해할 필요 없이 단일 비즈니스 프로세스에 집중할 수 있습니다.

또한 마이크로서비스는 비즈니스 요구 사항에 맞는 개별 구성 요소를 제공하므로 전체 워크플로를 다시 작성하지 않고도 유연성을 확보할 수 있습니다. 다양한 팀이 원하는 프로그래밍 언어와 프레임워크를 사용하여 마이크로서비스를 사용할 수 있습니다.

장기간 실행되는 워크플로의 경우 표준 워크플로를 다음과 같이 사용할 수 있습니다. AWS Fargate 통합으로 컨테이너에서 실행되는 애플리케이션을 오케스트레이션합니다. 즉각적인 대응이 필요한 단기간의 대용량 워크플로우에는 동기식 익스프레스 워크플로가 이상적입니다. 한 가지 예로 웹 기반 또는 모바일 애플리케이션을 들 수 있습니다. 이 애플리케이션에서는 일련의 단계를 완료해야 응답을 받을 수 있습니다. Amazon API Gateway에서 동기식 익스프레스 워크플로를 직접 트리거할 수 있으며, 워크플로가 완료되거나 제한 시간이 초과될 때까지 연결이 열린 상태로 유지됩니다. 즉각적인 응답이 필요하지 않은 단기간의 워크플로를 위해 Step Functions는 비동기 Express 워크플로를 제공합니다.

Step API Functions를 사용하는 일부 오케스트레이션의 예는 다음과 같습니다.

동기 또는 실시간 워크플로

  • 레코드의 값을 변경합니다 (예: 직원의 성을 업데이트하고 변경 사항을 즉시 볼 수 있도록 설정).

  • 결제 중에 주문을 업데이트 (예: 품목 추가, 제거 또는 수량 변경) 한 다음 업데이트된 카트를 고객에게 즉시 보여주세요.

  • 빠른 처리 작업을 실행하고 결과를 다시 요청자에게 즉시 반환합니다.

컨테이너 오케스트레이션

  • Amazon Elastic Kubernetes Service를 사용하여 쿠버네티스에서 작업을 실행하거나 Fargate를 사용하여 Amazon Elastic Container Service () 에서 작업을 실행하고 다른 ECS 서비스와 통합할 수 있습니다. AWS 서비스 (예: SNS Amazon에 알림 전송) 를 동일한 워크플로의 일부로 수행합니다.

IT 및 보안 자동화

Step Functions를 사용하면 워크플로의 오류를 자동으로 조정하고 이에 대응하는 워크플로를 만들 수 있습니다. 워크플로는 실패한 작업을 자동으로 재시도하고 지수 백오프를 사용하여 오류를 처리할 수 있습니다.

IT 자동화 시나리오에서는 소프트웨어 업그레이드 및 패치, 취약성 해결을 위한 보안 업데이트 배포, 인프라 선택, 데이터 동기화, 지원 티켓 라우팅 등 복잡하고 시간이 많이 걸리는 작업을 관리하기 위한 오류 처리가 필수적입니다. 반복적이고 시간이 많이 걸리는 작업을 자동화함으로써 조직은 일상적인 작업을 대규모로 빠르고 일관되게 완료할 수 있습니다. 운영 요구 사항을 충족하는 동시에 기능 개발, 복잡한 지원 요청 및 혁신과 같은 전략적 노력에 초점을 맞출 수 있습니다.

워크플로를 진행하기 위해 사람의 개입이 필요한 경우 (예: 상당한 크레딧 증가를 승인하는 경우) Step Functions에서 분기 로직을 정의하여 한도 미만의 요청은 자동으로 승인되고 한도 요청에는 사람의 승인이 필요하도록 할 수 있습니다. 사람의 승인이 필요한 경우 Step Functions는 워크플로를 일시 중지하고 사람의 응답을 기다린 다음 응답을 받은 후 워크플로를 계속할 수 있습니다.

자동화 워크플로의 몇 가지 예는 다음과 같습니다.

IT 자동화

  • 열린 SSH 포트, 디스크 공간 부족 또는 Amazon S3 버킷에 공개 액세스가 허용된 경우 등의 사고를 자동으로 해결합니다.

  • 배포를 자동화하십시오. AWS CloudFormation StackSets.

보안 자동화

  • 사용자와 사용자 액세스 키가 노출된 시나리오에 대한 대응을 자동화합니다.

  • 조치를 특정 조치로 제한하는 등 정책 조치에 따라 보안 사고 대응을 자동 수정합니다. ARNs

  • 직원에게 피싱 이메일 수신 후 몇 초 내에 경고할 수 있습니다.

사람 승인

  • 머신 러닝 모델 교육을 자동화한 다음, 업데이트된 모델을 배포하기 전에 데이터 과학자의 모델 승인을 받으세요.

  • 감정 분석을 기반으로 고객 피드백 라우팅을 자동화하여 부정적인 의견을 신속하게 에스컬레이션하여 검토할 수 있도록 하세요.