Il sito vivoazzurro.it, la community ufficiale delle nazionali e del calcio italiano, è ospitato in farm Inetworking su un’infrastruttura ad-hoc, sviluppata per poter scalare in orizzontale ed essere in grando di affrontare i picchi di accesso, in vista dei prossimi mondiali di calcio.
Il requisito fondamentale è la scalabilità in orizzontale dell’infrastruttura.
Cosa significa scalere in orizzontale?
Scalare in orizzontale, significa poter aggiungere server web all’infrastruttura, ed avere quindi più potenza a disposizione. Per poter far questo, bisogna scorporare alcune parti applicative, in modo che siano accedibili da più server web diversi.
Le carattetistiche
Assets
Nonostante la “leggerezza” applicativa, il sito serve video ed immagini ad alta risoluzione, che hanno richiesto lo studio di una soluzione per renderli fruibili senza appesantire l’intera infrastruttura.
Non è stata scelta una soluzione con CDN, per questioni di integrazione con wordpress e per non far lievitare i costi.
Abbiamo pensato quindi di far servire tutto il contenuto statico da un server web dedicato. Un semplice apache, senza php o moduli particolari. Il sorgente applicativo è stato quindi adattato affinchè immagini e video venissero serviti da quel server web, piuttosto che dai server web col codice php.
Bilanciatore
Su questo progetto abbiamo utilizzato il blasonato HA Proxy, bilanciatore altamente configurabile, che ci ha permesso di introdurre alcune funzionalità come la ridirezione di url su macchine specifiche (vedi backoffice), attraverso un plugin controllare il carico dei server frontend, in modo da passare le connessioni al frontend più scarico e così via.
Caching
Il caching applicativo è stato gestito attraverso il modulo aggiuntivo di wordpress w3tc. Questo modulo si occupa di cachare le pagine, minificazione di jss e css, e così via. Tutta la cache generata è salvata su NFS, qunidi su filesystem. Nonostante sia sempre preferibile un sistema di caching in RAM (memcached , redis, …) questo modulo si sta comportando bene e i vantaggi in performance si sentono davvero.