TomcatExpert

Apache Tomcat Support Options: Part One

posted by avanabs on April 7, 2010 07:43 AM

One area that is getting a lot of attention in these days of "do more with less" is the cost of infrastructure maintenance. Many studies show that maintaining software is much more expensive over it's life cycle than purchasing/building it in the first place, so IT management is looking at these costs with renewed interest. The issue turns out to be a bit more complex than it originally appears, although one thing that leaps out is that all of the options for supporting Tomcat are far better than the options we all had with commercial JEE Application Servers. First, let's look at what we mean by "support". In this series of blogs, I'll be sharing some thoughts about the various supportions available for Tomcat, as well as contrasting those with the JEE commercial Application Server support situation.

Enterprise Application Server Support

While it is theoretically possible to forgo support entirely, and sometimes this is forced by software vendor failure or acquisition/product retirement, realistically IT organizations require ongoing support for their mission critical infrastructure. In this post, we will be discussing the various options available to IT organizations for supporting Tomcat environments. We will also be discussing the important differences between commercial proprietary closed source vendor JEE application server support and Apache Tomcat.

One of the most important and valuable “features” of Tomcat from the IT Operations point of view is support choice. Proprietary software can only be supported by the vendor, at that vendor’s monopolistic support pricing, while using Tomcat provides multiple viable options in a competitive support environment. Hardly surprisingly, excellent Tomcat support can therefore be obtained at much lower cost. That said, while Tomcat itself is “free”, there are real internal and external costs associated with using Tomcat as an IT infrastructure. It is important to understand these costs when comparing the various support options.

What is “Support”?

When we think about enterprise infrastructure support, one of the first things to realize is that there are multiple kinds of infrastructure users in our organizations, each with differing support requirements at various stages of each project. Traditionally, “support” provided by a commercial infrastructure vendor covers a wide range of activities, from addressing relatively simple “how do I do” questions to mission critical outages.

While it is difficult to categorize support issues, the following three general areas fit Tomcat relatively well:

  • Use Questions—There are the “how do I do” and “what parameter do I set” kinds of support issues. Frequently they are handled through user documentation, FAQ, etc. Even commercial support organizations have limited tolerance for routine questions that have well documented manuals, and volunteer support is likely to be even less patient.
  • Advanced Configuration, tuning, performance optimization, issues—These are often beyond the scope of standard documentation, but can at times be covered in FAQ and BLOGS. This is a significant part of the support load for commercial infrastructure vendors, and is routinely handled by layers of product specialists, often minimally trained, and even more often located in "lowest cost" parts of the world. Volunteer (community) support typically has fewer layers to work your way thru, but is always on a best efforts basis.
  • Defects and Mission Critical Outage issues—These issues are typically found during deployment or in production, have a high degree of urgency, and IT managements have near zero tolerance for “someone will try to get back to you next week…maybe” responses. This is the area most IT executives are thinking about when they write those expensive support contracts, and is often considered similar to a life (or job) insurance policy.

Proprietary Closed Source Application Server Support

Proprietary closed source application servers limit IT organizations to a single support option, the software vendor’s maintenance contract. This is because only the vendor has access to the source code and only the vendor can fix bugs or provide feature enhancements. While software vendor support varies considerably in both quality and responsiveness, the IT organization simply has no other choice. Since only the software vendor can maintain their software, typically the vendor feels free to charge a monopolistic price. Vendors decide what to repair, when to repair it, and when to make the repairs available to the customers. This process is driven by a few of the largest/best customers, who dominate the vendor’s revenue stream and attention.

Additionally, support is provided by layers (typically many) of support teams, accessible through rigid escalation processes. At the bottom of the stack, you are dealing with technicians with minimal training, following scripts, and often with limited ability to speak your language. This is how profit margins for infrastructure software support are maintained in the 80-90% range. While all of this may be frustrating, and costly, there is a contracted level of support that is comforting to senior IT management.

Interestingly, most Total Cost of Ownership studies show that maintenance contract costs are more significant than the original license price, typically 3:1-4:1. Further, the vendors not only get more revenue from maintenance contracts than from their license sales, but their profits on maintenance contracts are much higher than on their license sales.

Apache Tomcat Support

Apache Tomcat offers an important advantage to IT organizations…support choice, or as one financial services CIO stated “freedom from the tyranny of the proprietary vendor’s maintenance contract”. Tomcat is the most widely utilized web application server and it enjoys an active open source development community. Additionally, multiple vendors offer maintenance, training, and consulting services for the Apache Tomcat server, although these can vary significantly in quality and responsiveness. Finally, there is a wealth of information available in books (more than 40 in print…twice WebLogic), tutorials, courses, FAQ’s, blogs, etc.

With multiple support options, the cost of Tomcat support becomes competitive rather than monopolistic. Supporting Tomcat is definitely not free however and each of the support options involves costs of various types, both internal and external. That said, excellent support is available for Tomcat and the costs are typically a small fraction of that charged for proprietary software maintenance contracts.

In future blogs, I'll be sharing some "insider" info on how commercial JEE application server support really works and, in particular, it's economics. We'll then dig into Tomcat support options to understand the pro's and con's of the various support options. The key, of course is the availability of multiple options, instead of dealing with virtual monopolies.

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.