Maxpho Commerce 11 Maxpho Cloud Services Data: 18 Gennaio 2012 Versione: 1.1 Autore: Maxpho Srl
Indice generale 1 - Introduzione... 3 2 - Servizio Cloud Base...4 2.1 - Come funziona... 4 2.2 - Sicurezza...5 2.3 - A chi può servire... 5 3 - Servizio Availability Zone... 6 3.1 - Come funziona... 6 3.2 - A chi può servire... 6 4 - Servizio CloudFront... 7 4.1 - Come funziona... 7 4.2 - A chi può servire... 7 5 - Servizio Route53...8 5.1 - Come funziona... 8 5.2 - A chi può servire... 8 Pag. 2 di 8
1 Introduzione Maxpho vanta la possibilità di utilizzare i Cloud Services di Amazon (AWS) presenti in Irlanda per avere enormi vantaggi in termini di scalabilità, performance ed efficienza. La motivazione principale che ci ha portato a sviluppare e integrare la piattaforma Maxpho Commerce in modo da poter permettere l'utilizzo dei Cloud Services è la possibilità di fornire uno strumento che ottimizzi l'esperienza del visitatore assicurando un livello di performance avanzato con prestazioni garantite in termini di affidabilità e di velocità. L'interazione con diversi network e l'elevato flusso di visitatori provenienti dalle diverse piattaforme di un sistema di questo tipo richiede un'architettura stabile e distribuita. Pag. 3 di 8
2 Servizio Cloud Base 2.1 Come funziona L'architettura offerta per la gestione di tutti i nostri Clienti è così strutturata: Spazio: un disco S3 (Simple Storage Service) dedicato al Cliente per i dati statici. Il disco S3 offerto ha l'obiettivo di essere utilizzato come strumento di accesso per tutti i dati multimediali dell'applicativo. Utilizzare una struttura dedicata con performance studiate per ottimizzare la trasmissione di dati dal server al client finale assicura alte performance in termini di avviabilità e banda in uscita verso il client. Non c'è un server web a interpretare e restituire l'informazione, al contrario è presente un applicativo ottimizzato nell'indicizzazione e nella restituzione della richiesta. Computazione: svariati server EC2 (Elastic Compute Cloud) nella Zona B che si occupano unicamente di eseguire script PHP attraverso Apache. L'utilizzo di diversi server permette innanzitutto la possibilità di scalare tutte le richieste HTTP su un insieme di server sulla base del numero di richieste soddisfatte da ciascuna macchina (di conseguenza si vanno a sfruttare tutti i vantaggi derivanti dall'utilizzo di un bilanciatore sul numero di richieste HTTP) e in secondo luogo, attraverso un sofisticato sistema di monitoraggio e politiche di carico - studiate appositamente in particolari situazioni di stress del sistema -, possono essere attivate altre macchine (raggiungendo potenze di calcolo fino a 100 macchine fisiche) in grado di soddisfare quindi il sovraccarico in ingresso al sistema. Bilanciamento: un Load Balancer (bilanciatore) che distribuisce il carico sui server EC2 meno carichi, utilizzando una politica di conteggio bilanciato sul numero delle richieste HTTP soddisfatte da ciascuna macchina. Scalabilità: un CloudWatch (controllore) con AutoScaling (aumento automatico delle macchine) che permettono di svegliare i server disattivati in proporzione al carico lavoro generale. Pag. 4 di 8
Database: svariati server RDS (Relational Database Service) single-az, collocati nella Zona B, che si occupano unicamente del database MySQL. L'utilizzo di una macchina distinta per gestire le richieste DB permette di alleggerire il carico della macchina Apache andando a ottimizzare, e di conseguenza ridurre, le latenze sulle risposte HTTP. 2.2 Sicurezza Attraverso questo punto mettiamo in evidenza alcuni aspetti operativi del servizio Cloud Base: L'accesso al Disco S3 (dove vengono inseriti i dati statici come immagini, video, flash etc..) avverrà tramite il protocollo S3/HTTP (basta utilizzare un semplice programma FTP client). Il protocollo FTP viene quindi totalmente evitato aumentando notevolmente il livello di sicurezza dei server. Trattandosi di un sistema Cloud per una questione di sicurezza non è possibile accedere a nessuna parte di codice eseguibile PHP essendo questo unico per tutti i server. Tutti gli altri file invece, come sopra indicato, verranno posizionati nel Disco S3 e saranno quindi modificabili (Javascript, immagini, flash, css, etc...). 2.3 A chi può servire A tutte le aziende che: 1. necessitano di un sistema scalare che permetta di aumentare la potenza di calcolo con archi temporali che variano da pochi minuti a diversi mesi (esempio: in un'ora del giorno ricevo un elevatissimo numero di visite, magari a seguito di una campagna email inviata ai Clienti, e non voglio perdere le performance, oppure se sotto le feste di Natale le visite aumentano in maniera esponenziale e non voglio perdere le prestazioni di sistema); Pag. 5 di 8
2. richiedono un sistema veloce; 3. richiedono un sistema più sicuro e con meno punti di fallimento. 3 Servizio Availability Zone 3.1 Come funziona Questa funzione permette di rendere raggiungibile tutto il sistema anche in caso di temporanei malfunzionamenti della zona B, raggiungendo uptime maggiori di 99.999% (una media di 25 secondi mensili di down). Una strutturazione di questo tipo permette di rendere disponibile in pochi minuti il sistema completamente funzionante in una differente localizzazione geografica, senza la necessità di riconfigurazione del DNS in quanto gestito da un bilanciatore del carico che, una volta riconosciuta l'assenza di disponibilità dei servizi in una determinata zona, si sposta in quella secondaria. 3.2 A chi può servire A chi ha la necessità di avere sempre disponibile l'applicativo, le immagini e le informazioni a database anche in caso di eventi dovuti a cause di forza maggiore (come incendi, down delle macchine, malfunzionamenti della rete etc...). Pag. 6 di 8
4 Servizio CloudFront 4.1 Come funziona Nell'analisi delle performance di un dominio uno dei fattori discriminanti per valutare la velocità di accesso ai dati statici del dominio è la presenza di un CDN (Content Delivery Network). Questo strumento, sulla base della localizzazione geografica del visitatore, si occupa di fornire il contenuto statico mettendo a disposizione la risorsa geograficamente più vicina al visitatore finale. Questo permette di azzerare le possibili latenze di rete dovute all'utilizzo di un server geograficamente più lontano. CloudFront è la nostra offerta di CDN che dà la possibilità di velocizzare i download da qualsiasi parte del mondo essendo fornito di 5 entry point collocati strategicamente in tutto il mondo (Stati Uniti, Europa, Hong Kong, Giappone e Australia). 4.2 A chi può servire Il servizio che abbiamo sopra esplicitato può essere indicato per tutte le aziende che necessitano di visibilità in tutto il mondo. Pag. 7 di 8
5 Servizio Route 53 5.1 Come funziona L'utilizzo del nostro sistema con questo servizio consente una corretta gestione dei record DNS, assicurando basse latenze di risposta grazie alla scalabilità del sistema e ottimizzando così l'esperienza di navigazione del visitatore. A oggi uno dei colli di bottiglia significativi nell'esperienza di navigazione di una pagina web con contenuti ospitati su diversi domini è rappresentato appunto dalla latenza nella risposta del server DNS, di conseguenza anche la scelta del DNS autoritativo corretto è un fattore discriminante per le performance del dominio. 5.2 A chi può servire Il servizio appena proposto può servire a chiunque voglia avere un aumento di velocità nella navigazione del dominio grazie ai tempi di risposta più veloci dei servizi di ricerca DNS (i miglioramenti proposti avvengono nell'ordine di centesimi di secondi). Pag. 8 di 8