SpringSource, VMware's recent $420 million acquisition, says its new tc Server Spring Edition is ideally suited for a virtualized data center. So much so that SpringSource is giving it away to VMware shops.
Tc Server is an enterprise version of the lightweight Apache Tomcat Java application server. Through May 10, the company will offer two free perpetual CPU licenses of tc Server Spring Edition and 60 days of support with any qualifying purchase of VMware Inc.'s software, including vSphere, vCenter, View and ThinApp.
This "Spring on VMware" promotion applies only to tc Server Spring Edition, which was announced today, and not to previous Standard and Developer editions of the Apache Tomcat application server.A brave new world
There are a lot of Java Spring developers -- Gartner Inc. estimates the number at about 2 million, or half the world's Java developer population -- but the number of shops that run tc Server in a virtual machine are seemingly few and far between.
NPC International Inc., a Pizza Hut franchisee in Overland Park, Kan., that operates more than 1,110 stores, recently switched from JBoss running within Solaris Containers to tc Server running in Ubuntu Linux virtual machines (VMs) on top of VMware ESX.
Jon Brisbin, NPC portal webmaster, initiated the move in an attempt to get away from heavyweight, vertically scaled model to more lightweight, horizontal approach.
"JBoss was just too big," Brisbin said. "We couldn't run it in a small-footprint server environment where we could have a lot of horizontal scalability." If he hit performance limitations, "I would try to get bigger by adding more RAM, but that has an absolute limit." Further, running it in Solaris Containers required a lot of up-front planning about how to parcel out the resources and made it tricky to apply patches, Brisbin said.
Now, NPC runs three tc Server instances in an Ubuntu Linux VM, where each VM is configured with just 2 GB or 3 GB of RAM. When performance is a problem, "there is no limit, you just add another VMware box," Brisbin said, adding that "the more I spread out the load, the more users I can support."
But Brisbin has blazed his own trail. Asked whether other shops have virtualized their Java application servers, Brisbin said that "there's a lot of talk, a lot of rumors," but not a lot of concrete information about real implementations or best practices. "I feel like I have a hard time getting peer support," he said.
Further, Brisbin has had to do substantial development work to make the tc Server on VMware setup operational. Because he didn't want to use CPU-intensive monitoring agents in the VMs, Brisbin coded up an automated systems maintenance tool using Python and RabittMQ that communicates performance metrics about the nodes and keeps their configurations in sync.
"I would have loved for that to be part of the product," he said, adding that the path he's chosen "is not entirely painless. If I wasn't so stubborn and didn't plow through until I figured things out, then I probably wouldn't do this."Spring Edition steps up
Prior versions of tc Server relied on technology from Hyperic for its monitoring capabilities, a feature called the Application Management Suite, or AMS. But a SpringSource spokesperson said that the new version of tc Server does not use it.
"With Standard Edition, you can't see into the Spring apps -- only into the [Java] runtime," said Shaun Connelly, SpringSource's vice president of product management. The new Spring Edition, meanwhile, "uses intelligence we have and automatically places probe points into the application."
In addition to providing insight into applications' performance, Tc Server Spring Edition claims more flexible deployment options and integration with VMware Workstation and Lab Manager.
General availability of tc Server Spring Edition is scheduled for April. It will retail for $750 per CPU.