Which check to write? when open source means Jack

One of the side effects of recession is an increased focus on cost. Where previously non IT management tolerated high IT costs, they're now going to be motivated to look - and when they do, they'll often face a choice: go open source and keep an extra IT guy or so on staff, or pay for licenses and pray they don't need expensive external support.

The most recent pure Wintel submission to the Transaction Processing Council on TPC/E performance came from IBM and covers a 24 core Intel Xeon system running at 2.66ghz.

According to the supporting documentation filed with the council:

  • the server used cost $44,780 plus $1,785 for three years of maintenance;

  • disk storage, consisting of 400, 73.4GB disks in 34 enclosures (3 full racks) cost $249,023 plus $26,740 in maintenance; and,

  • the licenses for Microsoft SQL Server 2008 Enterprise x64 Edition with Microsoft Windows Server 2008 Enterprise x64, cost $103,995 plus $285 in maintenance.

The partners gave themselves 31% off the IBM stuff and 8% off Microsoft's to achieve a claimed system cost of $298,400.

According to the TPC:

The TPC-E benchmark simulates the OLTP workload of a brokerage firm. The focus of the benchmark is the central database that executes transactions related to the firm's customer accounts. Although the underlying business model of TPC-E is a brokerage firm, the database schema, data population, transactions, and implementation rules have been designed to be broadly representative of modern OLTP systems.

The benchmark was designed to replace the venerable, and widely disparaged, TPC-C and, like it, is both extremely simple (10 transaction types, 33 tables) and rather easily gamed.

Suppose, however, that your workload looked like TPC/E, would you implement using the benchmarked technologies or open source?

What that comes down to initially is an extremely unsubtle choice: you can choose to write a check for $104,000 to Microsoft just to get a couple of software licenses, or you can choose to write a much smaller check to keep Jack, your IT guy, on the job for more than a year while he implements and supports your application using MySQL with Java under either Linux or Solaris on that same hardware.

The slightly more subtle version of this is more of a futures thing: Microsoft doesn't support SPARC/CMT - so if you want to take advantage of Sun's more advanced hardware, you're going to have to go open source.

And the reason you're going to want to do that is cost: CMT with MySQL and Java outperforms that Wintel stack by better than three to one - and Sun will sell you those same 23TB of storage in 4 rack units instead of three full racks, and for less than one third of IBM's price.

The combined bottom line is about as simple as the top line: if this test models the performance you need, you can get it in three full racks from IBM and Microsoft for about $300K up front plus the price of a windows babysitter - or you can save about $200K upfront, hire an open source guy, and do at least as well if not better on performance, stability, and maintainability in less than half a rack of Sun gear.

(A footnote: the MySQL result linked to above doesn't use the flash augmented 70X0 storage line and is based on using application sharding to bypass limitations in InnoDB. A TPC/E result using next generation MySQL and the 70X0 storage system may be expected RSN.)