It was a sunny day in October, and Origin Shabamtech's web site had crashed for
the umpteen millionth time. Mr. Shabam, the company's
, was desperate.
The money they were making from the website was great - processing
seven figures monthly - but it wouldn't continue if the application kept crashing.
to get this website to stay up," he said to himself. "But how?"
Mr. Shabam called on his company's hosting provider, Boomtastic Server Company (BSC)
to see if they could help.
They'd be glad to provide the servers and bandwidth, but that wasn't
going to help unless the application itself could be split among the servers. With
only an executable file and associated DLLs, and VulpesPro being the
point-straight-to-the-file-non-ODBC database, that looked bleak.
The source code was unavailable, as was the original vendor.
In fact, the situation seemed so impossible that BSC referred Origin
Shabamtech to one of its resellers, Gulfomatic Solutions, and its team of
Elite Engineers started a betting pool against Gulfomatic.
Luckily, Origin Shabamtech had
a virtually unlimited supply of licenses -- which was about the only
of the problem going in their favor.
Gulfomatic's team of Solutioneers were eager to dig into the problem, and hopes were
high that they could show up their Elite colleagues and prove their doubt as
misguided. The Solutioneers worked day and night for a fortnight,
coming up with several potential solutions, in order of increasing complexity. With
each new trial, the Beast of a problem revealed new defenses. Yet in doing so, it also
revealed tiny bits of information about its weaknesses.
After the third attempt at an architectural fix, one of the Solutioneers spotted the
unshielded thermal exhaust port of the Problem Beast. The team worked until the
wee hours of the morning, hacking away as they tried to bring the beast down. But
the problem was able to route energy to shore up the points of attack.
Undeterred, Solutioneers brought out their arcane weaponry of packet sniffers
and decompilers. The onslaught continued.
And it was a good thing. The next morning, a few hours after sunrise, the Beast was slain, and the
Solutioneers held their heads in triumph. They stood victorious, as their
victim lay at their feet.
To this day, the myth of Gulfomatic's solution
remains a complete mystery.
I want to figure out the mystery. Do you have any ideas?
How would you determine what's causing the site to crash? What might you look at? What might you do to fix it? Let's discuss it in the comments. Don't be afraid to offer "stupid" suggestions - I don't think many of us would know where to start, much less how to proceed.
It may be somewhat server related, but it's not outside the realm of what I think programmers should (at the least) have a passing familiarity with.
As Markus Prinz pointed out to me
, the point of this isn't all that clear, so I reworked the paragraph above to include questions that (I hope) give more direction toward the discussion I'd like to start.
The plan is to write another post discussing some of that, but for now I wanted to get your responses and discuss them here (and if you don't mind, potentially quote them in a future post).