Shopping cart
Your cart empty!
Terms of use dolor sit amet consectetur, adipisicing elit. Recusandae provident ullam aperiam quo ad non corrupti sit vel quam repellat ipsa quod sed, repellendus adipisci, ducimus ea modi odio assumenda.
Lorem ipsum dolor sit amet consectetur adipisicing elit. Sequi, cum esse possimus officiis amet ea voluptatibus libero! Dolorum assumenda esse, deserunt ipsum ad iusto! Praesentium error nobis tenetur at, quis nostrum facere excepturi architecto totam.
Lorem ipsum dolor sit amet consectetur adipisicing elit. Inventore, soluta alias eaque modi ipsum sint iusto fugiat vero velit rerum.
Sequi, cum esse possimus officiis amet ea voluptatibus libero! Dolorum assumenda esse, deserunt ipsum ad iusto! Praesentium error nobis tenetur at, quis nostrum facere excepturi architecto totam.
Lorem ipsum dolor sit amet consectetur adipisicing elit. Inventore, soluta alias eaque modi ipsum sint iusto fugiat vero velit rerum.
Dolor sit amet consectetur adipisicing elit. Sequi, cum esse possimus officiis amet ea voluptatibus libero! Dolorum assumenda esse, deserunt ipsum ad iusto! Praesentium error nobis tenetur at, quis nostrum facere excepturi architecto totam.
Lorem ipsum dolor sit amet consectetur adipisicing elit. Inventore, soluta alias eaque modi ipsum sint iusto fugiat vero velit rerum.
Sit amet consectetur adipisicing elit. Sequi, cum esse possimus officiis amet ea voluptatibus libero! Dolorum assumenda esse, deserunt ipsum ad iusto! Praesentium error nobis tenetur at, quis nostrum facere excepturi architecto totam.
Lorem ipsum dolor sit amet consectetur adipisicing elit. Inventore, soluta alias eaque modi ipsum sint iusto fugiat vero velit rerum.
Do you agree to our terms? Sign up
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