Panoramica

  • D: Cos'è AWS Step Functions?

    AWS Step Functions è un servizio completamente gestito che facilita il coordinamento dei componenti delle applicazioni distribuite e dei microservizi tramite flussi di lavoro visivi. La creazione di applicazioni da componenti individuali che eseguono ciascuno una funzione discreta permette di dimensionare e modificare rapidamente le applicazioni. Step Functions è un modo affidabile di coordinare componenti e controllare passo per passo le funzioni della tua applicazione. Step Functions fornisce una console grafica per riordinare e visualizzare i componenti della tua applicazione in una serie di fasi. Questo semplifica la creazione e l'esecuzione di applicazioni multifase. Step Functions attiva automaticamente e tiene traccia di ogni fase e, in caso di errore, riprova, in modo che la tua applicazione venga eseguita nell'ordine e nel modo previsto. Step Functions registra lo stato di ogni fase, per consentirti, in caso di errore, di eseguire una diagnosi e risolvere i problemi rapidamente. Si possono modificare e aggiungere fasi senza bisogno di scrivere codice, per consentire un'evoluzione e un'innovazione più rapide della tua applicazione.

  • D: Quali sono i vantaggi della progettazione di un'applicazione utilizzando un'orchestrazione di servizi per il coordinamento delle attività?

    Suddividere un'applicazione in componenti (o fasi) evita che un errore di un solo componente faccia collassare l'intero sistema, garantendo al contempo che ogni singolo componente possa attingere a una quantità consona di risorse e sia sempre aggiornato senza dover ripetere la distribuzione dell'intero sistema dopo ogni modifica. Il coordinamento dei componenti del servizio prevede la gestione di dipendenze di esecuzione, programmazione e simultaneità in conformità con il flusso logico dell’applicazione. In un’applicazione di questo genere gli sviluppatori possono utilizzare l’orchestrazione del servizio per compiere queste operazioni e per gestire gli errori.

  • Quali sono i casi d'uso ideali per AWS Step Functions?

    AWS Step Functions facilita la gestione di qualsiasi problema di elaborazione o processo di business che può essere suddiviso in una serie di fasi. I casi d’uso più comuni sono:

    • Elaborazione di dati e documenti – Consolida i dati provenienti da vari database in report unificati. Affina grandi set di dati e li riduce in formati utili.
    • DevOps – Costruisce strumenti per l’integrazione e la distribuzione continue. Crea applicazioni basate sull’evento che rispondono automaticamente alle modifiche apportate all’infrastruttura.
    • E-commerce – Automatizza processi di business mission-critical, come l’evasione degli ordini e il monitoraggio dell’inventario.
    • Applicazioni Web – Implementa processi stabili di registrazione degli utenti e autenticazione degli accessi.
  • Come funziona AWS Step Functions?

    Con AWS Step Functions definisci la tua applicazione come una macchina a stati, una serie di fasi che prese tutte insieme riflettono il comportamento dell’app. Gli stati della macchina possono essere task, fasi sequenziali, fasi parallele, percorsi di diramazione (scelta) e/o timer (attesa). I task sono unità di lavoro eseguibile in funzioni AWS Lambda, istanze Amazon EC2 di qualsiasi tipo, contenitori o server locali; un task può essere assegnato a qualsiasi elemento in grado di comunicare con l'API Step Functions. La console visiva rappresenta automaticamente in modo grafico il singolo stato nell'ordine di esecuzione, semplificando la pianificazione di applicazioni multifase. La console evidenzia lo stato di ogni fase in tempo reale e fornisce la cronologia dettagliata di ogni esecuzione. Step Functions esegue e dimensiona le fasi della tua applicazione ed effettua l'elaborazione per tuo conto per assicurare che l'applicazione venga eseguita in modo affidabile con l'aumento della domanda.

  • Come si inizia a usare AWS Step Functions?

    Per iniziare a usare AWS Step Functions, vai alla pagina dei dettagli e fai clic sul pulsante "Inizia a usarlo gratis". Se non disponi di un account Amazon Web Service, ti verrà chiesto di crearne uno. Una volta registrato, potrai lanciare una procedura guidata nella Console di AWS Step Functions che ti accompagnerà attraverso le fasi della creazione di una macchina a stati. Accedi a AWS Step Functions dalla Console di gestione AWS. Quindi seleziona il blueprint “Hello World” e aggiungi una funzione Lambda “HellWorld”. Ora puoi visualizzare in anteprima ed eseguire la tua macchina a stati. Per iniziare a usare AWS Step Functions, consulta la documentazione.

  • Quali sintassi usa AWS Step Functions?

    Puoi utilizzare qualsiasi linguaggio di programmazione per scrivere un’attività, a condizione che tu possa comunicare con AWS Step Functions utilizzando le API del servizio Web. Per praticità puoi utilizzare un SDK di AWS nel linguaggio di tua scelta. AWS Lambda supporta codice scritto in Node.js (JavaScript), Python, Java (compatibile con Java 8) e C# (utilizzando il runtime .NET Core). Le macchine a stati sono definite in JSON utilizzando Amazon States Language.

  • È possibile utilizzare AWS Step Functions con risorse locali?

    Sì. Le applicazioni basate su Amazon Step Functions possono combinare lavoratori in esecuzione nel data center con lavoratori in esecuzione nel cloud. I lavoratori del data center continuano le operazioni come sempre, insieme agli eventuali lavoratori basati sul cloud.

Confronti

  • In quali casi è indicato usare AWS Step Functions anziché Amazon SQS?

    AWS Step Functions è consigliato quando occorre coordinare componenti di un servizio nello sviluppo di applicazioni scalabili e sottoponibili a audit. Amazon Simple Queue Service (Amazon SQS) è invece idea quando occorre un servizio di accodamento in hosting affidabile e scalabile per inviare, memorizzare e ricevere messaggi tra servizi. Step Functions monitora tutte le task e gli eventi di un’applicazione. Con Amazon SQS, devi implementare il tuo monitoraggio personale a livello di applicazione, soprattutto se la tua applicazione utilizza più code. La console Step Functions e le API di visibilità forniscono una visione incentrata sull’applicazione che ti consente di cercare, amministrare e approfondire i dettagli di un’esecuzione. Amazon SQS richiede l'implementazione di questa funzionalità aggiuntiva. Step Functions offre varie caratteristiche per facilitare lo sviluppo delle applicazioni, come trasferimento di dati tra task e flessibilità nella distribuzione delle task. Amazon SQS richiede l'implementazione di alcune funzionalità a livello di applicazione. Anche Amazon SQS ti consente di creare flussi di lavoro di base per coordinare un'applicazione distribuita, ma potrai ottenere questa stessa funzionalità da Step Functions senza alcuna configurazione (e non è l'unica caratteristica peculiare di Step Functions).

  • In quali casi è indicato usare AWS Step Functions anziché AWS Batch?

    AWS Batch è un servizio che semplifica l'esecuzione di flussi di lavoro di elaborazione in batch in modo scalabile nel cloud AWS. AWS Step Functions è indicato quando occorre creare un'applicazione distribuita suddividendola in più fasi, che possono essere sequenziali, in parallelo e/o diramazioni logiche (scelte). AWS Batch è indicato per eseguire processi in un'applicazione e può impiegare Step Functions per inviare diversi processi in batch con interdipendenze. Batch è utile per automatizzare la gestione dell'infrastruttura di elaborazione ricalibrando le risorse in base alle esigenze.

  • In quali casi è indicato usare AWS Step Functions anziché Amazon Simple Workflow Service (SWF)?

    AWS Step Functions è indicato per tutte le nuove applicazioni, in quanto offre un approccio più produttivo e agile per il coordinamento dei componenti applicativi, grazie alla presenza di flussi di lavoro visivi. Se occorre l'intervento di segnali esterni nei processi, o se è importante avviare processi figlio che restituiscano risultati nel processo padre, è particolarmente indicato Amazon Simple Workflow (Amazon SWF). Con Amazon SWF, anziché scrivere macchine a stati nel linguaggio dichiarativo JSON, si definisce un programma decisore per separare le fasi operative da quelle decisionali. Ciò offre un controllo completo sulla logica di orchestrazione, ma aumenta la complessità delle applicazioni di sviluppo. È possibile scrivere i programmi decisori nel linguaggio di programmazione scelto oppure ricorrere a Flow Framework per utilizzare costrutti di programmazione che strutturano interazioni asincrone per conto dell’utente.

Integrazione

  • In che modo AWS Step Functions si interfaccia con altri servizi AWS?

    AWS Step Functions si integra con numerosi servizi AWS, tra cui AWS CloudFormation, AWS Lambda, Amazon EC2, Amazon EC2 Container Service (ECS), Amazon API Gateway, Amazon CloudWatch, AWS CloudTrail e Amazon EC2 Auto Scaling. Di seguito sono disponibili alcuni esempi di utilizzo dei servizi AWS.

    • Lanciare risorse necessarie per il funzionamento di attività e macchine a stati di AWS Step Functions utilizzando AWS CloudFormation
    • Implementare attività utilizzando funzioni Lambda o programmi in esecuzione in EC2 o in container ECS
    • Associare le API di Step Functions con metodi in un'API di API Gateway
    • Ricalibrare le risorse di un parco istanze EC2 per le attività di AWS Step Functions in risposta a parametri di CloudWatch
  • In che modo è possibile utilizzare AWS Step Functions con AWS Lambda?

    È possibile utilizzare le funzioni AWS Lambda per eseguire task all'interno di una macchina a stati. AWS Step Functions inoltrerà un input alla funzione Lambda specificata, quindi attenderà che quest'ultima restituisca un risultato. Con AWS Lambda è possibile creare task senza dover allocare o gestire server, in tutte le sintassi supportate da Lambda. Per ulteriori informazioni sull'uso di Step Functions con Lambda, consulta la documentazione di Step Functions.

  • In che modo è possibile utilizzare AWS Step Functions con Amazon EC2 e altre risorse di elaborazione?

    Tutti i lavori nella tua macchina a stati vengono eseguiti mediante task. Una task può essere un’attività che a sua volta può consistere in un codice scritto in un qualsiasi linguaggio. Le attività possono essere ospitate su Amazon EC2, Amazon ECS, dispositivi mobili, praticamente su qualsiasi computer in grado di comunicare con l’API di AWS Step Functions. Le attività interagiscono con Step Functions in polling lungo utilizzando chiamate API per richiedere un lavoro, ricevere i dati di input, eseguire il lavoro e restituire un risultato.

  • In che modo è possibile utilizzare AWS Step Functions con Amazon API Gateway?

    Bastano pochi clic nella Console di gestione AWS per associare le API di Step Functions con metodi nell'API di API Gateway; in questo modo, quando viene inoltrata una richiesta HTTPS a un metodo API personalizzato, API Gateway richiamerà le operazioni API di Step Functions. È possibile utilizzare l'API di Amazon API Gateway per avviare macchine a stati di Step Functions che coordinino componenti di un'applicazione di back-end distribuita. È anche possibile integrare nelle fasi dell'applicazione attività manuali, ad esempio richieste di approvazione. Inoltre, è possibile inoltrare chiamate serverless asincrone alle API dei servizi utilizzati dall'applicazione.

  • In che modo è possibile utilizzare AWS Step Functions con Amazon CloudWatch?

    Amazon CloudWatch è un servizio di monitoraggio per i servizi AWS e le applicazioni in esecuzione su AWS. Raccoglie e monitora parametri, imposta allarmi e reagisce automaticamente ai cambiamenti in AWS Step Functions. Di seguito sono disponibili alcuni esempi di utilizzo di Amazon CloudWatch con AWS Step Functions:

    • Monitorare i parametri di flusso di lavoro di Step Functions
    • Avviare flussi di lavoro di Step Functions in risposta a CloudWatch Events
    • Generare allarmi quando Step Functions supera soglie di parametri personalizzate
    • Pianificare i flussi di lavoro di Step Functions per intervalli di tempo ridotti fino a un minuto tramite CloudWatch Events

Sicurezza

Nozioni di base su AWS Step Functions

Visita la pagina sulle nozioni di base
Sei pronto per iniziare?
Accedi alla console di AWS Step Functions
Hai altre domande?
Contattaci