Funzionalità di AWS Step Functions


AWS Step Functions fornisce un'orchestrazione serverless per le applicazioni moderne. L'orchestrazione gestisce centralmente un flusso di lavoro suddividendolo in più fasi, aggiungendo la logica del flusso e tracciando gli input e gli output tra le fasi.

Durante l'esecuzione delle applicazioni, Step Functions mantiene lo stato dell'applicazione, tracciando esattamente la fase del flusso di lavoro in cui si trova l'applicazione, e memorizza un log di eventi dei dati che si trasmette tra i componenti dell'applicazione. Ciò significa che se le reti non funzionano o i componenti si bloccano, l'applicazione può riprendere esattamente da dove si era interrotta.

Lo sviluppo delle applicazioni è più rapido e intuitivo con Step Functions, in quanto è possibile definire e gestire il flusso di lavoro dell'applicazione indipendentemente dalla sua logica aziendale. Le modifiche apportate a una non influiscono sull'altra.

È possibile aggiornare e modificare facilmente i flussi di lavoro in un unico posto, senza preoccuparsi della gestione, del monitoraggio e della manutenzione di più integrazioni point-to-point. Puoi anche integrarti facilmente praticamente con qualsiasi applicazione SaaS direttamente dai tuoi flussi di lavoro. 

Step Functions elimina il codice in eccesso delle funzioni e dei container, aumentando la velocità di scrittura delle applicazioni, la resilienza e la facilità di manutenzione.

Quali sono le funzionalità di Step Functions?

Configurazione del flusso di lavoro visiva e intuitiva

Con AWS Step Functions, si definiscono i flussi di lavoro come macchine a stati, che trasformano codice complesso in istruzioni e diagrammi di facile comprensione. La creazione di applicazioni e la conferma dell'implementazione delle funzionalità desiderate sono più veloci e semplici. Scopri di più su come funziona Step Functions.

Gestione degli errori, timeout e flusso di elaborazione parallela integrati per applicazioni distribuite

AWS Step Functions fornisce fasi già pronte per il flusso di lavoro, chiamate "stati", che implementano primitive di servizio di base al tuo posto. Ciò significa che puoi rimuovere quella logica dalla tua applicazione. Gli stati possono trasmettere dati ad altri stati e microservizi, gestire eccezioni, aggiungere timeout, prendere decisioni, eseguire più percorsi in parallelo e altro ancora. Ulteriori informazioni sugli stati.

Gestione migliorata delle variabili e del payload

AWS Step Functions offre funzionalità avanzate di gestione delle variabili e dei payload per velocizzare lo sviluppo delle applicazioni. Questo consente agli sviluppatori di archiviare e consultare i dati del payload più facilmente all'interno dei flussi di lavoro di Step Functions utilizzando le variabili. È possibile assegnare e consultare i dati in qualsiasi stato nei flussi di lavoro senza passare attraverso stati intermedi, semplificando la gestione del payload tra gli stati dei flussi di lavoro. Gli sviluppatori possono utilizzare funzionalità di trasformazione dei dati integrate con JSONata che riducono la necessità di codice personalizzato, migliorando la produttività. JSONata aggiunge funzionalità complete di trasformazione dei dati come la formattazione di data/ora e operazioni matematiche e consente di eseguire manipolazioni dei dati direttamente nei flussi di lavoro. Inoltre, è possibile adottare in modo incrementale Variables e JSONata nei flussi di lavoro nuovi ed esistenti, a livello di flusso di lavoro o di singolo stato, mentre i flussi di lavoro esistenti rimangono completamente funzionali senza richiedere alcuna modifica. Queste funzionalità consentono agli sviluppatori di creare flussi di lavoro più complessi ed efficienti con un numero inferiore di stati, riducendo ulteriormente i costi complessivi.

Integrazione diretta con 220 servizi AWS e oltre 10.000 API

Utilizzando le integrazioni del servizio AWS Step Functions, è possibile configurare il flusso di lavoro Step Functions per chiamare oltre 220 servizi AWS. Alcuni esempi:

  • Servizi di elaborazione (AWS Lambda, Amazon ECS, Amazon EKS e AWS Fargate)
  • Servizi di database (Amazon DynamoDB)
  • Servizi di messaggistica (Amazon SNS e Amazon SQS), Servizi di elaborazione
  • dati (Amazon Athena, Batch AWS, AWS Glue, Amazon EMR e AWS Glue DataBrew)
  • Servizi di IA generativa e machine learning (Amazon SageMaker, Amazon Bedrock)
  • API create da Gateway Amazon API

 Ulteriori informazioni sulle integrazioni dei servizi.

Integrazione con praticamente qualsiasi applicazione SaaS direttamente dal tuo flusso di lavoro

L'integrazione degli endpoint HTTPS di AWS Step Functions ti consente di integrare direttamente i servizi basati su HTTP nei tuoi flussi di lavoro. Puoi creare, gestire e orchestrare flussi di lavoro in più fasi composti da servizi AWS e applicazioni SaaS da un'unica posizione. Con l'integrazione degli endpoint HTTPS puoi coordinare facilmente i vari componenti dell'applicazione, gestire l'autenticazione, testare l'integrazione e gestire gli errori senza dover scrivere codice personalizzato o mantenere un'infrastruttura aggiuntiva. L'integrazione degli endpoint HTTPS migliora l'agilità degli sviluppatori e consente di estendere facilmente le funzionalità delle applicazioni SaaS che supportano la tua attività.

Coordinamento dei componenti distribuiti

AWS Step Functions può coordinare tutte le applicazioni in grado di stabilire una connessione HTTPS, indipendentemente dal luogo in cui è ospitata, ad esempio su istanze Amazon EC2, dispositivi mobili o server on-premise. Utilizzando Step Functions, è possibile creare rapidamente applicazioni distribuite che sfruttano i servizi AWS e i propri microservizi. Ulteriori informazioni sulle attività.

La riutilizzabilità dei componenti consente lo sviluppo di applicazioni affidabili ed efficienti

AWS Step Functions coordina le funzioni Lambda e i microservizi esistenti in applicazioni affidabili e consente di ricablarle rapidamente in nuove composizioni. È possibile eseguire le attività del flusso di lavoro ovunque, anche su istanze, container, funzioni e dispositivi mobili. Scopri come riutilizzare i componenti delle applicazioni esistenti.

Riduci i cicli di sviluppo con la separazione della logica del flusso di lavoro

AWS Step Functions mantiene la logica dell'applicazione rigorosamente separata dall'implementazione della stessa. È possibile aggiungere, spostare, scambiare e riordinare le fasi senza apportare modifiche alla logica aziendale. Grazie alla separazione delle aziende, i flussi di lavoro acquisiscono modularità, manutenzione semplificata, scalabilità e riutilizzo del codice.

Gestione integrata dello stato e monitoraggio dell'avanzamento del flusso di lavoro

AWS Step Functions mantiene lo stato dell'applicazione durante l'esecuzione, incluso il monitoraggio della fase di esecuzione in cui si trova, e l'archiviazione dei dati che si spostano tra le fasi del flusso di lavoro. Ciò significa che non è necessario gestire lo stato in autonomia con archivi di dati o incorporando una complessa gestione dello stato in tutte le attività.

Gestione integrata degli errori

AWS Step Functions gestisce automaticamente gli errori e le eccezioni con funzionalità try/catch and retry integrate, indipendentemente dal fatto che il completamento dell'attività richieda secondi o mesi. È possibile effettuare automaticamente nuovi tentativi delle attività non riuscite o non completate, rispondere in modo diverso ai vari tipi di errori e ottenere correttamente il ripristino tramite il codice di pulizia e ripristino designato. Scopri di più sulla gestione degli errori di Step Functions e su come gestire le condizioni di errore utilizzando una macchina a stati.

Cronologia dell'esecuzione del flusso di lavoro in tempo reale e monitorabile

AWS Step Functions offre diagnostica e dashboard in tempo reale, si integra con Amazon CloudWatch e AWS CloudTrail e registra ogni esecuzione, compreso lo stato generale, le fasi non riuscite, gli input e gli output. Se qualcosa va storto, è possibile identificare tempestivamente non solo il luogo, ma anche il motivo, e identificare rapidamente i problemi e porvi rimedio. Scopri di più sul monitoraggio e la registrazione di Step Functions.

Dashboard visiva dell'operatore per il monitoraggio e la risoluzione dei problemi

Per avviare un'applicazione è sufficiente premere un pulsante e osservare visivamente l'esecuzione delle varie fasi, in modo da verificare tempestivamente che sia tutto in ordine. La console evidenzia in modo chiaro ogni errore, per consentire di individuare tempestivamente la causa e risolverlo.

Flussi di lavoro a disponibilità elevata e tolleranza ai guasti

AWS Step Functions ha una tolleranza ai guasti integrata e gestisce la capacità dei servizi tra più zone di disponibilità in ogni regione per proteggere le applicazioni da guasti di singoli computer o data center. Queste funzionalità garantiscono disponibilità elevata sia per il servizio che per il flusso di lavoro dell'applicazione.

Soluzioni serverless scalabili

AWS Step Functions dimensiona automaticamente le operazioni e l'elaborazione sottostante per eseguire le fasi dell'applicazione in risposta alle variazioni dei carichi di lavoro. Step Functions dimensiona automaticamente le risorse per garantire che le prestazioni del flusso di lavoro dell'applicazione rimangano costanti anche in caso di picchi di richieste.

Orchestrazione ad alto volume per flussi di lavoro di elaborazione di eventi come IoT e importazione dei dati

AWS Step Functions aggiunge Express Workflow. Express Workflow supporta una frequenza di eventi superiore a 100.000 al secondo, consentendo di creare flussi di lavoro ad alto volume e di breve durata.

Express Workflow è in grado di coordinare le invocazioni di funzioni AWS Lambda, le azioni del motore delle regole AWS IoT e gli eventi Amazon EventBridge da oltre un centinaio di origini di eventi SaaS di terze parti AWS.

Scopri di più sui flussi di lavoro Express e Standard e sul modo in cui utilizzarli in architetture di automazione di esempio nella pagina dei casi d'uso di Step Functions.

Elaborazione parallela su larga scala

Step Functions può iterare su oggetti come immagini, log o file CSV archiviati in Amazon S3, quindi avviare e coordinare migliaia di flussi di lavoro paralleli per elaborare i dati. È possibile dimensionare in modo più semplice e veloce migliaia di esecuzioni simultanee di flussi di lavoro, per analizzare milioni di log, iterare su terabyte di dati o elaborare documenti, immagini e file video. Scopri di più sullo stato della mappa Step Functions per la creazione di flussi di lavoro paralleli su larga scala.

Sicurezza

AWS Step Functions si integra con AWS Identity and Access Management (IAM) e suggerisce una policy IAM con privilegi minimi per tutte le risorse utilizzate nel flusso di lavoro. Step Functions supporta endpoint VPC (VPCE) utilizzando AWS PrivateLink. È possibile accedere ad AWS Step Functions dalle funzioni AWS Lambda abilitate per VPC e altri servizi AWS senza l'uso della rete internet pubblica. Ulteriori informazioni sulla sicurezza e l'autenticazione di Step Functions.

Conformità

AWS Step Functions è un servizio idoneo alla normativa HIPAA e può essere utilizzato con applicazioni contenenti informazioni relative all'assistenza sanitaria, come le informazioni sanitarie personali (PHI). Step Functions è inoltre conforme alle misure SOC (System & Organization Control) e i risultati di questi audit di terze parti sono disponibili sul sito della conformità SOC di AWS. AWS Step Functions è conforme anche ad altri standard di conformità comuni. Approfondisci l'ambito di conformità visitando il sito sulla sicurezza del cloud AWS.

Prezzo in base all'uso

Con AWS Step Functions, paghi ogni transizione da uno stato all'altro. La fatturazione si basa quindi sulle transizioni di stato e non sono previsti costi per il tempo di inattività, indipendentemente dalla durata di ciascuno stato (fino a un termine massimo di un anno). Ciò garantisce la convenienza di Step Functions in quanto le risorse vengono dimensionate da poche esecuzioni a decine di milioni. Ulteriori informazioni sui prezzi di Step Functions.