I've been at CFUNITED all week, and based
on the amount of blog coverage that's occurred without my help, I
didn't feel compelled to post. However, the day three New Atlanta
/ MySpace.com keynote was an amazing talk that couldn't go without my
opinions being expressed to the world.
First, some background. MySpace.com is a huge
CFML site that has recently moved from CF5 to BlueDragon.NET.
They seem to be the centerpoint of New Atlanta's marketing efforts, at
least for the CFUNITED crowd.
They get about a bazillion hits a day, and have had lots of problems
scaling their infrastructure and codebase over the crazy growth curve
they're on.
However, after listening to one of the
Directors of Something Techical speak at the keynote, it's not hard to
see why they have this problem. He said several times that they
often push code two, three, four times a day. They don't have
separate development, staging, QA, and production server
infrastructures. They don't scale their server architecture, they
just increase it's size (which sounds similar, but is quite different).
One of the specific problems he
mentioned was unsufficient throughput of their database drivers on CF,
specifically that the database servers couldn't handle more than X
connections, and that if you have Y server, you're necessarily limiting
each server to X / Y connetions. With a huge web farm, that might
mean X / Y is only 5 or so connections, which greatly cripples the
throughput of the web server. So how do they solve it? Not
build a more scalable database infrastructure that can handle more
connections (something that I understand MS SQL Server can do easily
with replication and distributed servers, though I've never actually
done it). They switch to ADO.NET native drivers, rather than the
JDBC drivers that CF uses.
I don't want to rail MySpace.com too much, but I couldn't pass up the chance to share my amazement such that a huge
site does things in such a ridiculous way, and then complains when they
have problems, and looks for a solution to the symptoms, rather than a
solution to the problems. The moral of the story, of course, is
that your infrastructure (both server, and development processes) is vitally
important. And unfortunately, that kind of cowboy attitude
reflects rather poorly on New Atlanta, since they seem to consider
MySpace.com to be such a core part of their marketing efforts.
And
to round out some context, I originally had no intention of going to
the keynote, because I figured it'd be an hour of New Atlanta doing
MS's marketing for them. However, I was pleasantly surprised to
see a truly legit case study from a real client, solving real-world
problems, and it wasn't overtly sales-pitchy.