Makes sense to me. If you care to substitute 'web2py' for 'python' you can come 
to pretty much the same conclusion. The choice of web2py influences your 
architecture, of course, but it neither prevents nor guarantees scalability.


Does Python Scale?
Mitch Garnaat
10/14/11 10:45 AM
Elastician
I wonder how many times I've been asked that question over the years.  Often, 
it's not even in the form of a question (Sorry, Mr. Trebek) but rather stated 
emphatically; "Python doesn't scale".  This can be the start of long, heated 
discussions involving Global Interpreter Locks, interpreters vs. compilers, 
dynamic vs. static typing, etc.  These discussions rarely end satisfactorily 
for any of the parties involved.  And rarely are any opinions changed as a 
result.
So, does Python scale?

Well, YouTube is written mostly in Python.  DropBox is written almost entirely 
in Python.  Reddit.  Quora.  Disqus.  FriendFeed.  These are huge sites, 
handling gazillions of hits a day.  They are written in Python.  Therefore, 
Python scales.

Yeah, but what about that web app I wrote that one time.  Hosted on a cheapo, 
oversubscribed VPS, running straight CGI talking to a remote MySQL database 
running in a virtual machine on my Macbook Air.  That thing fell over like a 
drunken sailor when I invited a few of my friends to go check it out.  So, 
yeah.  Forget what I said before.  Obviously Python doesn't scale.

The truth is, it's the wrong question.  The stuff that allows Dropbox to store 
a million files every 15 minutes has little to do with Python just as the 
things that caused my feeble web app to fail had little to do with Python.  It 
has to do with the overall architecture of the application.  How databases are 
sharded, how loosely or tightly components have been coupled, how you monitor, 
and how you react to the data your monitoring is providing you.  And lots of 
other stuff.  But you have to deal with those issues no matter what language 
you write the system in.

No reasonable choice of computer language is going to guarantee your success or 
your failure.  So pick the one you are most productive in and focus on properly 
architecting your app.  That scales.

<<inline: 1231480044619721857-1682894398409005844.gif>>

Reply via email to