Distribuisci contenuti Web dinamici personalizzati senza costi supplementari e senza scrivere nuovo codice

Un sito Web tipico in genere contiene un insieme di contenuti statici e dinamici. I contenuti statici includono immagini o fogli di stile; i contenuti dinamici o generati da applicazioni includono elementi del sito personalizzati per ogni utente. In passato, gli sviluppatori che volevano migliorare le prestazioni e l'affidabilità dei loro contenuti dinamici avevano opzioni limitate, poiché le soluzioni proposte dai CDN classici sono costose, difficili da configurare e complicate da gestire.


earth-networks-thumbnail
video-thumb-dynamic-content-02

Con Amazon CloudFront, non ci sono costi supplementari per distribuire contenuti dinamici, a parte i prezzi correnti contenuti di Amazon CloudFront per il trasferimento di dati e le richieste, e non si esigono impegni a lungo termine per l'utilizzo. Non ci sono neanche pagamenti anticipati, tariffe mensili per la piattaforma e non occorre pagare consulenze onerose per la configurazione.

Inizia a usare AWS gratis

Crea un account gratuito

Il piano gratuito di AWS include 50 GB di trasferimento dati in uscita e 2.000.000 di richieste HTTP e HTTPS con Amazon CloudFront.

Visualizza i dettagli del piano gratuito di AWS »

Scarica questo whitepaper di Frost & Sullivan sponsorizzato da AWS per scoprire perché amazon.com ha scelto Amazon CloudFront per distribuire la maggior parte del proprio traffico globale CDN. Scarica il documento su Amazon CloudFront CDN.

Amazon CloudFront offre un modo facile ed economico per migliorare le prestazioni, l'affidabilità e la portata globale del tuo sito Web sia per i contenuti statici sia per le parti dinamiche che cambiano per ogni utente finale.

Amazon CloudFront funziona perfettamente con applicazioni Web dinamiche in esecuzione su Amazon EC2 o sul tuo servizio di origine esterno ad AWS senza codice personalizzato o configurazioni proprietarie, e questo semplifica la distribuzione e la gestione del servizio. Puoi utilizzare una singola distribuzione Amazon CloudFront per distribuire globalmente il tuo sito Web, sia i contenuti statici sia quelli dinamici (o interattivi). Questo presenta il vantaggio di poter continuare a utilizzare un solo nome di dominio (per es., www.esempio) per tutto il sito Web senza che sia necessario separare i contenuti statici da quelli dinamici o gestire più nomi di dominio sul sito Web.

Amazon CloudFront ti consente di includere parametri di stringa di query o cookie per personalizzare le pagine Web per ogni utente. Puoi anche configurare più comportamenti cache per una distribuzione Web sulla base di modelli URL sul tuo sito. Questi comportamenti cache ti consentono di controllare in modo granulare come Amazon CloudFront memorizza nella cache le varie parti del tuo sito Web.

Queste caratteristiche sono descritte in modo dettagliato di seguito:

Un comportamento cache è un set di regole che puoi configurare per un determinato modello URL basato su estensione o nome dei file o su qualsiasi porzione del percorso URL del tuo sito Web (ad es. *.jpg). Per una distribuzione Web è possibile configurare diversi comportamenti cache. Amazon CloudFront confronta le richieste degli utenti in entrata con l'elenco di modelli URL; quando trova una corrispondenza, il servizio attiva il comportamento cache configurato per quel modello URL. Ogni comportamento cache può includere i seguenti valori di configurazione di Amazon CloudFront: nome del server di origine, protocollo di connessione dell'utente, periodo di scadenza minimo, parametri della stringa di query e trusted signer per i contenuti privati.

Le edge location di Amazon CloudFront possono controllare il valore dell'intestazione User Agent per rilevare il tipo di dispositivo di tutte le richieste in entrata. Amazon CloudFront può determinare se la richiesta dell'utente finale proviene da un computer desktop, un tablet, una smart TV o un dispositivo mobile, inoltrando questa informazione al server di origine (che sia Amazon EC2, Elastic Load Balancing o un server di origine personalizzato) sotto forma di nuova intestazione HTTP. Il server di origine potrà quindi usare l'informazione sul tipo di dispositivo per generare versioni diverse dei contenuti in base alla nuova intestazione. Amazon CloudFront consente inoltre di memorizzare nella cache le diverse versioni dei contenuti nella edge location.

Amazon CloudFront può anche rilevare da quale paese gli utenti finali accedono ai tuoi contenuti. L'informazione relativa al paese viene poi inoltrata da Amazon CloudFront al server di origine personalizzato sotto forma di nuova intestazione HTTP. Il server di origine potrà quindi generare diverse versioni dei contenuti a seconda del paese in cui si trova l'utente, memorizzando queste versioni nella cache della edge location in modo da offrire più rapidamente quegli stessi contenuti ad altri utenti nello stesso paese.

Amazon CloudFront può essere configurato per inoltrare il valore dell'intestazione di origine in modo che il tuo server di origine (Amazon S3 o un server personalizzato) possa supportare l'accesso a più origini CORS (Cross-Origin Resource Sharing). La funzionalità CORS definisce un metodo con cui le applicazioni Web dei clienti caricate in un dominio possono interagire con le risorse situate in un dominio differente.

Per una distribuzione Web di Amazon CloudFront è possibile configurare uno o più server di origine. I server di origine possono essere risorse AWS, ad esempio Amazon S3, Amazon EC2 ed Elastic Load Balancing, oppure un server di origine personalizzato esterno ad AWS. Amazon CloudFront inoltrerà una richiesta di contenuti da ciascun server di origine collegando gli URL richiesti dall'utente con le regole che tu hai configurato per la distribuzione. Questa funzione ti garantisce la flessibilità necessaria per usare ogni risorsa di AWS esattamente allo scopo per cui è stata creata (Amazon S3 per lo storage, Amazon EC2 per il calcolo, ecc.) senza dover creare diverse distribuzioni e gestire più nomi di dominio sul tuo sito Web. Potrai inoltre continuare a usare i server di origine che hai già configurato senza dover spostare i tuoi dati o distribuire nuovamente il codice dell'applicazione.

Amazon CloudFront usa il periodo di scadenza impostato all'origine sui file (tramite le intestazioni di controllo della cache) per determinare se è necessario verificare la presenza di versioni aggiornate dei file stessi. Se pensi che i file saranno soggetti a cambiamenti frequenti, puoi impostare un periodo di scadenza più corto. Amazon CloudFront accetta periodi di scadenza di durata minima di 0 secondi (nel qual caso Amazon CloudFront verifica l'origine in occasione di ogni richiesta di un utente). Amazon CloudFront, inoltre, mantiene la conformità a specifiche direttive di controllo della cache come l'istruzione di mantenere la copia privata, oppure di evitare l'archiviazione in locale, ecc.Questo può essere utile quando si distribuiscono contenuti dinamici che possono non essere memorizzati nella cache al confine.

I parametri della stringa di query sono spesso utilizzati per restituire contenuti personalizzati generati da uno script in esecuzione sul server di origine. È tuttavia possibile configurare l'inoltro delle stringhe di query ai server di origine perché siano incluse in un'identità univoca dell'oggetto memorizzato nella cache. Questa funzione può essere abilitata separatamente per ciascun comportamento cache configurato. I parametri della stringa di query possono semplificare la personalizzazione delle pagine Web per i singoli utenti sfruttando allo stesso tempo le prestazioni e la scalabilità offerte dalla memorizzazione dei contenuti nella cache delle edge location di Amazon CloudFront.

Amazon CloudFront supporta la distribuzione di contenuti dinamici personalizzati mediante i cookie HTTP. Per sfruttare questa caratteristica, è necessario specificare se si desidera che Amazon CloudFront inoltri alcuni o tutti i cookie al server di origine personalizzato. Per inoltrare più cookie è anche possibile specificare caratteri jolly nel nome. Durante l'identificazione di un oggetto univoco nella cache, Amazon CloudFront terrà quindi anche conto dei valori del cookie inoltrato. In questo modo, gli utenti finali potranno visualizzare contenuti personalizzati sfruttando le prestazioni di Amazon CloudFront.

Con Amazon CloudFront è possibile inoltrare tutte le intestazioni di richiesta (oppure una whitelist) al server di origine. Queste intestazioni contengono informazioni quali il dispositivo usato dall'utente o il paese di provenienza. Configurando CloudFront per memorizzare nella cache i contenuti in base ai valori riportati nelle intestazioni, gli utenti visualizzeranno contenuti personalizzati. Ad esempio, se disponi di più siti Web in hosting sullo stesso server Web, puoi configurare Amazon CloudFront in modo che inoltri l'intestazione dell'host al server di origine. Quando l'origine restituisce versioni differenti dello stesso oggetto in base ai valori dell'intestazione dell'host, Amazon CloudFront memorizza nella cache gli oggetti separatamente secondo tali valori.

Il supporto per i certificati SSL personalizzati consente di offrire contenuti su HTTPS usando il proprio nome di dominio e il proprio certificato SSL. I visitatori del tuo sito Web potranno quindi avvalersi dei vantaggi per la sicurezza garantiti dall'accesso a CloudFront tramite una connessione SSL che usa il tuo nome di dominio e offre bassa latenza ed elevata affidabilità. Potrai anche configurare CloudFront affinché utilizzi connessioni HTTPS per il recupero dell'origine, così i tuoi dati saranno crittografati dall'inizio alla fine del processo, dal server di origine all'utente finale. Configurare il supporto per i certificati SSL personalizzati è semplice; non è necessario conoscere codice proprietario né assumere consulenti appositamente perché si occupino della configurazione. Per iniziare, visita la pagina dei dettagli sul protocollo SSL personalizzato di CloudFront e scegli la funzione di SSL personalizzato che meglio risponde alle tue esigenze.

Puoi effettuare il provisioning dei certificati SSL/TLS e associarli in pochi minuti alle distribuzioni CloudFront. È sufficiente effettuare il provisioning di un certificato utilizzando il nuovo AWS Certificate Manager (ACM), trasmetterlo alla distribuzione CloudFront con un paio di clic e quindi attendere che ACM gestisca i rinnovi dei certificati. ACM permette di effettuare il provisioning, distribuire e gestire il certificato senza costi aggiuntivi.

È possibile usare CloudFront per distribuire contenuti dal dominio root, o "apex di zona" del proprio sito Web. Ad esempio, è possibile configurare sia http://www.esempio.com sia http://esempio.com affinché puntino alla stessa distribuzione CloudFront, senza dover gestire un servizio di reindirizzamento che rallenterebbe le prestazioni e metterebbe a rischio la disponibilità. Per usare questa funzione, è necessario creare un record alias di Amazon Route 53 che mappi il root del dominio alla distribuzione CloudFront.

È possibile configurare Amazon CloudFront affinché includa il protocollo (HTTP o HTTPS) della richiesta dell'utente finale all'interno della chiave di cache per identificare in modo univoco un oggetto nella cache. Questa operazione consente di personalizzare i contenuti in base al protocollo usato dell'utente finale per accedervi.

Amazon CloudFront supporta i seguenti metodi HTTP: GET, HEAD, POST, PUT, DELETE, OPTIONS e PATCH. Questo significa che puoi migliorare le prestazioni dei siti Web dinamici che hanno moduli Web, caselle di commento e di accesso, pulsanti "aggiungi al carrello" o altre caratteristiche che caricano dati provenienti dagli utenti finali. Inoltre puoi utilizzare un solo nome di dominio per distribuire l'intero sito Web tramite CloudFront e questo rende più rapidi lo scaricamento e il caricamento del sito. Come impostazione predefinita, la risposta ai metodi GET e HEAD viene memorizzata nella cache delle edge location di CloudFront. È però possibile configurare la distribuzione Amazon CloudFront affinché memorizzi nella cache anche la risposta alle richieste OPTIONS. Gli altri metodi HTTP (POST, PUT, DELETE e PATCH) non vengono memorizzati nella cache, bensì vengono inviati come proxy all'origine dalle edge location di Amazon CloudFront. Per le distribuzioni CloudFront esistenti, può essere necessario abilitare il supporto per questi metodi HTTP aggiuntivi tramite la Console di gestione AWS o l'API di CloudFront.

Inoltre, la gamma completa delle funzionalità di Amazon CloudFront è disponibile quando lo si configura per la distribuzione di un sito Web dinamico. Fra queste funzionalità troviamo la distribuzione di contenuti privati, la distribuzione protetta di contenuti, la funzione Versioni multiple di oggetti e l'invalidazione della cache, log di accesso per report di utilizzo e monitoraggio, ecc. Per ulteriori informazioni su tutte le funzionalità di Amazon CloudFront, consultare l'Amazon CloudFront Developer Guide.

Amazon CloudFront offre inoltre un contratto sul livello di servizio (SLA) che fornisce un credito di servizio se la percentuale del tempo di attività mensile è inferiore alla quantità di servizio fatturato in qualunque ciclo di fatturazione. Ulteriori informazioni sono disponibili sulla pagina Amazon CloudFront SLA.

Oltre a questa pagina, può essere interessante consultarne altre, come la pagina di Amazon CloudFront e la Amazon CloudFront Developer Guide.

Amazon CloudFront ha implementato diverse ottimizzazioni di prestazioni che accelerano la distribuzione di un intero sito Web (contenuti dinamici e statici) dall'origine agli utenti finali. Fra questi miglioramenti delle prestazioni ci sono la manutenzione di connessioni permanenti con l'origine e altre ottimizzazioni del percorso di rete per accelerare la distribuzione dei contenuti dinamici. Più precisamente, ciascuno degli utenti finali viene instradato sulla edge location di Amazon CloudFront più vicina in termini di latenza Internet. Quindi, le loro richieste sono rinviate al tuo server di origine in esecuzione su AWS su connessioni le cui prestazioni sono monitorate e ottimizzate da Amazon.

Amazon CloudFront riutilizza inoltre le connessioni esistenti tra i server Amazon CloudFront di confine e di origine, riducendo la latenza di configurazione della connessione per ogni richiesta all'origine. Sono state apportate ulteriori ottimizzazioni di connessione anche per evitare imbottigliamenti su Internet e per sfruttare appieno la larghezza di banda disponibile tra edge location e visualizzatore. Questo significa che Amazon CloudFront può accelerare la distribuzione del contenuto dinamico e offrire agli utenti un'esperienza di navigazione dell'applicazione Web coerente, affidabile e personalizzata. Anche per le richieste di caricamento, Amazon CloudFront presenta le stesse vantaggiose prestazioni garantite per le richieste di download di contenuti dinamici.

White Paper di Frost & Sullivan sulle prestazioni di Amazon CloudFront AWS ha commissionato recentemente a Frost & Sullivan di scrivere un white paper sulle prestazioni di Amazon CloudFront rispetto ad altre reti per la distribuzione dei contenuti (CDN) di massimo livello. L'articolo, redatto dall'esperto in CDN Dan Rayburn, fornisce dati comparativi sulle prestazioni, che mostrano che Amazon CloudFront è la più veloce delle principali CDN in diversi test di latenza e abbia avuto in tutti i test prestazioni migliori rispetto alla latenza media delle altre reti. L'articolo inoltre presenta risultati di test eseguiti sul sito Amazon.com (che esegue test di prestazioni su diverse CDN principali) e spiega perché la maggioranza del traffico di CDN sul sito Amazon.com è attualmente basato su Amazon CloudFront Scarica l'articolo.

Amazon CloudFront funziona perfettamente con applicazioni Web dinamiche in esecuzione su Amazon EC2 o sul tuo servizio di origine esterno ad AWS senza codice personalizzato o configurazioni proprietarie, e questo semplifica la distribuzione e la gestione del servizio. Puoi utilizzare una singola distribuzione Amazon CloudFront per distribuire tutto il tuo sito Web, sia i contenuti statici sia quelli dinamici o interattivi. Questo presenta il vantaggio di poter continuare a utilizzare un solo nome di dominio (per es., www.esempio) per tutto il sito Web senza che sia necessario separare i contenuti statici da quelli dinamici o gestire più nomi di dominio sul sito Web.

Puoi interagire con Amazon CloudFront attraverso la semplice interfaccia grafica utente della Console di gestione AWS. Oppure, con una sola chiamata API, puoi iniziare a distribuire contenuti dal tuo bucket Amazon S3, dall'istanza Amazon EC2 o da un altro server di origine tramite la rete Amazon CloudFront. Qualsiasi modifica apportata alla configurazione diventa effettiva in tutta la rete globale in pochi minuti. Inoltre, poiché non è necessario negoziare il contratto con l'ufficio commerciale, puoi iniziare subito a utilizzare Amazon CloudFront e a distribuire il tuo intero sito Web.

Configurazione di Amazon CloudFront nella Console di gestione AWS

console

Amazon CloudFront è stato anche pensato per essere utilizzato con altri servizi AWS. Il vantaggio di usare Amazon EC2 come server di origine di Amazon CloudFront è che usi lo stesso set di strumenti per configurare e gestire la distribuzione dell'intera applicazione Web. Inoltre, Amazon EC2 offre lo stesso modello di prezzi basato sull'utilizzo effettivo di Amazon CloudFront. I collegamenti tra le edge location di Amazon CloudFront e i data center di Amazon EC2 sono costantemente monitorati e ottimizzati per garantire le massime prestazioni e disponibilità. Eventuali problemi con questi collegamenti di rete verrebbero rilevati e risolti con la massima rapidità; in ogni caso gli utenti verrebbero automaticamente reindirizzati su un altro collegamento di rete monitorato, limitando al minimo l'impatto sulla loro esperienza di utilizzo delle applicazioni.

Le applicazioni Web qui sono altamente personalizzate (per es., raccomandazioni) e la scoperta rapida di prodotti (tramite ricerca e navigazione) è fondamentale. I miglioramenti delle prestazioni per le applicazioni in questo caso si traducono direttamente in entrate e fedeltà degli utenti finali.

Le applicazioni di notizie e sport, caratterizzate da un tempo di attenzione breve degli utenti finali, devono essere personalizzate per ogni utente. Tuttavia, questi contenuti possono essere memorizzati nella cache per brevi periodi di tempo (per es., alcuni secondi) per consentire la scalabilità e migliorare le prestazioni per gli utenti finali.

Il centro di attenzione di queste applicazioni Web per la personalizzazione dei contenuti per gli utenti finali è geografico. I contenuti possono essere memorizzati nelle edge location per periodi di lunghezza che variano secondo il tipo di contenuto. Per esempio, gli aggiornamenti meteorologici orari possono essere memorizzati fino a un'ora, mentre gli avvisi meteorologici urgenti possono essere memorizzati sono per alcuni secondi in modo che gli utenti finali abbiano sempre a disposizione le informazioni più recenti.

Gli annunci pubblicitari mirati vengono elaborati al momento sulla base di cookie o di dati di stringhe di query e gli inserzionisti di solito hanno bisogno di latenza bassa per distribuire gli annunci. Amazon CloudFront consente di soddisfare le esigenze di prestazioni e personalizzazione per tali applicazioni.

Queste applicazioni hanno anche contenuti personalizzati e interattivi che integrano profili, preferenze, amici e attività degli utenti. Il risultato di queste caratteristiche sono contenuti a coda lunga che necessitano viaggi frequenti ai server di origine. La rete di CloudFront e le ottimizzazioni di percorso possono rendere la distribuzione di questi contenuti più rapida, migliorando le prestazioni delle applicazioni di social media.

Earth Networks fornisce dati meteorologici e atmosferici ai consumatori e alle aziende. Milioni di utenti utilizzano i prodotti WeatherBug dell'azienda, fra cui le applicazioni mobili e desktop e il sito Web www.weatherbug.com.

Earth Networks utilizza una CDN per fornire rapidamente agli utenti contenuti basati sul Web dinamici e personalizzati a latenza estremamente bassa e tempi di risposta a prestazioni elevate. In particolare, devono poter fornire informazioni locali agli utenti finali, quasi in tempo reale, e hanno bisogno di una CDN che permette di regolare per esempio le informazioni sul time to live (TTL), sulle stringhe di query e sui cookie per poter rinviare queste informazioni al server di origine ed estrarne solo quello di cui ha bisogno l'utente.

“Come fornitore di informazioni meteorologiche a livello locale, non era pensabile utilizzare una CDN che non ci fornisse al tempo stesso contenuti dinamici e la capacità di ottimizzare elementi sottostanti come stringhe di query, cookie e TTL bassi. Il nostro caso d'uso copre l'intera gamma delle caratteristiche fornite da CloudFront,” dice Andy Rosenbaum, Direttore dello sviluppo Web e Desktop a Earth Networks – WeatherBug. “Una delle difficoltà che avevamo con la nostra CDN precedente è che avevamo bisogno di del scrivere codice specificamente per quella CDN e questo aumentava i costi di sviluppo. Abbiamo potuto raggiungere lo stesso livello di prestazioni senza dover scrivere codice personalizzato. Abbiamo constatato una riduzione dei costi del 50% circa con una linea di base di prestazioni equivalente a quella che avevamo con la CDN precedente e adesso prevediamo una riduzione del 20% nelle istanze di origine di Amazon EC2 con CloudFront.”

Puoi visitare il sito di Earth Networks su www.earthnetworks.com o vedere i prodotti WeatherBug su www.weatherbug.com.

Il 5 agosto 2012, il rover della NASA Curiosity è atterrato sul pianeta rosso e tutta l'esperienza dell'atterraggio è stata resa disponibile agli utenti in tutto il mondo sul sito Web mars.jpl.nasa.gov. NASA JPL (Jet Propulsion Laboratory) ha distribuito tutta l'esperienza del sito Web sull'atterraggio utilizzando Amazon CloudFront. Questo comprendeva i normali contenuti HTTP del sito Web con il blog e gli aggiornamenti dello stato, le immagini statiche con foto provenienti da Marte e i download del motore di gioco interattivo con il quale i visitatori potevano partecipare da casa guidando il rover e interagire con dati reali provenienti da Marte in tempo quasi reale.

Le prestazioni e la scalabilità erano molto importanti per JPL, che ha utilizzato caratteristiche di Amazon CloudFront come stringhe di query, TTL basse, più origini e più comportamenti cache per accelerare la distribuzione di tutto il sito Web http://mars.jpl.nasa.gov/ continuando a utilizzare diversi servizi AWS come server di origine per diversi tipi di contenuto sul sito Web.

Tom Soderstrom, CTO della NASA/JPL ha detto che, a causa di tutte le incognite, hanno utilizzato molte caratteristiche di scalabilità e di tuning in tempo reale di CloudFront. Ha anche detto che, al momento in cui è avvenuto, l'atterraggio della Curiosity ha avuto più successo delle Olimpiadi sulla base del traffico effettuato, dunque le caratteristiche di tuning erano effettivamente necessarie e hanno funzionato bene.

Puoi visitare il sito Web su http://mars.jpl.nasa.gov/.

Amazon CloudFront contribuisce a rendere delle caratteristiche di distribuzione di contenuti eccellenti e innovative, che altre CDN vendono a costi elevati, molto meno costose e molto più facili da utilizzare. Non ci sono costi supplementari per distribuire contenuti dinamici, a parte i prezzi correnti bassi di Amazon CloudFront per il trasferimento di dati e le richieste, e non si esigono impegni a lungo termine per l'uso. Non ci sono neanche pagamenti anticipati, tariffe mensili per la piattaforma e non occorre pagare consulenze onerose per la configurazione.

Puoi cominciare registrandoti su questo sito Web e creare in pochi minuti una distribuzione Amazon CloudFront per distribuire contenuti statici e dinamici. Se preferisci, puoi anche parlare con un membro del team di vendita di Amazon CloudFront per discutere sull'utilizzo e il modo in cui puoi risparmiare ulteriormente con l'opzione di impegno a un livello di utilizzo mensile per 12 mesi o più. Puoi contattare il team di vendita di Amazon CloudFront inviando questo formulario: http://aws.amazon.com/contact-us/aws-sales/.

Amazon CloudFront offre inoltre un contratto sul livello di servizio (SLA) che fornisce un credito di servizio se la percentuale del tempo di attività mensile è inferiore alla quantità di servizio fatturato in qualunque ciclo di fatturazione. Ulteriori informazioni sono disponibili sulla pagina Amazon CloudFront SLA.

I prezzi sono calcolati solo in base all'uso effettivo. Nessuna tariffa minima. Calcola la tua fattura mensile con il Calcolatore di costo mensile AWS.

Puoi vedere i prezzi di Amazon CloudFront sulla nostra pagina dei prezzi: http://aws.amazon.com/cloudfront/pricing/.