Bodog CTO Carl Schmidt calls it a "fantastic story." In late 2001, the company was going through the "dot-com craze." Hits were racking up, and Bodog was trying to figure out how to scale to the increased traffic. But Enterprise Java Beans (EJB), a Sun product, started bringing everything to a halt whenever usage spiked. "Every time we ran into a peak load, our system stopped responding," Schmidt says. "All the application servers would stop serving requests. It turned out to be a bug in EJB that was replicating over and over."
With limited resources, Schmidt needed help from Versant and WebLogic. "We didn't have catastrophic load testing but we knew there was a problem. We went to the vendors." The bug could have been either in Versant's or WebLogic's object-oriented database, but neither company was willing to track it down; instead, each pointed the finger of blame at the other. "We needed them to work together," Schmidt says. That wasn't going to happen, so Schmidt and his team went for the other option: they decompiled the code themselves. "We found the bug and fixed it," he says. "And life went on." But that was the beginning of the end for proprietary code at Bodog.com. "We looked at that situation and went, 'wow'. [The vendors'] whole ad campaign is that they're supposed to offer you this great support, but we were hampered by it."
Schmidt started shopping for an open source solution. "We felt that if we were going to have to fix bugs ourselves, we sure would like to have access to the source." He looked at Java Open Application Server (JOnAS) and Enhydra before settling on JBoss. "They seemed to have the most momentum." So Schmidt began taking down the three Sun application servers, gradually replacing them with generic hardware running Red Hat Linux Enterprise, Apache, and JBoss, as well as IBM's DB2 relational database product. "We used to use the stock Red Hat 9, but we've found that it's been worth it springing for the enterprise stuff." Regarding the use of the proprietary DB2, he says, "I wanted to go with an open source database, but at the time I didn't feel MySQL was quite ready. Today is a different story."
Schmidt says the migration was relatively straightforward, with a team of six developers that completed a change from WebLogic to JBoss and from an object-oriented database environment to a relational database structure in about eight months. The new infrastructure has grown along with the site, which now sits on 14 Web servers and a 30-CPU application server cluster.
"What's ended up happening is that we've taken what we would have spent on licensing and invested it in JBoss development training," Schmidt says. "That's translated into higher developer productivity on e-commerce, which is the lifeblood of Bodog.com."