TomcatExpert

Apache Tomcat Support Options: Part Two-Comparing Commercial JEE Support to Apache Tomcat Support

posted by avanabs on April 8, 2010 09:18 AM

Proprietary Closed Source Application Server Support

The major JEE Application Server vendors offer sophisticated, feature rich, products sold under vendor licenses, together with providing annual maintenance support agreements. While it may not be strictly mandatory (salesmen often tell the customer that it is…commissions on support are very high) for the customer to purchase a support agreement, virtually 100% of the customers do. Since these products are based on proprietary closed source software technology, only those with access to the vendor’s source code can provide maintenance or enhancements to the product. Given the choice of forgoing support, patches, and upgrades, or of paying for the vendor’s maintenance agreement, customers pay, and pay, and pay.

There are third parties providing consulting services and training, but anything involving the internals of the Application Server is inaccessible. Hardly surprisingly, software vendors use this leverage to their best advantage, making maintenance the most profitable portion of their businesses.

JEE Application Server Economics

The JEE Application Server vendors offer multiple levels of products with software Iicense list pricing/CPU varying from just under $5,000 to over $25,000. It is also common for these list prices to be heavily discounted during the purchase negotiations, particularly for large volume customers. Additionally, many major customers enter into Enterprise License Agreements (ELA) which provides them even more advantageous bulk pricing.

The result of this process is that most licenses are actually sold for a fairly small fraction of their list price. So, given the fact that a high list price can be a barrier to sales, why do vendors maintain these artificial pricings? There are two distinct reasons:

  • Marketplace expectations—As with many other high price items, customers are conditioned to “look for a deal”, which drives software vendors to maintain very high list prices and then offer huge discounts to close the deal.
  • Maintenance—Far more subtle, and somewhat unique to the enterprise software industry, maintenance contract prices are based on a percentage (typically from 18-22%) of the license list price…not the actual price. This is as if your car repair costs were locked to the manufacturers suggested retail list price, rather than what the repair garage could fairly charge you or even a percentage what you actually paid for the car…a fairly weird idea!

JEE Application Server Maintenance Contract Pricing

By basing their annual maintenance agreements on list pricing and refusing to discount maintenance agreements, vendors are actually in the position of charging more for the annual maintenance agreement than they did for the software license itself. For example, the list pricing for the top of the line Oracle/BEA WLS server is $25,000 (Oracle Dec 17, 2009 price list). The maintenance contract is priced at $ 5,500 (22% of list price). With volume discounts typically running 60-80% and higher, this means the license actually costs $ 5,000-$ 10,000, while the maintenance agreement on that license is fixed at $ 5,500/year. ELA license pricing is even more dramatic, with the annual maintenance often costing 2-3 times the actual per CPU license cost.

Even more interesting, contract provisions do not allow “retiring” licenses or purchasing maintenance contracts for only a portion of the total licenses. This is because it would be impossible for the vendor to determine whether the support issue was from a license under maintenance or from a license not under maintenance. While these are ideas are both quite reasonable from the vendor business point of view, the effect is that the customer is locked into extremely high maintenance contract costs as long as they have any licenses what-so-ever, regardless of how many copies are actually in use. This situation leads to support business unit margins of 80% and upwards, which is great for stockholders but not so wonderful for end user customers.

Other JEE Application Server Maintenance Costs

In addition to the already high cost of the commercial application server maintenance agreement, there are a number of other significant costs associated with maintaining a JEE Application Server. These include the cost of appropriate computing hardware, facilities costs (space, HVAC, etc), cost of IT support staff with sufficient skills/training to deal with JEE application server complexities, cost of integrating/testing/deploying maintenance releases and patches, etc. Some studies have shown that these costs can be a significant portion of the total cost of ownership.

Both the complexity and the weight of JEE application servers contribute to raising these costs. A JEE application server requires very significant hardware to support its rich functionality, which is fine if you need all that, but becomes a costly extravagance for the large percentage of the time you don’t. Similarly, the JEE application server does provide a lot of management capability, but the complexity of that management system adds substantially to the skill requirements and ongoing training.

Apache Tomcat Support

The support situation for Apache Tomcat is entirely different, and offers much better choices. Because Tomcat is an OpenSource project of the Apache Foundation Community, there is no single vendor monopoly, which enables a competitive marketplace. This situation offers users multiple viable support strategies. These include Community Support, Self Support, and third party Vendor Support. We’ll be discussing the plusses and minuses of each of these alternatives

Tomcat Server Economics

Apache Tomcat is an open source project of the Apache Software Foundation and is licensed under the Apache License version 2.0. The Apache distribution of Tomcat is “free” and is readily available to any end user who desires to deploy applications on it. That said, it is important to remember that Apache Tomcat is not a commercial product, it is an open source community project. Many of the traditional expectations for a commercial product (platform support, installers, administrative/management tools, documentation, etc) are relatively limited or are completely outside the scope of the Apache Tomcat community project.

An Apache Tomcat release is thus a “the core of a JAVA Web Server”, and there are a number of things the user has to complete in order to have a production environment on any particular platform. Tomcat is an excellent core, but it is not...and not intended to be...a complete enterprise infrastructure product. Further, some portion of this work has to be re-done each time Tomcat issues a new release (they do not release “patches”). So, Apache Tomcat is indeed “free”, but it also is not “complete", from an IT operations point of view. The user bears the costs of bridging that gap, while saving (substantially) on both acquisition and maintenance contract costs.

This situation has led a number of commercial vendors to adopt the Apache Tomcat distribution and wrap platform support, installers, management/administration, “enterprise class” functionality, and support around it, while maintaining 100% compatibility. Some vendors have also enhanced Tomcat, creating improved versions. Not all of these enhancements have been submitted back to the community, or accepted, leading to non-standard Tomcat versions (for example, jBoss Tomcat, which is “improved” and different). These vendors charge for the resulting product, typically thru subscription pricing or maintenance contracts, and it is important to note that you are may over time become locked into that vendor’s proprietary Tomcat derivative product.

Other Tomcat vendors have taken the approach of adding on features and capabilities, while maintaining the Tomcat core through active participation in the Tomcat community. This creates the best of both worlds, incrementally the main line Tomcat code while simultaneously providing additional value outside the scope of the Tomcat project itself.

Basic support for Tomcat can be obtained commercially for around $500, with prices for enhanced versions, 24x7, etc ranging up to $ 1,000 or more. These costs are still an order of magnitude less than for a commercial JEE Application Server due to the competitive marketplace and, together with other Total Cost of Ownership savings, it is easy to see why so many IT departments are adopting Tomcat as their infrastructure of choice.

Andy has recently decided to make the jump from individual consulting to join the Spring Source team. He will continue to be working with major clients to assist them with IT architecture evolution, now as a member of a large and growing organization. His first project will be leveraging Tomcat, Spring, and a Tomcat based data grid/cache called GemFire. He’s looking forward to sharing the lessons learned with the tomcatexpert community. Andy has been architecting, designing, and building enterprise infrastructure and applications software for most of his career. He’s been responsible for BEA’s “Blended Source” initiative, combining the best of Open Source (including both Tomcat and Spring) with WebLogic, BEA’s WebLogic Enterprise Security product family, MEI Software’s financial systems, Netegrity’s SiteMinder security product, Camex’s electronic publishing systems, mainframe applications for Bell Telephone, and many others. During that time his hands on technology experience has ranged from octal coding into neon lighted switches all the way through JAVA and beyond, including many generations of “the best and final thing we will ever need”, and he looks forward to working on the even better things coming in the future. He was involved in the early days of Open Source software as a contributor to EMACS and refocused on Open Source during his tenure as Director of Product Management with BEA Systems, combined with a fascination for the rapidly evolving application deployment architectures and technologies driving today’s development. Andy has provided architecture and technology guidance for both vendors and IT organizations and he shares what he is learning through consulting services and through his web site, Enterprise Software Trends (www.estrends.com).

Comments

Post new comment

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Enter the characters shown in the image.