Search

Shopping cart

Saved articles

You have not yet added any article to your bookmarks!

Browse articles
Newsletter image

Subscribe to the Newsletter

Join 10k+ people to get notified about new posts, news and tips.

Do not worry we don't spam!

GDPR Compliance

We use cookies to ensure you get the best experience on our website. By continuing to use our site, you accept our use of cookies, Privacy Policy, and Terms of Service.

High Availability Per Lo Stack Lamp

High Availability Per Lo Stack Lamp

Uno dei modi più comuni di rendere disponibili le applicazioni web è attraverso lo stack LAMP. LAMP è un acronimo che sta per Linux, Apache, MySQL e PHP; in questo ambiente, Linux è il sistema operativo, Apache il server web, MySQL il server di database e PHP il linguaggio di programmazione.  Questa architettura può essere utilizzata per servire applicazioni open source o anche app personalizzate. Siti web famosissimi come Facebook, Wikipedia e Yahoo usano questo ambiente per servire le loro applicazioni a milioni di utenti in tutto il mondo, e anche moltissime applicazioni open source, quali WordPress, Drupal, Joomla! MediaWiki e SugarCRM, si appoggiano allo stack LAMP.

Che stiate implementando o facendo da piattaforma ad un'applicazione personalizzata, o che stiate usando una soluzione open source, dovreste usare un'architettura che massimizzi il tempo di uptime dell'applicazione, elimini i single point of failure, permetta di scalare senza tempo di fermo, e sia relativamente semplice da implementare e supportare. È meglio prendersi il tempo all'inizio per tenere in considerazione i requisiti e gli obiettivi a lungo termine del servizio che state implementando, invece di prendere decisioni sull'architettura durante un momento di emergenza come può essere un potenziale aumento del traffico o un'interruzione dell'elettricità. Fare queste cose durante un'emergenza non è il modo migliore di gestirle.

Ogni progetto può avere requisiti diversi, ma in genere ci sono solo alcuni punti importanti da considerare di sicuro: la ridondanza, la scalabilità, le prestazioni e la gestione. La ridondanza è come si riesca a reagire ad eventuali guasti, la scalabilità è la possibilità di gestire una base di utenti più grande o più piccola, le prestazioni implicano assicurarsi che l'esperienza di ciascun utente sia ad un livello almeno accettabile. Avere un servizio ridondante, scalabile e ad alte prestazioni non serve a niente se non si riesce a gestirlo, quindi anche questa è una considerazione chiave da fare. Chi implementerà il progetto? Chi ne gestirà la manutenzione? È fattibile farlo scalare nel modo che è stato previsto nel progetto? A volte, soluzioni più complesse possono essere escluse per la mancanza di risorse, ad esempio per un budget limitato o la mancanza di personale qualificato. Inoltre, a volte le soluzioni complesse progettate per minimizzare il tempo di fermo possono in realtà aumentarlo perché è necessario perché ci vuole più a risolvere i problemi quando accade qualcosa di inaspettato.

Questo libro presenta un paio di progetti che affrontano tutti i punti sopra elencati. I progetti proposti eliminano i single point of failure (punti di vulnerabilità singoli) e possono essere fatti scalare per arrivare a servire un numero sempre maggiore di utenti, mantenendo delle prestazioni accettabili. Verranno presentati progetti basati su hardware fisico, su server virtuali e sulla cloud. Sono progetti relativamente semplici, che soddisfano tutti questi requisiti, e sono facili da implementare, gestire e manutenere.

Comments