PRD-008 - Amazon CloudFront CDN
-
Upload
cloud-aws -
Category
Technology
-
view
87 -
download
0
Transcript of PRD-008 - Amazon CloudFront CDN
Community - Cloud AWS su Google+
Cloud AWS
Amazon Web Services
cloud-aws.com
Servizio Amazon CloudFront
Hangout 08 del 03.03.2014
● Davide Riboldi● Massimo Della Rovere
Oggi vedremo il servizio di Amazon CloudFront per la distribuzione di contenuti statici tramite CDN.
CLOUD AWS
#cloudaws
Amazon CloudFront - Descrizione generale
Cloud AWS
● CloudFront è un servizio di Amazon collegato al servizio S3 che velocizza la distribuzione dei contenuti statici nei confronti dell’utente finale.
● Quando un utente finale richiede un contenuto presente su CloudFront, l’utente viene indirizzato verso la edge location con la latenza più bassa.
● Se il contenuto è presente nella edge location, verrà immediatamente distribuito, altrimenti verrà recuperato dall’origine configurata.
Amazon CloudFront - Una richiesta HTTP
Cloud AWS
● Quando eseguiamo la richiesta di una pagina HTML in realtà generiamo diverse richieste per caricare diversi elementi che compongono la pagina finale, ad esempio immagini, fogli stili, javascript, ect
● Normalmente la prima richiesta è un’elaborazione dinamica, ad esempio con PHP, ASP, Java ect e le altre sono risorse statiche.
Request URL
Request CSSRequest IMG1Request IMG2Request File JS
Server WEB
Server WEB Quindi se nella pagina richiesta ci sono ad esempio 30 risorse diverse queste genereranno 30 richieste HTTP singole allo stesso server.
Amazon CloudFront - Suddividere le richieste
Cloud AWS
● Una soluzione al problema precedente potrebbe essere quella di suddividere le richieste HTTP, lasciando quelle dinamiche al nostro server web e quelle statiche al servizio di Amazon CloudFront.
● Come potete facilmente notare il nostro server web sarebbe liberato da un numero molto elevato di richieste HTTP.
Request URL
Request CSSRequest IMG1Request IMG2Request File JS
CloudFront
Server WEB In questa maniera il carico maggiore e i problemi di scalabilità legati alle nostre risorse statiche sarebbero demandati al servizio cloudfront.
Amazon CloudFront - Mappa geografica
Cloud AWS
URL
REQ Milano
Dublino
ROMA
EdgeLocations
Server = Zona geograficaRisorse = Edge Locations
Amazon CloudFront - Concetti e Termini
Cloud AWS
ObjectsOrigin Server
Edge Locations
ExpirationEventual
Consistency
Distributions
Amazon CloudFront - Objects
Cloud AWS
● Gli oggetti sono quei file memorizzati in una nostra origine che vogliamo che vengano distribuiti automaticamente tramite il servizio di CloudFront.
● Gli oggetti includono immagini, file statici o qualsiasi cosa possa essere distribuita via HTTP o Adobe RTMP il protocollo utilizzato da Adobe Flash Media Server.
● Ultimamente è stato aggiunto anche il supporto a Microsoft Live Smooth Streaming. Quindi possiamo memorizzare video e usare il player Microsoft.
Amazon CloudFront - Origin Server
Cloud AWS
● Il server di origine è il luogo dove risiedono le versioni originali degli oggetti che vogliamo distribuire con CloudFront attraverso le edge locations.
● Il server di origine può essere un Bucket S3 o un server HTTP, quest’ultimo può essere attivo sia su un’istanza EC2 o su un server diverso esterno agli AWS.
● Se gli oggetti vengono distribuiti via HTTP il server di origine può essere un Bucket S3 o un server HTTP, se vengono distribuiti in streaming via RTMP il server di origine deve essere un Bucket S3.
Amazon CloudFront - Distributions
Cloud AWS
● Una volta memorizzati gli oggetti nel server di origine bisogna dire a CloudFront dove risiedono questi oggetti creando una distribuzione che può essere di due tipi:
● Web Distribution - Distribuisce i contenuti utilizzando i protocolli HTTP e HTTPS. Si possono distribuire immagini, file CSS, javascript, etc ...
● Streaming Distribution - Distribuisce contenuti digitali attraverso Adobe Flash Media Server e il protocollo RTMP. Possiamo memorizzare dei file video.
Amazon CloudFront - Edge Locations
Cloud AWS
● Una Edge Location è un sito geografico dove CloudFront deposita le copie degli oggetti memorizzati nelle origini che sono state specificate nella distribuzione.
● Quando un utente finale richiede uno di questi oggetti, il servizio di CloudFront decide la miglior edge location che possa rispondere a questa richiesta.
● Se la edge location non possiede l’oggetto richiesto, CloudFront la prende dal server di origine e lo distribuisce all’utente finale mantenendo poi una copia all’interno della cache nella edge location.
Amazon CloudFront - Expiration
Cloud AWS
● Per ogni richiesta dello stesso oggetto CloudFront distribuirà l’oggetto contenuto nella cache della Edge Location fino a che l’oggetto non sarà scaduto.
● Scaduto l’oggetto alla successiva richiesta CloudFront inoltrerà una richiesta verso l’origine per determinare se è disponibile una versione più aggiornata dell’oggetto.
● Di default l’oggetto scade dopo 24h che risiede nella cache della Edge Location. Il tempo minimo di scadenza dell’oggetto è 0 sec e non esiste un limite massimo.
Amazon CloudFront - Eventual Consistency
Cloud AWS
● Quando una distribuzione CloudFront viene creata, modificata o cancellata si richiede tempo prima che i cambiamenti vengano propagati nel sistema completo.
● Le informazioni riguardanti la distribuzione alla fine diventano coerenti, ma una richiesta immediata di informazioni potrebbe non mostrare i cambiamenti.
● Per raggiungere la coerenza dei dati normalmente si richiedono alcuni minuti, ma un alto carico di sistema potrebbe aumentare il tempo richiesto.
Amazon CloudFront - Costi
Cloud AWS
Si pagano i costi dei dati memorizzati all’interno
del Bucket.
Amazon S3 come origine
Si paga per il numero di richieste GET e la
quantità di dati trasferiti al di fuori di Amazon S3.
Trasferimento Edge Locations
Vengono addebitati i costi per il numero di
richieste e la quantità di dati trasferiti al di fuori
delle Edge Location.
Distribuzione Oggetti
Addebitati i costi di trasferimento dati da
parte dell’utente verso l’origine.
Trasferimento Origin Server
http://aws.amazon.com/cloudfront/pricing/
Al momento il servizio CloudFront non è inserito
nell’offerta Free Tier
Amazon CloudFront - CloudFront o S3 ?
Cloud AWS
● Sia CloudFront che amazon S3 distribuiscono contenuti, è sempre meglio utilizzare CloudFront per farlo? Non necessariamente, dipende dalle nostre particolari esigenze e dalla geografia dei nostri utenti.
● Amazon S3 è stato disegnato per memorizzare le versioni originali dei file e per garantire una alta durevolezza del dato. CloudFront è stato progettato per distribure i contenuti con una bassissima latenza, non è stato progettato per una memorizzazione del dato durevole.
● Se prevedete un alto numero di richieste dei propri oggetti, CloudFront può fornire delle performance più elevate rispetto al solo Amazon S3. Su un alto numero di richieste CloudFront risulta più economico di S3.
Amazon CloudFront - Management Console
Cloud AWS
Scegliere il metodo di distribuzione
Configurazione distribuzione Web
Configurazione distribuzione RTMP
Amazon CloudFront - Ringraziamenti
Cloud AWS
Cloud Computing
Amazon Web Service 1
AmazonSNS
AmazonMFA
AmazonCloudFront
AmazonFree Trial
AmazonS3
AmazonGlacier
Amazon Web Service 2
Video consigliati