Funzioni durevoli o Step Functions - AWS Lambda

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Funzioni durevoli o Step Functions

Entrambe le funzioni di Lambda durano a lungo e AWS Step Functions consentono un'orchestrazione affidabile del flusso di lavoro con gestione automatica dello stato e ripristino degli errori. Soddisfano diverse preferenze e modelli architettonici degli sviluppatori. Le funzioni durevoli sono ottimizzate per lo sviluppo di applicazioni in Lambda, mentre Step Functions è progettato per l'orchestrazione del flusso di lavoro tra i servizi. AWS

Quando utilizzare le funzioni durevoli

Utilizza funzioni durevoli quando:

  • Il tuo team preferisce linguaggi di programmazione standard e strumenti di sviluppo familiari

  • La logica dell'applicazione si trova principalmente all'interno delle funzioni Lambda

  • Desiderate un controllo granulare sullo stato di esecuzione nel codice

  • Stai creando applicazioni incentrate su Lambda con una stretta combinazione tra flusso di lavoro e logica aziendale

  • Vuoi iterare rapidamente senza passare da codice a designer e viceversa visual/JSON

Quando usare Step Functions

Usa Step Functions quando:

  • È necessaria una rappresentazione visiva del flusso di lavoro per la visibilità tra i team

  • Stai orchestrando più AWS servizi e desideri integrazioni native senza codice SDK personalizzato

  • Hai bisogno di un'infrastruttura che non richiede manutenzione (nessuna applicazione di patch, aggiornamenti in fase di esecuzione)

  • Le parti interessate non tecniche devono comprendere e convalidare la logica del flusso di lavoro

Quadro decisionale

Utilizza le seguenti domande per determinare quale servizio si adatta al tuo caso d'uso:

  • Qual è il tuo obiettivo principale? Sviluppo di applicazioni in Lambda → funzioni durevoli. Orchestrazione del flusso di lavoro attraverso AWS → Step Functions.

  • Qual è il tuo modello di programmazione preferito? Linguaggi di programmazione standard → funzioni durevoli. DSL o visual designer basato su grafici → Step Functions.

  • Quanti AWS servizi sono coinvolti? Principalmente Lambda → funzioni durevoli. AWS Servizi multipli → Step Functions.

  • Quali strumenti di sviluppo utilizzi? Esperienza per sviluppatori Lambda, IDE con agente LLM, framework di unit test specifici del linguaggio di programmazione,, Toolkit → funzioni durevoli. AWS SAM AWS CDK AWS Generatore di flussi di lavoro visivo, AWS CDK per modellare i flussi di lavoro → Step Functions.

  • Chi gestisce l'infrastruttura? Desideri flessibilità all'interno di Lambda → funzioni durevoli. Vuoi una gestione completa e senza manutenzione → Step Functions.

Confronto delle funzionalità

La tabella seguente confronta le caratteristiche chiave tra le funzioni durevoli Step Functions e Lambda:

Funzionalità AWS Step Functions Funzioni durevoli Lambda
Obiettivo primario Orchestrazione del flusso di lavoro su tutto AWS Sviluppo di applicazioni in Lambda
Tipo di servizio Servizio di workflow autonomo e dedicato Funziona in Lambda
Modello di programmazione DSL basato su grafici, Amazon States Language o AWS CDK Linguaggi di programmazione standard (JavaScript/TypeScript, Python)
Strumenti di sviluppo Visual Builder nell'estensione IDE AWS Console/Toolkit, AWS CDK Lambda DX all'interno di agenti IDE e LLM, framework di unit test, estensione IDE Toolkit AWS SAM AWS
Integrazioni Oltre 220 AWS servizi, 16.000 APIs Estensione del modello di programmazione Lambda basato sugli eventi (sorgenti di eventi)
Gestione Completamente gestita, indipendente dal runtime, senza manutenzione (nessuna applicazione di patch, aggiornamenti in fase di esecuzione) Gestito in ambiente Lambda
Ideale per Automazione dei processi aziendali e IT, elaborazione dei dati, flussi di lavoro AI Transazioni distribuite, logica applicativa stateful, orchestrazione delle funzioni, elaborazione dei dati, flussi di lavoro AI

Architetture ibride

Molte applicazioni traggono vantaggio dall'utilizzo di entrambi i servizi. Un modello comune prevede l'utilizzo di funzioni durevoli per la logica a livello di applicazione all'interno di Lambda, mentre Step Functions coordina i flussi di lavoro di alto livello su più servizi oltre alle funzioni Lambda. AWS

Considerazioni sulla migrazione

Iniziare da un complesso semplice e in continua evoluzione: inizia con funzioni durevoli per flussi di lavoro incentrati su Lambda. Aggiungi Step Functions quando hai bisogno di un'orchestrazione multiservizio o di una progettazione visiva del flusso di lavoro.

Utenti Step Functions esistenti: mantieni Step Functions per flussi di lavoro cross-service consolidati. Prendi in considerazione funzioni durevoli per la nuova logica applicativa Lambda che richiede affidabilità.