워크플로란 무엇인가요?

워크플로는 사람들이 작업을 완료하는 방법을 처음부터 끝까지 설명합니다. 워크플로는 과정의 단계와 상태로 구성되어 있습니다. 워크플로는 체크리스트에 일련의 단계로 표시되거나 이러한 단계를 시각화하는 다이어그램으로 표시될 수 있습니다.

다음은 단순한 지원 워크플로의 예입니다.

  1. 고객인 Carl이 지원 요청을 시작합니다.
  2. 이 열린 사례는 지원 담당자인 Sasha에게 배정됩니다.
  3. Sasha는 배정된 사례를 받고 Carl에게 정보를 요청합니다. 회신을 기다리는 동안 사례의 상태는 대기 중입니다.
  4. Carl이 요청한 정보를 제공한 후 Sasha는 해결 방법으로 회신한 후 사례의 상태를 해결됨으로 업데이트합니다.
  5. Carl은 답변과 지원 요청에 대한 피드백을 제공할 수 있는 설문 조사 링크를 받습니다. Sasha의 빠른 응답에 매우 만족하며 설문 조사에서 높은 평점을 줍니다. 사례의 상태가 종결됨으로 업데이트됩니다.

이 워크플로에서 단계는 ‘시작’, ‘할당’, ‘해결’ 및 ‘종결’입니다. 상태는 ‘열림’, ‘할당됨’, ‘대기 중’, ‘해결됨’ 및 ‘종결됨’입니다. 프로세스에서 단계의 상태는 워크플로가 완료될 때까지 경로를 따라 이동합니다.

워크플로를 사용하면 어떤 이점이 있나요?

워크플로는 시작, 예약 및 모니터링할 수 있는 반복 가능한 단계 및 작업 세트를 제공합니다.

관측을 위해 워크플로를 시각화하고, 워크플로의 정확성을 검증하며, 워크플로의 작업을 모니터링할 수 있습니다.

워크플로를 통해 비즈니스는 코드에 복잡성을 추가하지 않고도 분산된 애플리케이션의 신뢰성을 개선할 수 있습니다. 세분화된 수준에서 워크플로를 자동화, 최적화 및 조정할 수 있습니다. 

워크플로는 애플리케이션 아키텍처에 어떤 기능을 제공하나요?

워크플로는 작업의 단계별 로직에 대한 제어 흐름과 고유한 비즈니스 로직이 포함된 실제 작업 단위 간의 분리를 촉진합니다. 이 분리를 통해 애플리케이션의 상태 머신을 핵심 비즈니스 로직과 별도로 관리, 유지 관리 및 조정할 수 있습니다.

비즈니스 요구 사항이 변경됨에 따라 기본 상태 기계, 태스크 디스패치, 흐름 제어에 대한 변경 없이 애플리케이션 로직을 쉽게 변경할 수 있습니다.

워크플로 서비스는 애플리케이션 아키텍처를 어떻게 개선하나요?

신뢰성

상태 추적과 태스크 처리를 분리하면 클라우드 기반 아키텍처의 신뢰성이 개선됩니다. 워크플로 서비스를 사용하여 애플리케이션 구성 요소에 태스크를 디스패치하고 진행 상황을 추적하며 시스템의 최신 상태를 파악할 수 있습니다.

간편성

워크플로는 사용자 지정 코딩을 사용한 자체 개발 솔루션 및 프로세스 자동화 코드의 복잡성을 대체합니다.

처리 단계에 있는 태스크는 완료하는 데 오래 걸릴 수 있고, 실패하거나 제한 시간이 종료되거나 다시 시작해야 할 수도 있습니다. 작업 완료 시 처리량과 지연 시간에 차이가 있는 경우가 많습니다. 이러한 모든 경우에서 태스크를 추적하고 시각화하는 것은 어려울 뿐만 아니라 획일적인 작업이기도 합니다.

워크플로 서비스를 사용하면 개발자가 프로세스 자동화의 인프라 측면을 관리할 필요가 없습니다. 따라서 애플리케이션의 고유한 기능에 에너지를 집중할 수 있습니다.

확장성

워크플로 서비스는 애플리케이션 사용량에 따라 원활하게 조정되도록 설계되었습니다. 애플리케이션에 더 많은 워크플로를 추가하거나 워크플로의 복잡성이 커지면 워크플로 서비스의 관리를 자동화할 수 있습니다.

유연성

개발자는 워크플로 서비스를 사용하여 다양한 프로그래밍 언어로 애플리케이션 구성 요소 및 조정 로직을 만들 수 있습니다. 그런 다음 차별화된 애플리케이션 로직에 집중할 수 있습니다.

몇 가지 일반적인 워크플로 사용 사례는 무엇인가요?

워크플로는 일련의 단계로 나눌 수 있는 모든 계산 문제 또는 비즈니스 프로세스에 도움이 될 수 있습니다. 워크플로는 상호 종속성을 통해 작업 관리를 단순화합니다. 일반 사용 사례는 다음과 같습니다.

  • 애플리케이션 오케스트레이션 - 자체 프로세스에서 실행되고 이벤트 통신을 통해 독립적으로 배포되는 약결합 마이크로서비스를 조정합니다. 서버리스 기능을 결합하여 비동기식 수동 승인 단계를 통해 웹 애플리케이션을 구축합니다. 더 많은 사용 사례 예는 AWS Step Functions 개발자 안내서에서 마이크로서비스 오케스트레이션을 참조하세요.
  • 데이터 처리 - 여러 데이터베이스의 데이터를 통일된 보고서로 통합, 대규모 데이터 세트를 유용한 형식으로 세분화 및 축소 또는 다단계 분석 및 기계 학습 워크플로 조정 더 많은 사용 사례 예는 AWS Step Functions 개발자 안내서에서 데이터 처리를 참조하세요.
  • DevOps 및 IT 자동화 - 지속적 통합 및 배포를 위한 도구 구축 또는 인프라의 변경에 자동으로 대응하는 이벤트 중심 애플리케이션 생성 더 많은 사용 사례 예는 AWS Step Functions 개발자 안내서에서 IT 및 보안 자동화를 참조하세요.
  • 전자 상거래 - 주문 이행, 재고 추적 등 미션 크리티컬 비즈니스 프로세스 자동화
  • 웹 애플리케이션 - 강력한 사용자 등록 프로세스 및 인증을 구현하고 필요한 경우 감사 및 향상된 보안을 위한 단계를 통합합니다.
  • 기계 학습 - 추출, 전환, 적재(ETL) 작업을 실행하여 기계 학습 모델을 구축, 훈련 및 배포합니다. 예를 들어 이미지 데이터를 수집 및 처리하여 비디오 스트림 내의 객체를 감지하거나, 경계 상자를 추가하거나, 데이터 카탈로그 작성을 위한 시각적 및 메타데이터 정보를 제공할 수 있습니다. 더 많은 사용 사례 예는 AWS Step Functions 개발자 안내서에서 기계 학습을 참조하세요.
  • 보안 자동화 - 비즈니스 규칙에 따라 감사 및 알림 단계를 호출하는 사용자 지정 워크플로를 통해 관리되는 리소스 이벤트에 의해 시작되는 분석 또는 보안 인시던트 대응을 예약합니다.
  • 미디어 처리 - PDF 문서 또는 이미지에서 처리에 사용할 데이터를 추출합니다. 대규모 병렬화를 사용하여 비디오를 분할하고 트랜스코딩합니다. 더 많은 사용 사례 예는 AWS Step Functions 사용 사례에서 미디어 처리를 참조하세요. 

워크플로는 어떻게 만드나요?

개발자는 처음에 사용자 지정 코딩 솔루션 및 프로세스 자동화 코드를 구축할 수 있습니다. 이러한 솔루션은 시작은 간단하지만 시간이 지나고 개발이 진행됨에 따라 복잡해지고 오류가 많이 발생하는 경향이 있습니다. 시간이 지나면서 비즈니스 로직을 업데이트하는 데 필요한 노력이 증가하고 변경 속도가 느려집니다.

워크플로별 라이브러리를 도입하면 자체 개발 솔루션의 복잡성을 완화할 수 있습니다. 그러나 이러한 도구를 구성하면 프로세스에 새로운 복잡성이 추가될 수 있습니다. 워크플로 단계 및 상태를 시각화하기가 여전히 어려울 수 있습니다.

워크플로의 고급 생성 및 모니터링 기능을 사용하려면 워크플로 상태와 단계를 정렬할 수 있는 시각적 도구가 필요합니다. 이러한 도구에서 비즈니스 로직 규칙을 관리하고 업데이트할 수 있습니다. 그래픽 도구를 사용하면 개발자의 생산성과 워크플로 가시성을 향상시키고 오류 가능성을 줄일 수 있습니다.

시각적 워크플로 디자이너인 Workflow Studio 사용에 대한 실습 자습서는 AWS 개발자 센터에서 서버리스 워크플로 생성을 참조하세요.

일반적인 워크플로 패턴이란 무엇인가요?

워크플로를 사용하면 상호 작용의 작동을 위한 소프트웨어를 작성하는 대신 구성 요소의 상호 작용을 정의하는 데 집중할 수 있습니다.

워크플로를 사용하여 마이크로서비스와 컨테이너 모두를 오케스트레이션할 수 있습니다. 워크플로의 일반적인 패턴으로는 마이크로서비스 체이닝, 비동기식 또는 동기식 응답, 인간 상호 작용, 컨테이너 오케스트레이션과 코레오그래피, 분기 및 오류 처리 등이 있습니다.

AWS에서는 어떤 워크플로 서비스를 제공하나요?

AWS Step Functions는 AWS 서비스 오케스트레이션, 비즈니스 프로세스 자동화, 서버리스 애플리케이션 구축을 위한 로우 코드(low-code) 비주얼 워크플로 서비스입니다. AWS Step Functions에는 끌어서 놓기 방식의 로코드(low-code) 시각적 워크플로 디자이너인 Workflow Studio가 포함되어 있습니다. 이 도구는 상태 머신을 정의하는 데 사용되는 JSON 기반의 정형 언어인 Amazon States Language로 함수와 구성을 자동 생성합니다. Step Functions 콘솔에서 Amazon States Language를 사용하거나 내보내서 편집할 수 있습니다.

Amazon Managed Workflows for Apache Airflow(Amazon MWAA)는 동일한 오픈 소스 Apache Airflow 경험을 완전관리형 서비스로 제공합니다. Amazon MWAA를 사용하여 기존 온프레미스 솔루션을 클라우드로 이전하면 운영 비용을 절감하고 규모에 맞게 배포할 수 있습니다. 개발자는 계속해서 Python으로 방향성 비사이클 그래프(DAG) 모델을 작성하여 태스크에 대한 종속성을 선언하면서 다른 AWS 서비스와 통합할 수 있습니다.

AWS Step Functions는 시각적 워크플로를 사용해 좀 더 생산적이고 민첩한 접근 방식으로 애플리케이션 구성 요소를 조정하므로 모든 새로운 애플리케이션에 AWS Step Functions를 사용하는 것이 좋습니다. Step Functions Workflow Studio와 Amazon States Language 사용에 대한 실습 자습서는 AWS 개발자 센터에서 서버리스 워크플로 생성을 참조하세요. 

AWS의 워크플로를 활용하는 다음 단계

AWS Step Functions 프리 티어 가입

200개 이상의 AWS 서비스와 9,000여 개의 API 작업으로 워크플로 구축

가입 
콘솔에서 구축 시작

AWS 관리 콘솔에서 API 게이트웨이로 구축을 시작하세요.

로그인