The document discusses the LAMP stack architecture and its limitations for scaling web applications. It presents the traditional LAMP stack of using Linux, Apache, MySQL, and PHP together. It then outlines several issues with this approach as applications grow larger, including PHP not closing MySQL connections properly, MySQL becoming blocked, and web servers having poor performance when waiting on MySQL. It suggests moving to a LNNJ stack using Linux, Nginx, NoSQL databases, and JavaScript to create asynchronous, event-driven applications that better leverage the network and browsers.
8. Software Engineering
Economics
• Bandwidth is cheaper than
• HDD is cheaper than
• CPU is cheaper than
• Memory is cheaper than
• Development
9. Simple high availability,
high performance
MySql
Apache Master
HAProxy 1
MySql
Apache Slave
Internets
Heartbeat HAProxy
MySql
Apache Slave
HAProxy 2
MySql
Apache Slave
23. Major problems with
this architecture
And if they haven’t fixed it yet, they probably never will
24. • PHP doesn’t close MySql connections
• MySql can get blocked
• Web servers go psycho when waiting on
MySql
• No good replication
• Increasingly complex to scale