October 16, 2003

Scalability is in the architecture

The PHP Scalability Myth - Jack Herrington (of code generation fame) has a good article on what ‘scalable’ means and how it’s not specific to any particular language. It’s all about making different parts of your application loosely coupled, and keeping as many parts stateless (with help in the form of caching) seems to be the conclusion everyone comes to, particularly in this age of cheap commodity hardware.

...Scalability is mainly about the architecture of the application layer, and there is no one true panacea architecture that will work for all application architectures. The key to success is not in any particular technology, but in simplifying your server model and understanding all of the components of the application layer, from the HTML and HTTP on the front end to the SQL in the back end. Both PHP and Java are flexible enough to create scalable applications for those who spend the time to optimize their application architecture.

Of course, this holds for other languages (Perl!) as well. Perrin's excellent etoys article (now two years old) is a nice complement to Jack's article because does a good job of breaking the application pieces down for a particular high profile real-world case.

Next: Struts with Spring
Previous: Looking hard at the Spring Framework