Sommario:
Video: Cos'è il Cloud Computing? 2024
Amazon Web Services (AWS) è in realtà una vasta gamma di servizi che possono interessare i consumatori, le piccole e medie imprese (PMI) e le imprese. Utilizzando AWS, puoi fare tutto, dal backup del disco rigido personale alla creazione di un reparto IT completo nel cloud.
La base installata è immensa. Puoi trovare case study di aziende come Adobe e Netflix che utilizzano AWS. L'uso di AWS non è solo per le aziende private - anche il governo fa uso dei suoi servizi.
Le tecnologie che rendono tutti questi servizi possibili sono in realtà semplici nel concepimento. Pensa a un paio di barattoli di latta con una corda attaccata tra loro. Amazon tiene un barattolo di latta e tu reggi l'altro. Parlando in un barattolo di latta, puoi sentire ciò che viene detto dall'altra parte. L'implementazione, tuttavia, si basa su dettagli che rendono la comunicazione più difficile di quanto si possa inizialmente pensare. La seguente discussione offre una panoramica su come funziona il cloud AWS.
Architetture applicative orientate ai servizi
Le architetture applicative orientate ai servizi, talvolta note come SOA (Service-Oriented Architectures), si presentano in molte forme. A prescindere da come le visualizzi, le architetture applicative orientate ai servizi sono estensioni delle tecnologie client-server utilizzate nei primi giorni dell'informatica, nel senso che un cliente fa una richiesta che un server soddisfa eseguendo un'azione o inviare una risposta. Tuttavia, i dettagli dell'implementazione sono cambiati significativamente nel corso degli anni, rendendo le applicazioni moderne molto più affidabili, flessibili e meno dipendenti da una specifica configurazione di rete.
Il processo di richiesta e risposta può coinvolgere più livelli di granularità, con il termine microservizio applicato alle più piccole coppie di richieste e risposte. Gli sviluppatori fanno spesso riferimento a un'applicazione che si basa su un'architettura applicativa orientata ai servizi come un'applicazione composita perché esiste come più elementi incollati insieme per formare un insieme. Le architetture di applicazioni guidate dal servizio seguono molti schemi specifici, ma in generale utilizzano la seguente sequenza per eseguire attività di comunicazione.
- Creare una richiesta sul client utilizzando qualsiasi tecnologia di messaggio richiesta dal server.
- Imballa la richiesta, aggiungendo sicurezza o altre informazioni secondo necessità.
- Invia la richiesta utilizzando un protocollo, come il protocollo SOAP (Simple Object Access Protocol) o un'architettura, ad esempio REST (REpresentational State Transfer). (Scopri come funziona SOAP e come funziona REST: una conoscenza passata di entrambi è utile per lavorare con AWS.)
- Elabora la richiesta sul server.
- Eseguire un'azione o restituire i dati secondo quanto richiesto dalla richiesta.
- Quando si lavora con i dati, elaborare la risposta sul client e presentare i risultati all'utente (o altro destinatario).
AWS fornisce un'architettura applicativa orientata ai servizi in cui si sceglie un servizio specifico, come S3, per eseguire attività specifiche, come il backup di file su un disco rigido. In molti casi, è necessario eseguire i passaggi di configurazione oltre alla semplice interazione con il servizio. Ad esempio, se guardi questo tutorial di dieci minuti, scopri che devi prima creare un bucket per archiviare i file che vuoi caricare su Amazon. Questo passaggio aggiuntivo ha senso perché devi stabilire una posizione da cui recuperare i file in un secondo momento e non vuoi che i tuoi file vengano mescolati con i file di altre persone.
Anche se molti dei processi che esegui con AWS richiedono l'utilizzo di un'app (in modo da avere un'interfaccia utente piuttosto che un codice con cui lavorare), il processo sottostante è lo stesso. Il codice fornito nell'app effettua richieste per te e quindi attende una risposta. In alcuni casi, l'app deve determinare il successo o il fallimento di un'azione sul server. È necessario rendersi conto, tuttavia, che queste azioni avvengono nel codice e che il codice utilizza una sequenza di passaggi per eseguire l'attività che si è chiesto di eseguire.
Flussi di lavoro basati su processi e funzioni
Nella creazione di app per la gestione dei servizi sottostanti, AWS definisce anche i flussi di lavoro. Un flusso di lavoro è un metodo organizzato per eseguire attività. Ad esempio, quando si desidera salvare un file in AWS utilizzando S3, è necessario prima creare un bucket per contenere il file. Solo dopo aver creato un bucket puoi salvare un file in AWS. Inoltre, non è possibile recuperare un file dal bucket fino a quando non si salva prima un file, il che ha senso perché non è possibile estrarre un file dal nulla. In breve, un flusso di lavoro definisce una procedura per lavorare con il software e il concetto è in circolazione da molto tempo. (I primi flussi di lavoro sono apparsi a metà degli anni '70 con semplici prototipi di office automation presso Xerox Parc e la Wharton School of Business della University of Pennsylvania.)
I flussi di lavoro possono consistere in flussi di lavoro aggiuntivi. Inoltre, i flussi di lavoro gestiscono l'interazione tra utenti e servizi sottostanti. Un processo è l'aggregazione di servizi gestiti da flussi di lavoro in un insieme coerente. I flussi di lavoro possono eseguire attività generiche, ma i processi tendono ad essere specifici e aiutano gli utenti a raggiungere determinati obiettivi. Un flusso di lavoro guidato dal processo è proattivo e tenta di aggirare i potenziali problemi di
- Individuare i modelli di errore e agire su di essi
- Cercare le tendenze che tendono a portare a errori
- Individuazione e estinzione di potenziali minacce
questi tutorial, si scopre che tutti implicano l'utilizzo di un certo tipo di interfaccia utente. L'interfaccia utente fornisce il flusso di lavoro utilizzato per gestire i servizi sottostanti. Ogni passaggio di esercitazione principale è un flusso di lavoro che esegue un'attività specifica, ad esempio la creazione di un bucket.Quando si uniscono questi singoli flussi di lavoro in un insieme aggregato, il processo può aiutare un utente a eseguire attività come lo spostamento di file tra il cloud e il sistema dell'utente. La creazione di un file system cloud è un esempio di un flusso di lavoro guidato dal processo: il flusso di lavoro esiste per rendere il processo fattibile. I flussi di lavoro possono diventare piuttosto complessi nelle operazioni su larga scala, ma visualizzarli aiuta a comprendere meglio AWS. Trova una discussione più dettagliata su flussi di lavoro e processi.
Una funzione è l'uso reattivo dei servizi gestiti dai flussi di lavoro per risolvere problemi specifici in tempo reale. Anche se sarebbe bello se i flussi di lavoro guidati dal processo funzionassero sempre, la realtà è che anche con un'affidabilità del 99,999%, il processo fallirà a un certo punto, e un flusso di lavoro guidato dalla funzione deve essere in atto per affrontare tale fallimento. Sebbene i flussi di lavoro basati sui processi si concentrino sul completamento flessibile delle attività, i flussi di lavoro basati sulle funzioni si concentrano sull'attenuazione procedurale dell'effetto di un errore. In breve, i flussi di lavoro basati sulle funzioni rispondono alle esigenze. Anche i servizi e i flussi di lavoro AWS gestiscono questo problema attraverso l'interfaccia utente, ad esempio ripristinando manualmente un backup per attenuare un errore di sistema.