NYCPHP Meetup

NYPHP.org

What Is Scalability? Was: [nycphp-talk] PHP vs. Java scalability ...

Hans Zaunere hans at nyphp.org
Mon Oct 20 13:49:36 EDT 2003



Chris Shiflett wrote:

> --- Hans Zaunere <hans at nyphp.org> wrote:
> 
>>I could have done without as much my-tier, your-tier, pattern and
>>anti-pattern blah blah, but it was nice to see a fairly objective
>>look at PHP from a Java house.
> 
> 
> I was interested in seeing how mangled the definition of scalability has
> become. I spoke a bit about this on my blog, and I have sparked discussions
> about it on php-general and use.perl.
> 
> So, we may as well discuss it here also. How do you define scalability? What
> does it mean?

http://www.gartner.com/DisplayDocument?doc_cd=95856

I'm going with multidimensional scalability  :)

All joking aside, scalability holds different meanings in different contexts - are we talking hardware, software, or the architecture of how the system as a whole was designed (or lack thereof).

In general, without getting into various flavors and types, scalability is suitability to task and the ability to accommodate future requirements.  Sure, a big piece of this is performance - what happens when your traffic increases by some factor of 10 - but there are other issues to deal with.

What if you need to "scale" functionality; what if you need to change/outsource development; what happens if a particular server/network goes offline?  Each of these are given their own buzzwords, but they all reflect one key fundamental aspect:  the architecture of the system as a whole.  Some languages, or platforms as they've become, have some sugar builtin to address these issues, but they still remain less of a remedy versus good design and planning.

Let's take two kings of "scalability" - Oracle and J2EE.  Why are they generally accepted as being so scalable, outside of the marketing muscle behind them?  Is Oracle lightweight and agile?  Is J2EE and it's core language Java highly tuned for performance?  No.  They divide functionality up and suggest, almost force, you to build on an architecture that provides the ability to be distributed across machines, networks, development groups, etc.

PHP doesn't have this foundation in a predigested form as other languages/platforms attest, but there is certainly no reason it can't be implemented.  And furthermore, implemented with greater success by avoiding mistakes the big guns have made.  Then again, maybe most of it is a mistake.

>> http://www.onjava.com/pub/a/onjava/2003/10/15/php_scalability.html

I got a nice laugh, and then was inclined to take the remainder of the article more seriously, after reading this:

"Within the Java community, the standard J2EE topology is anything but clear."

There's no cure all, and no such thing as a free lunch.

H





More information about the talk mailing list