Lambda 지속성 함수 - AWS Lambda

Lambda 지속성 함수

Lambda 지속성 함수를 사용하면 중단이 발생해도 안정적인 진행 상황을 유지하면서 최대 1년 동안 실행할 수 있는 복원력이 뛰어난 다단계 애플리케이션 및 AI 워크플로를 빌드할 수 있습니다. 지속성 함수가 실행되면 이 전체 수명 주기를 지속성 실행이라고 합니다. 이 실행은 체크포인트를 사용하여 진행 상황을 추적하고 재생을 통해 실패로부터 자동으로 복구하며, 완료된 작업을 건너뛰면서 처음부터 다시 실행할 수 있습니다.

각 함수 내에서 지속성 작업을 기본 구성 요소로 사용합니다. 단계는 기본 제공 재시도 및 진행 상황 추적을 통해 비즈니스 로직을 실행하는 반면 대기는 컴퓨팅 요금이 발생하지 않도록 실행을 일시 중지하므로 휴먼 인 더 루프(human-in-the-loop) 워크플로 또는 외부 종속성 폴링과 같은 장기 실행 프로세스에 적합합니다. 주문 처리, 마이크로서비스 조정, 에이전틱 AI 애플리케이션 오케스트레이션 등에 있어 지속성 함수는 익숙한 프로그래밍 언어로 코드를 작성하는 동안 상태를 자동으로 유지하고 실패로부터 복구합니다.

주요 이점

자연스럽게 복원력이 뛰어난 코드 작성: 익숙한 프로그래밍 구조를 사용하면 실패를 자동으로 처리하는 코드를 작성할 수 있습니다. 내장된 체크포인트 지정, 투명한 재시도 및 자동 복구를 통해 비즈니스 로직을 깔끔하게 유지할 수 있습니다.

사용한 만큼만 지불: 대기 작업 중에 컴퓨팅 요금이 발생하지 않고 함수가 일시 중지됩니다. 몇 시간 또는 며칠을 기다려야 하는 장기 실행 워크플로의 경우 유휴 대기가 아닌 실제 처리 시간에 대해서만 비용을 지불합니다.

운영 간소화: Lambda의 서버리스 모델을 사용하면 인프라를 관리하지 않고도 0으로 규모 조정을 포함한 자동 조정을 수행할 수 있습니다. 지속성 함수는 상태 관리, 재시도 로직 및 실패 복구를 자동으로 처리하여 운영 오버헤드를 줄입니다.

작동 방식

지속성 함수는 일반적으로 지속성 실행이라고 하는 사용자 정의 일시 중지 지점을 통해 진행 상황을 추적하고 장기 실행 작업을 지원하는 체크포인트/재생 메커니즘을 사용하는 일반 Lambda 함수입니다. 재시도와 같은 중단이나 대기 지점에서 지속성 함수가 재개되면 시스템이 재생을 수행합니다. 재생 중에 코드는 처음부터 실행되지만 완료된 작업을 다시 실행하는 대신 저장된 결과를 사용하여 완료된 체크포인트를 건너뜁니다. 이 재생 메커니즘은 장기 실행을 활성화하면서 일관성을 보장합니다.

일시 중지 또는 중단으로부터 함수가 재개되면 시스템이 재생을 수행합니다. 재생 중에 코드는 처음부터 실행되지만 완료된 작업을 다시 실행하는 대신 저장된 결과를 사용하여 완료된 체크포인트를 건너뜁니다. 이 재생 메커니즘은 장기 실행을 활성화하면서 일관성을 보장합니다.

애플리케이션에서 이 체크포인트-재생 메커니즘을 활용하기 위해 Lambda는 지속성 실행 SDK를 제공합니다. SDK는 체크포인트 및 재생 관리의 복잡성을 추상화하여 코드에 사용하는 지속성 작업이라고 하는 간단한 기본 요소를 노출합니다. SDK는 JavaScript, TypeScript 및 Python에서 사용할 수 있으며, 기존 Lambda 개발 워크플로와 원활하게 통합됩니다.

SDK를 사용하면 Lambda 이벤트 핸들러를 래핑한 다음 이벤트와 함께 DurableContext를 제공합니다. 이 컨텍스트를 사용하면 단계 및 대기와 같은 지속성 작업에 액세스할 수 있습니다. 함수 로직을 일반적인 순차적 코드로 작성하지만, 서비스를 직접 호출하는 대신 자동 체크포인트 지정 및 재시도를 위해 호출을 단계별로 래핑합니다. 실행을 일시 중지해야 하는 경우 대기를 추가하면 요금 발생 없이 함수가 일시 중지됩니다. SDK는 상태 관리 및 재생의 모든 복잡성을 처리하므로 코드를 깔끔하게 읽을 수 있습니다.

Filter for Amazon Inspector results related to Lambda functions

지속성 함수를 사용하는 경우

단기 조정: 실패 시 자동 롤백을 통해 여러 서비스에서 결제, 재고 및 배송을 조정합니다. 완료를 보장하면서 검증, 결제 권한 부여, 재고 할당 및 이행을 통해 주문을 처리합니다.

안심할 수 있는 결제 처리: 실패가 발생해도 트랜잭션 상태를 유지하고 재시도를 자동으로 처리하는 복원력이 뛰어난 결제 흐름을 빌드합니다. 여러 단계에서 전체 감사가 가능하도록 결제 공급자 간에 다단계 권한 부여, 사기 검사 및 결제를 조정합니다.

신뢰할 수 있는 AI 워크플로 빌드: 모델 직접 호출을 연결하고, 인적 피드백을 통합하고, 실패 발생 시 장기 실행 태스크를 결정론적으로 처리하는 다단계 AI 워크플로를 생성합니다. 일시 중지 후 자동으로 재개되며, 활성 실행 시간에 대해서만 비용을 지불합니다.

복잡한 주문 이행 오케스트레이션: 기본 제공되는 복원력으로 재고, 결제, 배송 및 알림 시스템에서 주문 처리를 조정합니다. 부분 실패를 자동으로 처리하고, 중단이 발생해도 주문 상태를 유지하며, 컴퓨팅 리소스를 소비하지 않고 외부 이벤트를 효율적으로 기다립니다.

다단계 비즈니스 워크플로 자동화: 며칠 또는 몇 주 동안 지속되는 직원 온보딩, 대출 승인 및 규정 준수 프로세스를 대상으로 신뢰할 수 있는 워크플로를 빌드합니다. 프로세스 상태 및 내역을 전체적으로 파악하면서 인적 승인, 시스템 통합 및 예약된 태스크 전반에 걸쳐 워크플로 상태를 유지 관리합니다.

다음 단계