Categorie
Blog

Magento e Amazon Cloudfront CDN

Un Content Delivery Network, o CDN, è un sistema distribuito di server che offrono il servizio di “inviare files/contenuti” in modo efficacie ed efficiente, quindi ad elevate prestazioni.

A cosa può servire un cdn?

Un cdn serve per velocizzare le performance della vostra piattaforma, sito o e-commerce sostituendosi al vostro server nell’invio dei file che voi gli date. In pratica invece di chiamare il vostro dominio per lo scaricamento di un immagine, ex: http://www.vostrodominio.com/immagine.jpg il vostro sito chiamerà il cdn, che non è altro che una copia dei vostri file, all’url http://www.cdn.com/immagine.jpg.

Il cdn, risponderà con tempi molto minori, con una capacità di banda molto maggiore e farà in modo che il caricamento della vostra pagina sia molto più veloce.

Questo è tutto.

In questo articolo vedremo con fare lavorare Magento con uno dei più famosi cdn, ovvero il servizio di Amazon CloudFront.

Questo servizio è un servizio ad iscrizione gratuita, ma con pagamento a seconda della quantità di dati che vengono richiesti; ecco la tabella dei prezzi.

PASSO 1

Si inizia registrandosi ad Amazon Web Services, si entra poi in Cloudfront e si accede alla console (alla registrazione viene chiesta la carta  di credito, senza la quale non è possibile registrarsi).

Una volta entrati nella console di Cloudfront si inizia a creare una distribuzione, ovvero una copia dei vostri file su Cloudfront:

PASSO 2

Dopo avere creato la distribuzione, è necessario configurarla, in modo che questa riesca in maniera del tutto automatica a scaricare dal vostro sito i file che dovrà fare scaricare ai vostri visitatori. E’ il momento di scegliere il “delivery method”:

PASSO 3

E’ il momento di configurare il nostro CDN, impostando il nome del nostro dominio ed i vari paramentri necessari; in realtà è necessario inserire solo il nome di dominio se non si è molto pratici della cosa e al resto pensa tutto Cloudfront (se insicuri lascaire i parametri di default):

PASSO 4

Dopo avere creato la “distribuzione”, ovvero la copia il servizio si prenderà una decina di minuti per configurarsi; la creazione della distribuzione genererà un nuovo nome di dominio del tipo:
d34y234asa3dfa234b6qr1j5d.cloudfront.net

una volta pronto potrete attivare il cdn all’interno del magento.

Basterà andare in

System -> Configuration -> General -> Web -> Tab Unsecure

ed impostare la url del cdn nei campi Media Url, Skin Url e Js Url come nella seguente immagine:

Salvate ed il gioco sarà fatto.

Se poi andate ad analizzare il sorgente del vostro codice, oppure come ho fatto io, se utilizzate Firebug per vedere i tempi di caricamento del vostro e-commerce noterete che le richieste saranno servite dalla vostra nuova e performante cdn.

IL TEST DELLE PERFORMANCE

Per ultimo, sono andato a misurare le performance del magento giocattolo installato sul mio server. Ecco alcuni dati riguardanti l’ambiente:

Server vps con 512MB di ram

Magento con cache abilitata e compilazione disabilitata

Server non ottimizzato per magento (nessuna ottimizzazione a livello di php, apache e mysql)

Ho fatto il test su questo magento appunto per capire in che modo un cdn possa pesare su un magento fresco di installazione e non ottimizzato (Attenzione: le prestazioni dipendono molto anche dal server e dalla banda quindi questi dati sono reali e significativi per questo mio ambiente di prova; la situazione può cambiare da server a server).

Aprendo la schermata generata dal caricamento della pagina visto attraverso firebug, ed incollando assieme la parte dei tempi di caricamento del test effettuato con CDN e quello effettuato senza CDN, ecco il risultato:

I RISULTATI

Come potete vedere già dall’immagine sopra, i tempi di caricamento sono un 20, 30% più veloci. Ecco però i risultati del tempo di caricamento dell’home page del mio sito di prova (il risultato in secondi è stato fatto eseguendo il caricamento della pagina con firefox 5 volte premento Ctrl + F5 per bypassare la cache del browser):

Alcuni dettagli:

E’ possibile impostare un nome di dominio per la distribuzione del CDN: basterà specificarlo nel campo CNAME delle opzioni di amazon Cloudfront e puntare il dns del proprio host per poter accedere al cdn con il nome http://cdn.propriodominio.com invece che d34y234asa3dfa234b6qr1j5d.cloudfront.net

Problema con javascript: non ho fatto test, ma attenzione al caricamento di file javascript da dominio esterni; ci sono restrizioni a causa del caricamento di codice “cattivo” da domini esterni; fate dei test!!!

Aggiornamento dei file nel CDN: i file all’interno del CDN hanno una scadenza, dopo la quale, questi verrano scaricati nuovamente; quindi se aggiornate nel vostro sistema una immagine, questa sarà replicata all’interno del CDN alla sua scadenza; è inoltre possibile fare scadere degli oggetti del cdn; per una guida completa è possibile consultare la guida di Amazon Cloudfront: http://docs.amazonwebservices.com/AmazonCloudFront/latest/DeveloperGuide/Introduction.html

Categorie
Blog

Carrelli abbandonati: ecco i trucchi per evitarli!

Il  carrelli abbandonati sono un problema che riguarda il presente ed il dato che più preoccupa è che  la frequenza con la quale i carrelli vengono abbandonati sta crescendo di anno in anno.

Ecco a voi, in forma di 2 infografiche, ovvero immagini utili assieme a dati e testo, alcuni consigli utili per  abbassare la frequenza con la quale i vostri clienti abbandonano i carrelli sugli e-commerce: