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.
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:
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.
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.
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
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.
Popular Links
Comments
Post new comment