Scopri i casi d'uso per i flussi di lavoro Step Functions - AWS Step Functions

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à.

Scopri i casi d'uso per i flussi di lavoro Step Functions

Con AWS Step Functions, puoi creare flussi di lavoro che gestiscono lo stato nel tempo, prendono decisioni in base ai dati in entrata e gestiscono errori ed eccezioni.

Elaborazione dei dati

Con l'aumento del volume di dati provenienti da fonti diverse, le organizzazioni devono elaborare i propri dati più velocemente in modo da poter prendere rapidamente decisioni aziendali ben informate. Per elaborare i dati su larga scala, le organizzazioni devono fornire in modo elastico le risorse per gestire le informazioni che ricevono da dispositivi mobili, applicazioni, satelliti, marketing e vendite, archivi di dati operativi, infrastrutture e altro ancora.

Grazie alla scalabilità orizzontale e ai flussi di lavoro con tolleranza ai guasti, Step Functions è in grado di eseguire milioni di esecuzioni simultanee. È possibile elaborare i dati più rapidamente utilizzando esecuzioni parallele con Stato del flusso di lavoro parallelo stato. In alternativa, puoi utilizzare il parallelismo dinamico dello Stato del flusso di lavoro della mappa stato per iterare su set di dati di grandi dimensioni in un archivio di dati, come i bucket Amazon S3. Step Functions offre anche la possibilità di ritentare le esecuzioni non riuscite o di scegliere un percorso specifico per gestire gli errori senza dover gestire complessi processi di gestione degli errori.

Step Functions si integra direttamente con altri servizi di elaborazione dati forniti da AWS ad esempio AWS Batchper l'elaborazione in batch, Amazon EMR per l'elaborazione di big data, AWS Glueper la preparazione dei dati, Athena per l'analisi dei dati e AWS Lambdaper il calcolo.

Alcuni esempi dei tipi di flussi di lavoro di elaborazione dati che i clienti utilizzano Step Functions includono:

Elaborazione di file, video e immagini

  • Crea una raccolta di file video e convertili in altre dimensioni o risoluzioni ideali per il dispositivo su cui verranno visualizzati, come telefoni cellulari, laptop o televisione.

  • Scatta un'ampia raccolta di foto caricate dagli utenti e convertile in miniature o immagini a varie risoluzioni che possono poi essere visualizzate sui siti Web degli utenti.

  • Prendi dati semistrutturati, come un CSV file, e combinali con dati non strutturati, come una fattura, per produrre un report aziendale che viene inviato mensilmente agli stakeholder aziendali.

  • Prendete i dati di osservazione della Terra raccolti dai satelliti, convertiteli in formati che si allineano tra loro e poi aggiungete altre fonti di dati raccolte sulla Terra per ulteriori informazioni.

  • Prendi i registri di trasporto dei vari modi di trasporto per trovare i prodotti e cerca ottimizzazioni con Monte Carlo Simulations, quindi invia i report alle organizzazioni e alle persone che si affidano a te per spedire le loro merci.

Coordina i lavori di estrazione, trasformazione e caricamento (): ETL

  • Combina i record delle opportunità di vendita con i set di dati delle metriche di marketing attraverso una serie di fasi di preparazione dei dati utilizzando AWS Glue e produci report di business intelligence che possono essere utilizzati in tutta l'organizzazione.

  • Crea, avvia e termina un EMR cluster Amazon per l'elaborazione di big data.

Elaborazione in batch e carichi di lavoro High Performance Computing (HPC):

  • Crea una pipeline di analisi genomica secondaria che elabori sequenze grezze di interi genomi in chiamate varianti. Allinea i file non elaborati a una sequenza di riferimento e richiama le varianti su un elenco specifico di cromosomi utilizzando il parallelismo dinamico.

  • Scoprite l'efficienza nella produzione del vostro prossimo dispositivo mobile o di altri dispositivi elettronici simulando vari layout utilizzando diversi composti elettrici e chimici. Esegui l'elaborazione in batch di grandi dimensioni dei tuoi carichi di lavoro attraverso varie simulazioni per ottenere il design ottimale.

Machine learning

L'apprendimento automatico offre alle organizzazioni un modo per analizzare rapidamente i dati raccolti per identificare modelli e prendere decisioni con un intervento umano minimo. L'apprendimento automatico inizia con un set iniziale di dati, noto come dati di addestramento. I dati di addestramento aumentano la precisione di previsione di un modello di apprendimento automatico e fungono da base attraverso cui il modello apprende. Dopo aver considerato il modello addestrato sufficientemente accurato da soddisfare le esigenze aziendali, è possibile implementarlo in produzione. Il AWS Step Functions Data Science Project su Github è una libreria open source che fornisce flussi di lavoro per preelaborare i dati, addestrare e quindi pubblicare i modelli utilizzando Amazon e Step Functions. SageMaker

La preelaborazione dei set di dati esistenti è spesso il modo in cui un'organizzazione crea dati di formazione. Questo metodo di preelaborazione aggiunge informazioni, ad esempio etichettando gli oggetti in un'immagine, annotando il testo o elaborando l'audio. Per preelaborare i dati, puoi usare AWS Glue, oppure puoi creare un'istanza di SageMaker notebook che viene eseguita in un Jupyter Notebook. Una volta pronti, i dati possono essere caricati su Amazon S3 per l'accesso. Man mano che i modelli di machine learning vengono addestrati, puoi apportare modifiche ai parametri di ciascun modello per migliorarne la precisione.

Step Functions offre un modo per orchestrare i flussi di lavoro di end-to-end machine learning su. SageMaker Questi flussi di lavoro possono includere la preelaborazione e la post-elaborazione dei dati, la progettazione delle funzionalità, la convalida dei dati e la valutazione dei modelli. Dopo l'implementazione del modello in produzione, è possibile perfezionare e testare nuovi approcci per migliorare continuamente i risultati aziendali. Puoi creare flussi di lavoro pronti per la produzione direttamente in Python oppure puoi usare Step Functions Data Science SDK per copiare quel flusso di lavoro, sperimentare nuove opzioni e mettere in produzione il flusso di lavoro raffinato.

Alcuni tipi di flussi di lavoro di machine learning per cui i clienti utilizzano Step Functions includono:

Rilevamento delle fro

  • Identifica e previene il verificarsi di transazioni fraudolente, come le frodi creditizie.

  • Rileva e previeni le acquisizioni di account utilizzando modelli di apprendimento automatico addestrati.

  • Identifica gli abusi promozionali, inclusa la creazione di account falsi, in modo da poter agire rapidamente.

Personalizzazione e consigli

  • Consiglia i prodotti a clienti mirati in base a ciò che si prevede attirerà il loro interesse.

  • Prevedi se un cliente aggiornerà il proprio account da un livello gratuito a un abbonamento a pagamento.

Arricchimento dei dati

  • Utilizza l'arricchimento dei dati come parte della preelaborazione per fornire dati di addestramento migliori per modelli di apprendimento automatico più accurati.

  • Annota brani di testo e audio per aggiungere informazioni sintattiche, come sarcasmo e slang.

  • Etichetta oggetti aggiuntivi nelle immagini per fornire informazioni fondamentali da cui il modello può imparare, ad esempio se un oggetto è una mela, una palla da basket, una roccia o un animale.

Orchestrazione di microservizi

Step Functions offre opzioni per gestire i flussi di lavoro dei microservizi.

L'architettura a microservizi suddivide le applicazioni in servizi liberamente accoppiati. I vantaggi includono una migliore scalabilità, una maggiore resilienza e un time-to-market più rapido. Ogni microservizio è indipendente, il che semplifica la scalabilità di un singolo servizio o funzione senza dover scalare l'intera applicazione. I singoli servizi sono strettamente associati, in modo che i team indipendenti possano concentrarsi su un singolo processo aziendale, senza dover comprendere l'intera applicazione.

I microservizi forniscono anche componenti individuali che si adattano alle esigenze aziendali, offrendoti flessibilità senza riscrivere l'intero flusso di lavoro. Diversi team possono utilizzare i linguaggi di programmazione e i framework di loro scelta per lavorare con i propri microservizi.

Per i flussi di lavoro di lunga durata, puoi utilizzare i flussi di lavoro standard con AWS Fargate integrazione per orchestrare le applicazioni in esecuzione nei container. Per flussi di lavoro di breve durata e ad alto volume che richiedono una risposta immediata, i flussi di lavoro Synchronous Express sono ideali. Un esempio sono le applicazioni basate sul Web o per dispositivi mobili, che richiedono il completamento di una serie di passaggi prima di restituire una risposta. Puoi attivare direttamente un flusso di lavoro Synchronous Express da Amazon API Gateway e la connessione rimane aperta fino al completamento del flusso di lavoro o al timeout. Per flussi di lavoro di breve durata che non richiedono una risposta immediata, Step Functions fornisce flussi di lavoro Asynchronous Express.

Esempi di alcune API orchestrazioni che utilizzano Step Functions includono:

Flussi di lavoro sincroni o in tempo reale

  • Modificare un valore in un record, ad esempio aggiornando il cognome di un dipendente e rendendo la modifica immediatamente visibile.

  • Aggiorna un ordine durante il checkout, ad esempio aggiungendo, rimuovendo o modificando la quantità di un articolo, quindi mostrando immediatamente il carrello aggiornato al cliente.

  • Esegui un processo di elaborazione rapido e restituisci immediatamente il risultato al richiedente.

Orchestrazione dei container

  • Esegui lavori su Kubernetes con Amazon Elastic Kubernetes Service o su Amazon Elastic Container ECS Service () con Fargate e integra con altri AWS servizi, come l'invio di notifiche con AmazonSNS, come parte dello stesso flusso di lavoro.

Automazione IT e della sicurezza

Con Step Functions, puoi creare flussi di lavoro che scalano e reagiscono automaticamente agli errori del flusso di lavoro. I flussi di lavoro possono riprovare automaticamente le attività non riuscite e utilizzare un backoff esponenziale per gestire gli errori.

La gestione degli errori è essenziale negli scenari di automazione IT per gestire operazioni complesse e dispendiose in termini di tempo, come l'aggiornamento e l'applicazione di patch del software, l'implementazione di aggiornamenti di sicurezza per risolvere le vulnerabilità, la selezione dell'infrastruttura, la sincronizzazione dei dati e il routing dei ticket di supporto. Automatizzando le attività ripetitive e dispendiose in termini di tempo, l'organizzazione può completare le operazioni di routine in modo rapido e coerente su larga scala. L'attenzione può concentrarsi su iniziative strategiche come lo sviluppo di funzionalità, richieste di supporto complesse e innovazione, soddisfacendo al contempo le esigenze operative.

Quando è necessario l'intervento umano per il proseguimento del flusso di lavoro, ad esempio l'approvazione di un aumento sostanziale del credito, è possibile definire una logica di ramificazione in Step Functions, in modo che le richieste inferiori a un limite vengano approvate automaticamente e le richieste del limite richiedano l'approvazione umana. Quando è richiesta l'approvazione umana, Step Functions può mettere in pausa il flusso di lavoro, attendere una risposta umana, quindi continuare il flusso di lavoro dopo aver ricevuto una risposta.

Alcuni esempi di flussi di lavoro di automazione includono quanto segue:

Automazione IT

  • Risolvi automaticamente incidenti come SSH porte aperte, spazio su disco insufficiente o quando ad accesso pubblico viene concesso l'accesso pubblico a un bucket Amazon S3.

  • Automatizza la distribuzione di AWS CloudFormation StackSets.

Automazione della sicurezza

  • Automatizza la risposta a uno scenario in cui sono stati esposti un utente e una chiave di accesso utente.

  • Correggi automaticamente le risposte agli incidenti di sicurezza in base alle azioni politiche, ad esempio limitando le azioni a azioni specifiche. ARNs

  • Avvisa i dipendenti delle e-mail di phishing entro pochi secondi dalla loro ricezione.

Approvazione umana

  • Automatizza l'addestramento dei modelli di machine learning, quindi ottieni l'approvazione del modello da un data scientist prima di implementare il modello aggiornato.

  • Automatizza la distribuzione del feedback dei clienti sulla base dell'analisi del sentiment, in modo che i commenti negativi vengano rapidamente sottoposti a revisione.