Applicazioni ed elaborazione serverless
Crea ed esegui applicazioni senza pensare ai server
Che cos'è l'elaborazione serverless?
L'elaborazione serverless consente di creare ed eseguire applicazioni e servizi senza dover gestire alcun server. Le applicazioni serverless non necessitano di provisioning, ridimensionamento o gestione di server. Possono adattarsi a quasi ogni tipo di applicazione o servizio di back-end; tutte le operazioni necessarie per l'esecuzione e la scalabilità dell'applicazione saranno gestite in automatico.
Perché utilizzare l'elaborazione serverless?
Avere a disposizione un'applicazione serverless significa che gli sviluppatori potranno concentrare la propria attenzione sul prodotto invece che su gestione e funzionamento di server e di runtime, siano essi sul cloud o in locale. Grazie a questa riduzione degli oneri di gestione, gli sviluppatori avranno più tempo da dedicare alla creazione di prodotti scalabili e affidabili.
Quali sono i vantaggi dell'elaborazione serverless?
Le applicazioni serverless offrono tre vantaggi principali.
NESSUNA GESTIONE DI SERVER
Non è più necessario allocare o gestire server. Non è necessario installare, gestire e amministrare alcun software o runtime.
SCALABILITÀ E FLESSIBILITÀ
Le risorse dell'applicazione saranno ricalibrate automaticamente, oppure la capacità sarà ottimizzata in base alle unità necessarie (ad esempio di memoria o di throughput), piuttosto che a unità di singoli server.
ELEVATA DISPONIBILITÀ AUTOMATIZZATA
Le applicazioni serverless sono complete di elevata disponibilità e funzionalità di tolleranza ai guasti. Non è quindi più necessario progettare l'integrazione di queste caratteristiche, perché sono garantite di default dai servizi che eseguono l'applicazione.
Casi di studio
La Coca-Cola Company, una corporazione multinazionale americana di bevande, ha utilizzato AWS Lambda e AWS Step Functions per costruire una soluzione serverless conveniente.
FINRA sovrintende i broker di titoli negli Stati Uniti, analizzando anche eventi di mercato per un valore fino a 75 miliardi al giorno per identificare le frodi e i casi di insider trading.
iRobot, azienda di robotica di consumo leader nel mondo, utilizza AWS Lambda e AWS IoT per eseguire applicazioni web che connettono nuove aspirapolvere Roomba connesse al Wi-Fi.
Localytics, un'azienda di analisi e interazione per Web e applicazioni mobili, ha costruito flussi di dati paralleli e microservizi con AWS Lambda.
Caratteristiche della piattaforma serverless di AWS
Distribuire un'applicazione serverless in produzione eseguibile su vasta scala richiede una piattaforma con un'ampia gamma di funzionalità. AWS supporta applicazioni aziendali serverless in diversi modi.
LAYER DI LOGICA CLOUD
Fornisci maggiore potenza alla logica di business con AWS Lambda, che può funzionare da pannello di controllo e layer di logica per tutte le API Web e le risorse infrastrutturali interconnesse.
GESTIONE DI STATO E ORCHESTRAZIONE
Coordina e gestisci lo stato di tutti i microservizi o i componenti distribuiti di un'applicazione serverless utilizzando AWS Step Functions.
ORIGINI DATI REATTIVE
Scegli da un'ampia gamma di origini dati e provider per l'elaborazione di dati o l'attivazione di eventi in tempo reale. Consulta la documentazione per visualizzare un elenco di origini dati reattive.
FRAMEWORK DI MODELLIZZAZIONE APPLICAZIONI
Usa lo strumento open source AWS Serverless Application Mode per creare modelli e distribuire servizi e applicazioni serverless. Applica una distribuzione continua per applicazioni serverless tramite strumenti di gestione del ciclo di vita come AWS CodePipeline e AWS CodeBuild.
ECOSISTEMA DI SVILUPPATORI
Sfrutta un ecosistema di strumenti di terze parti e progetti open source che permettono di ottimizzare creazione di build, testing e distribuzione del codice dalla fase di sviluppo a quella di produzione. Visita la pagina degli strumenti per sviluppatori o consulta la pagina relativa all'ecosistema di partner per cercare strumenti di terze parti.
LIBRERIA DI APPLICAZIONI E INTEGRAZIONI
Utilizza AWS Serverless Application Repository per scoprire e distribuire rapidamente applicazioni e componenti di applicazioni serverless per una varietà di casi d'uso, inclusi back-end Web e mobili, chatbot, IoT, Alexa Skills, elaborazione dati, elaborazione di flussi e altro ancora. Puoi anche individuare integrazioni con servizi di terze parti molto utilizzati (ad es. Slack, Algorithmia, Twilio, Loggly, Splunk, Sumo Logic, Box ecc.).
SICUREZZA E CONTROLLO DEGLI ACCESSI
Garantisci la conformità e proteggi l'intero ambiente IT con registrazione di log, monitoraggio delle modifiche, controllo degli accessi e crittografia. Controlla gli accessi alle risorse AWS con AWS Identity and Access Management (IAM). Gestisci e autentica gli utenti finali delle applicazioni serverless con Amazon Cognito. Impiega Amazon Virtual Private Cloud (VPC) per creare reti cloud private virtuali ad accesso esclusivo.
AFFIDABILITÀ E PRESTAZIONI
AWS fornisce servizi con disponibilità e scalabilità elevate e costi ridotti che garantiscono prestazioni ottimali in tutto l'ambiente aziendale. AWS Lambda esegue con la massima affidabilità la logica di business inserita grazie a caratteristiche integrate quali code DLQ e tentativi automatici. Leggi le testimonianze dei clienti per scoprire in che modo le altre aziende usano AWS per eseguire le loro applicazioni.
SCALA E PORTATA GLOBALE
Raggiungi tutto il mondo in pochi minuti con la tua applicazione grazie alla nostra rete. AWS Lambda è disponibile in diverse regioni AWS e in tutte le edge location tramite Lambda@Edge. Le funzioni Lambda possono anche essere eseguite su dispositivi locali connessi con AWS Greengrass.
La piattaforma serverless di AWS
AWS fornisce un set di servizi completamente gestiti da utilizzare per creare ed eseguire build di applicazioni serverless. Le applicazioni serverless non necessitano di provisioning, manutenzione e amministrazione dei server per componenti di back-end quali elaborazione, database, storage, elaborazione di flussi, accodamento di messaggi e molto altro. Inoltre non sarà più necessario preoccuparsi per tolleranza ai guasti e disponibilità dell'applicazione. Al contrario, AWS fornirà automaticamente queste caratteristiche. Questo ti consente di concentrarti sull'innovazione dei prodotti e di godere di un time to market più rapido.
ELABORAZIONE
AWS Lambda consente di eseguire codice senza dover effettuare il provisioning né gestire server. Le tariffe sono calcolate in base ai tempi di elaborazione, perciò non viene addebitato alcun costo quando il codice non è in esecuzione. Una volta caricato il codice, Lambda si prende carico delle azioni necessarie per eseguirlo e ricalibrarne le risorse con la massima disponibilità.
Lambda@Edge permette di eseguire le funzioni Lambda in una determinata edge location di AWS in risposta ad eventi di Amazon CloudFront.
PROXY API
Amazon API Gateway è un servizio completamente gestito che semplifica agli sviluppatori la creazione, la pubblicazione, la manutenzione, il monitoraggio e la protezione delle API su qualsiasi scala. Amazon API Gateway permette di elaborare centinaia di migliaia di chiamate API simultanee e di gestire traffico, controllo di accessi e autorizzazioni, monitoraggio e versioni delle API.
STORAGE
Amazon Simple Storage Service (Amazon S3) offre a sviluppatori e team IT una soluzione di storage per oggetti sicura, durevole e altamente scalabile. Amazon S3 è semplice da utilizzare, grazie all'intuitiva interfaccia web service che consente di archiviare e recuperare una quantità qualsiasi di dati in qualunque luogo sul Web.
DATASTORE
Amazon DynamoDB è un servizio di database NoSQL veloce e flessibile, pensato per tutte le applicazioni che richiedono una latenza costante non superiore a una decina di millisecondi su qualsiasi scala. È un database cloud interamente gestito che supporta sia i modelli di storage document store sia quelli di tipo chiave-valore.
AWS AppSync aggiorna automaticamente i dati nelle applicazioni per il Web e i dispositivi mobili in tempo reale e aggiorna i dati per gli utenti offline non appena si ricollegano. AppSync si avvale di GraphQL, una sintassi di dati che permette alle app client di cercare, modificare ed eseguire sottoscrizioni ai dati provenienti da server.
MESSAGGISTICA TRA PROCESSI
Amazon SNS è un servizio di messaggistica PUB/SUB completamente gestito che permette di separare e ricalibra le risorse per microservizi, sistemi distribuiti e applicazioni serverless.
Amazon SQS è un servizio di accodamento completamente gestito che semplifica la separazione e la scalabilità di microservizi, sistemi distribuiti e applicazioni serverless.
ORCHESTRAZIONE
AWS Step Functions facilita il coordinamento dei componenti di applicazioni e microservizi distribuiti tramite processi lavorativi visivi. La creazione di applicazioni a partire da singoli componenti che eseguono una funzione dedicata, permette di ricalibrare le risorse e modificare un'applicazione con maggiore rapidità. Step Functions è un modo affidabile di coordinare componenti e controllare passo per passo le funzioni della tua applicazione.
ANALISI
Amazon Kinesis è una piattaforma per lo streaming di dati in AWS che offre servizi avanzati per semplificare il caricamento e l'analisi di flussi di dati e che consente di creare applicazioni personalizzate per esigenze specialistiche.
Amazon Athena è un servizio di query interattivo che semplifica l’analisi di dati in Amazon S3 tramite SQL standard. Athena è un servizio senza server, quindi non c'è da gestire alcuna infrastruttura e si paga solo in base al tempo di query.
STRUMENTI PER SVILUPPATORI
AWS offre strumenti e servizi che possono aiutare gli sviluppatori nel processo di sviluppo di applicazioni serverless. AWS e il suo ecosistema di partner offrono strumenti di integrazione e distribuzione continue, testing, distribuzione, monitoraggio e diagnostica, kit SDK, framework e plug-in IDE.
Casi d'uso di applicazioni serverless
Crea build per ogni tipo di applicazione o servizio di back-end mediante un'architettura serverless. Di seguito sono presentati alcuni casi d'uso:
Back-end e applicazioni Web
È possibile creare build di back-end e applicazioni Web serverless utilizzando AWS Lambda, Amazon API Gateway, Amazon S3 e Amazon DynamoDB per gestire richieste Web e per dispositivi mobili, IoT e chatbot.
Architettura di riferimento: Diagramma | Codice di esempio
Architettura di riferimento: Diagramma | Codice di esempio
Bustle esegue un back-end serverless per la propria app per iOS e per il proprio sito Web, utilizzando AWS Lambda e Amazon API Gateway. L'architettura serverless consente a Bustle di ignorare i compiti di gestione dell'infrastruttura, perciò gli sviluppatori possono dedicare il loro tempo a creare nuove caratteristiche e innovare. Leggi il caso di studio »
Elaborazione di dati
È possibile creare sistemi di elaborazione dei dati in tempo reale di vario genere con AWS Lambda, Amazon Kinesis, Amazon S3 e Amazon DynamoDB.
Architettura di riferimento: Diagramma | Codice di esempio
Square Enix usa AWS Lambda per l'elaborazione delle immagini necessarie per i suoi giochi MMO. Grazie a Lambda, è in grado di gestire picchi di traffico 30 volte superiori alla media. Inoltre, il tempo necessario per l'elaborazione di immagini è diminuito da diverse ore a poco più di 10 secondi e ha consentito di ridurre i costi operativi e infrastrutturali. Leggi il caso di studio »
Architettura di riferimento: Diagramma | Codice di esempio
Thomson Reuters si avvale di un'architettura serverless per elaborare fino a 4.000 eventi al secondo per il proprio servizio di analisi di utilizzo. Il servizio è in grado di gestire picchi del doppio della media del traffico normale, con la massima durabilità. Grazie ad AWS, la distribuzione in produzione del servizio ha richiesto solamente cinque mesi. Leggi il caso di studio »
Inizia subito a usare l'elaborazione serverless
Creazione di applicazioni serverless
Ulteriori informazioni sulla creazione di applicazioni serverless