Showing posts with label LAMP. Show all posts
Showing posts with label LAMP. Show all posts

Monday, November 1, 2010

LAMP: PHP is past its prime

If one part of the LAMP stack has to be the week link at this point it is PHP. PHP is a great language for doing little things but as web applications get more complex it is showing its limits.

PHP suffers from a few major problems:

  1.  The need to have a <?php tag at the top of any file, and having the script send anything outside of the <?php tag to standard output.
  2. Almost no ability to do any form of asynchronous operations 
  3. Vulnerability to injection and XSS attacks (Though many languages have this problem)

There is also the fact that as languages go PHP is just not very elegant. spend a few hours with python, ruby or javascript and PHP will feel painful. 

Sunday, October 31, 2010

LAMP: Cracks in MySQL

MySQL is a great database. It has a lot of good features and is reliable in a great many use cases. However it sometimes hits its limits, some of these are specific to MySQL some are general issues with SQL databases in general. 


  1. SQL does not scale out very well. If you need to shard a dataset across servers
  2. Tunning can be  bit of an art form. 
  3. SQL is can be subject to injection attacks. (See the cartoon)




Friday, October 29, 2010

LAMP is dimming

For most of the last 10-15 years the LAMP suite has been one of the major modes of web development. LAMP is composed of four parts,

  • Linux
  • Apache
  • MySQL 
  • Perl, PHP or Python
While Linux will stay as part of the standard developers stack for years to come the other three parts of the lamp  suite seem to be getting a bit crufty.

Apache is a fine web server, but it is using a multi process model. Each connection ties up a process. As connections become longer lived with new technology like Commit the memory usage of an apache server tends to grow heavily. Event loop technologies like nginx and node.js may soon take over. For delivering static pages apache still has much to recommend it. 

Next time Cracks in MySQL