High Availability for the LAMP Stack by Jason Cannon

This step-by-step guide teaches you everything you need to know in order to eliminate single points of failure for your Linux, Apache, MySQL, and PHP based web applications.

High availability for the lamp stack

Book Description

Publication Date: December 16, 2014

How to Setup a Highly Available LAMP Stack Even If You've Never Done It before, Don't Know Where to Start, or Don't Want to Spend Weeks Researching How to Do It.

This step-by-step guide teaches you everything you need to know in order to eliminate single points of failure for your Linux, Apache, MySQL, and PHP based web applications. 

Do you wish you could ensure your web site was up all the time and finally enjoy a peaceful night's sleep? 
Do you want to be able to scale without downtime and handle unexpected surges of traffic? 
Do you want a solution that just works without spending weeks testing various combinations of technologies and software? 
Do you want someone to lay it all out for you and walk you through an entire deployment? 
If so, you're in the right place... 

I understand, because I've been there.
I know what it's like to be woken up in the middle of the night when a web server goes down. I don't know about you, but I'm fairly grumpy at 2:47 A.M. when something is broke and I'm the one that has to fix it. 
That's why I strive to eliminate single points of failure and ensure service availability. I would much rather plan for failure ahead of time than have to react to it. If you have a robust design that's easy to support you can repair any failures at your convenience instead of trying to cobble together a makeshift solution in the middle of the night. 
I've spent countless hours designing, testing, and implementing high availability solutions for a wide range of Linux based services during my career. I've put together a well designed, well tested solution for the LAMP (Linux, Apache, MySQL, PHP) stack that easily scales to support an increasing number of users all the while decreasing downtime. I've taken each possible single point of failure into account from the obvious ones to the less than obvious edge cases you'll need to cover in order to have a truly robust design. 

Genre: COMPUTERS / General

Secondary Genre: COMPUTERS / General

Language: English


Word Count: 11722

Sample text:


One of the most common ways to deliver web applications is through the use of the LAMP stack.  LAMP is an acronym that stands for Linux, Apache, MySQL, and PHP.  In this design Linux is the operating system, Apache is the web server, MySQL acts as the database, and PHP is used as the programming language.  This architecture can be used to host open source applications or custom written web apps.  Popular websites like Facebook, Wikipedia, and Yahoo use this design to serve millions of users worldwide.  Open source applications such as WordPress, Drupal, Joomla!, MediaWiki, and SugarCRM also rely on the LAMP stack.

Whether you are deploying or supporting a custom written application or using an open source solution, you'll want to employ an architecture that maximizes the availability of that application, eliminates single points of failure, allows you to scale without downtime, and is relatively easy to implement and support.  It's better to take the time upfront to account for the requirements and long term goals of the service you're implementing than it is to make architectural decisions during an emergency situation like an expected surge of traffic or an outage.  During an emergency is not the best time to be designing solutions.

Each project may have varying requirements, but in general there are few important points to at least consider.  They are redundancy, scalability, performance, and manageability.  Redundancy is how to tolerate failures.  Scalability is how to serve an increasing or decreasing user base.  Performance is how to ensure each user's experience is at or beyond an acceptable level.  Having a redundant, scalable, performant service means nothing if it's unmanageable or unsupportable, therefore manageability is a key consideration.


Book translation status:

The book is available for translation into any language except those listed below:

Already translated. Translated by Eugenia Franzoni
Translation in progress. Translated by Diego Luiz Grigol
Translation in progress. Translated by Annelise Belmonte

Would you like to translate this book? Make an offer to the Rights Holder!