Amazon SWF aiuta gli sviluppatori a costruire, eseguire e scalare lavori in background con fasi parallele o sequenziali. Puoi pensare a Amazon SWF come a un dispositivo completamente gestito che traccia gli stati e coordina le attività nel cloud.

Se le fasi dell’applicazione impiegano oltre 500 millisecondi per essere completate, può essere necessario tracciare lo stato dell’elaborazione e recuperare o ritentare un’attività non riuscita. Amazon SWF può aiutarti.


Visita la pagina Nozioni di base per ottenere il codice di esempio per i modelli dei flussi di lavoro paralleli, sequenziali, ramificati, ecc.

Inizia ora

Inizia a usare AWS gratis

Crea un account gratuito

Il piano gratuito di AWS include 10.000 task di attività, 30.000 giorni di flusso di lavoro e 1000 esecuzioni avviate con Amazon Simple Workflow Service (SWF).

Visualizza i dettagli del piano gratuito di AWS »

Amazon SWF promuove una separazione tra la logica graduale del flusso di controllo del lavoro in background e le unità reali di lavoro che contengono la logica di business propria di ogni impresa. Questo consente di gestire, memorizzare e scalare separatamente "la macchina a stati" dell’applicazione dalla logica di business essenziale che la differenzia. Al cambiare dei tuoi requisiti di business, puoi cambiare la logica dell’applicazione senza doverti preoccupare della macchina a stati, della distribuzione delle attività e del controllo dei flussi sottostanti.

Amazon SWF viene eseguito all’interno dei data center ad alta disponibilità di Amazon, in modo che il motore di tracciatura degli stati e di elaborazione delle attività sia disponibile quando le applicazioni lo richiedono. Amazon SWF archivia le attività in modo ridondante, le distribuisce in maniera affidabile ai componenti dell’applicazione, ne traccia l’avanzamento e ne memorizza lo stato più recente.

Amazon SWF sostituisce la complessità delle soluzioni per flussi di lavoro appositamente codificati e i software di automazione di processi con un servizio Web completamente gestito per flussi di lavoro nel cloud. In questo modo si elimina la necessità per gli sviluppatori di gestire l’infrastruttura dell’automazione di processi, in modo che possano concentrare la loro energia unicamente sulla funzionalità delle applicazioni.

Amazon SWF consente la perfetta scalabilità in base all’utilizzo dell’applicazione. Non è necessaria amministrazione manuale del servizio per i flussi di lavoro ed è possibile aggiungere più flussi di lavoro nel cloud all’applicazione o aumentarne la complessità.

Amazon SWF consente di scrivere i componenti dell’applicazione e la logica di coordinamento in qualsiasi linguaggio di programmazione e di eseguirli nel cloud o in locale.

Codifica video utilizzando Amazon S3 e Amazon EC2. In questo caso d’uso, video di grandi dimensioni vengono caricati in Amazon S3 in blocchi. Il caricamento dei blocchi deve essere monitorato. Una volta caricato un blocco, viene codificato scaricandolo in un’istanza Amazon EC2. Il blocco codificato viene archiviato in un’altra posizione di Amazon S3. Una volta che tutti i blocchi sono stati codificati in questo modo, vengono combinati in un file codificato completo che viene poi archiviato nella sua interezza in Amazon S3. Durante questo processo, possono verificarsi errori a causa di errori di codifica riscontrati in uno o più blocchi. Tali errori devono essere rilevati e gestiti attraverso la gestione dei flussi di lavoro nel cloud di Amazon SWF.

Migrazione di componenti dal data center al cloud. Le operazioni aziendali critiche sono eseguite in hosting in un data center privato, ma devono essere trasferite interamente nel cloud senza causare interruzioni. Le applicazioni basate su Amazon SWF possono combinare lavoratori che includono componenti in esecuzione nel data center con lavoratori in esecuzione nel cloud. Per effettuare una transizione uniforme di un lavoratore di un data center, i nuovi lavoratori dello stesso tipo vengono prima distribuiti nel cloud. I lavoratori del data center continuano le operazioni come sempre, insieme ai nuovi lavoratori basati sul cloud. I lavoratori basati sul cloud vengono testati e validati indirizzando una porzione del carico attraverso di loro. Durante questo test, l’applicazione non viene interrotta, dal momento che i lavoratori del data center continuano le normali operazioni. Dopo un test di successo, i lavoratori del data center vengono gradualmente fermati e quelli nel cloud vengono ampliati, fino a raggiungere la completa esecuzione nel cloud. Questo processo di flusso di lavoro cloud può essere ripetuto per tutti gli altri lavoratori del data center, in modo da trasferire l’intera applicazione nel cloud. Se, per qualche ragione aziendale, determinate fasi di elaborazione devono continuare a essere effettuate nel data center privato, quei lavoratori possono continuare a operare nel data center privato e partecipare comunque all’applicazione.

Elaborazione di grandi cataloghi di prodotti utilizzando Amazon Mechanical Turk. Durante la validazione dei dati in grandi cataloghi, i prodotti del catalogo vengono elaborati in batch. Diversi batch possono essere elaborati in modo simultaneo. Per ciascun batch, i dati dei prodotti vengono estratti dai server nel data center e trasformati in file CSV (Comma Separated Values), richiesti dall’interfaccia utente richiedente (RUI) di Amazon Mechanical Turk. Il file CSV viene caricato per popolare ed eseguire le HIT (Human Intelligence Task). Quando le HIT sono complete, il file CSV risultante viene trasformato all’inverso per ottenere di nuovo i dati nel formato originario. I risultati vengono poi valutati e i lavoratori di Amazon Mechanical Turk vengono retribuiti per i risultati accettabili. Gli errori vengono eliminati e rielaborati, mentre i risultati HIT accettabili vengono utilizzati per aggiornare il catalogo. Con l’elaborazione dei batch, il sistema deve monitorare la qualità dei lavoratori di Amazon Mechanical Turk e regolare i pagamenti di conseguenza. Le HIT con errori vengono suddivise in batch e inviate nuovamente nella pipeline.