Questa domanda si sente spesso nei forum e nei gruppi che discutono di Magento. Qual’è il miglior hosting per Magento? La domanda a nostro avviso è troppo generica. Noi potremmo rispondere: dipende. I fattori che devono essere analizzati per scegliere un hosting per Magento sono :

  • Numero di utenti contemporanei  che si vuole servire
  • Struttura del nostro sistema Ecommerce Magento
  • Budget!
  • Livello di servizio (SLA)
  • E’ scalabile?

Vediamo nel dettaglio i punti in questione.

Numero di utenti contemporanei che si vuole servire

Il numero di utenti contemporanei è rappresentato dal numero di richieste simultanee fatte al web server. (apache , nginx). Ogni richiesta al server comporta l’allocazione di risorse e di memoria. Il numero di utenti contemporanei è diverso dal numero di sessioni giornaliere. Preventivare il carico di un sistema Ecommerce non è semplice e si rischia spesso di sovrastimare i sistemi. Il nostro approccio è partire con dei sistemi minimi ma scalabili. La scalabilità deve essere gestita sia in modo verticale (aumento di risorse di un singolo nodo) che  e soprattutto in modo orizzontale. Nel caso di Magento, il modo migliore di scalare orizzontalmente è mettere un server dedicato per il database. Magento lavora pesantemente con il database. Isolarlo in una macchina dedicata è una mossa vincente. Scalare verticalmente significa aggiungere risorse al server. Questo può essere fatto in modo semplice con delle infrastrutture Cloud che permettono anche per singoli periodi di tempo (ad esempio periodi natalizi o durante una campagna di marketing) di aumentare le risorse.

Possiamo simulare il carico di un server?

E’ possibile farlo. Esistono diversi tools che possono essere utilizzati. Si possono generare dei carichi di utenti contemporanei e verificare con dei report le performance del server. E’ possibile anche simulare delle sessioni utente per avere un dettaglio più preciso di come il server gestisce il traffico.

Struttura del nostro ecommerce Magento

Per capire il carico di risorse necessario è importante verificare prima di tutto il sistema Magento. Quanto “pesa” la nostra home page? Quanti prodotti sono presenti? Con quante varianti? Quante categorie ho impostato? Come detto sopra Magento utilizza in modo pesante il database. Maggiori sono le varianti dei prodotti più pesanti saranno le query al sistema. Questo carico può essere mitigato dai vari sistemi di cache che possono essere implementati. (Apc, Memcache, Redis) ed è un argomento che attiene le ottimizzazioni che possono essere fatte su Magento.

Budget!

Avere chiaro il budget da destinare all’hosting è fondamentale. Ricordiamoci che un sito lento e poco performante può compromettere i processi di vendita. Ai nostri clienti consigliamo di partire con un server ottimizzato di base. Il server è configurato per ospitare Magento. Di solito non installiamo i vari Cpanel o Plesk. Non installiamo nemmeno il server di posta. Un server pensato per Magento deve contenere solo gli elementi necessari per far girare al massimo il sistema ecommerce, in modo sicuro veloce ed affidabile. Installando Plesk infatti vengono installati dei moduli stadard che possono far girare al meglio diverse applicazioni. (WordPress, Magento, progetti custom php). Magento necessita al contrario di componenti diversi per essere performante. Se vuoi avere un vantaggio competitivo rispetto ai tuoi concorrenti, un hosting di buon livello può fare la differenza.

Livello di servizio

Capire il livello di servizio è fondamentale. Quando le cose vanno “lisce” non ci sono problemi, il nostro ecommerce macina ordini, le mail vengono spedite, le nostre campagne girano, i comparatori portano traffico, il nostro server è ben configurato e regge bene il traffico. Ma cosa succede se qualcosa va storto? Ecco alcune domande da porci:

  • Come vengono gestiti i problemi?
  • Qual’è il tempo di presa in carico del problema?
  • Ho un contatto diretto con un professionista?
  • Mi danno supporto nell’installazione di moduli?
  • Tengono il mio sistema aggiornato?
  • Il server è sicuro?
  • Qual’è il SLA (Service Level Agreement)?
  • Come vengono fatti i backup? Se ne ho bisogno come posso fare per reimpostare il mio sistema?

E’ scalabile?

Cosa significa “scalabile”? Magento di per se è scalabile? La risposta è sì. Magento può essere configurato anche in un sistema cluster sia in front end che in backend. (proxy dei dati e cluester su database). Quali sono le domande che devo fare per capire se il sistema hosting è scalabile? Eccone alcune:

  • Posso aggiungere un’altro server sul quale impostare il database?
  • Posso aggiungere memoria, disco, processori al server per un determinato periodo?
  • Posso aggiungere una macchina che mi faccia da proxy delle richieste con installato Varnish?
  • Posso configurare un cluster per il database?

Quanto costa?

Dipende da tutte le domande poste sopra. Sconsigliamo ai nostri clienti i cosiddetti “Cheap hosting”. Il budget minimo a nostro avviso per un Ecommerce con un carico di 1000 sessioni uniche giornaliere è di 500/euro anno. Inoltre consigliamo sempre di pensare alle possibili evoluzioni in termini di scalabilità anche temporanea.