Saturday, October 6, 2012

Are Commercial J2EE Application Servers worth their cost?


If the market is any indication, the answer is a resounding no! Check out market share research conducted earlier this year and published on Silicon Angle. The two largest commercial application servers Websphere and Weblogic have a whopping 2.17% market share between them. The lion share of the market is going to open source application servers such as Tomcat and JBoss.
As an architect and developer, I've always thought open source application servers easier to support. In most organizations, access to software vendor support staff is tightly controlled and requires a bureaucratic effort to utilize. Because of this, developers are often left attempting to resolve issues on their own anyway. 
Self serve resources for commercial application servers such as documentation, web postings for similar problems, and searchable bug lists are often not much better than what you find with the open source alternatives. Furthermore, getting to knowledgeable support staff often takes time I don't usually have. Often, my support calls need to get routed from first-level support to second or third level support.
Most problems that start out being blamed as "application server" issues are usually application code defects. Rarely are outage or production defects resolved at the application server level. This makes sense as application server code is usually better and more thoroughly tested than application code.
As a manager, I've never found the "security" of having vendor resources available particularly comforting. It certainly doesn't assuage clients who are experiencing some type of outage or defect they need help with for very long.
Centralize and standardize use of sophisticated software (whether its commercial or open source) throughout the enterprise. Standardize the use of application server software to the point where all the typical issues are solved once and do not need to be continually revisited. For example for application servers, I standardize all build and deployment scripts and container configurations. With the exception of memory allocation and port assignments, I standardize other feature usage (e.g. management console usage) so that they are the same for all deployed applications.
These choices are not usually revisited by each application developer or team for each application. When the need for changes arise, these changes are centrally evaluated and those configuration standards changed. The change is then deployed on a planned basis throughout the enterprise. This may seem a bit excessive, but I'd rather developers spend time adding needed software features to applications and better supporting the business rather than low level application server configuration concerns. As a result of this standardization, mysterious problems occurring in some environments and not others rarely happen. I've written more about the benefits of this type of standardization here.
Some organizations see liability benefits to commercial software. For instance, it's another firm to possibly to shift blame to should problems and issues arise. Maybe it's where I've worked in the past, but I've never seen blame shifting strategies of this type work over the long term.
Another inference from this market share study is that use of Enterprise Java Beans (EJBs) has largely disappeared. However, that should be a separate discussion.

6 comments:

  1. Hi Derek -

    I fully agree in your overall premise that commercial app servers are not a good choice.

    However, I believe the market study you cited represents a VERY skewed data set. I don't believe their customer data reflects the whole application server market. New Relic is a cloud monitoring software vendor which fills a gap open for Tomcat users who do not have the sophisticated management tools available to Weblogic/Websphere users. New Relic has made a name for itself among the Ruby on Rails crowd, which is a much different set of users than the "Enterprise" customers who are on Weblogic.

    Ken

    ReplyDelete
    Replies
    1. Thanks for reading my blog entry and taking time to comment.

      Your point is well taken that the source of the data needs to be looked at. I referenced just the graphic, but they claim (yes, this could be a misrepresentation) the info was produced from an independent survey (ref below - see second paragraph in the linked page). They don't state how the survey participants relate to their customer base. Perhaps you know more about the source of this data than what was published.

      Not having any inside knowledge of the firm, I look at motives. A firm in the monitoring business would have use for independent market research of this type. According to their documentation, they monitor at a low enough level to publish a list of specific application servers they support. Consequently, this type of market research would be very valuable for them since it tells them where to invest their R&D money. Using intentionally skewed survey results would simply lead to mis-allocation of R&D. Also, I have trouble imagining their motive for intentionally publishing a mis-leading survey.

      Having said that, better disclosure of the survey process would have been useful.

      Ref: http://siliconangle.com/blog/2012/01/11/open-source-java-is-stronger-than-ever-infographic/

      Delete
    2. Sorry, I didn't mean to imply that New Relic was intentionally being misleading about their data or being dishonest in any way. All I'm saying is that we as architects shouldn't draw any serious conclusions about this data in terms of overall marketshare of commercial application servers. Are we really to believe that JRun has a greater market share than both Weblogic and Websphere?

      I found a post discussing the study in more detail.
      http://blog.newrelic.com/2012/06/13/new-relic-redmonk-state-of-the-stack/

      "it’s necessary to state up front that RedMonk is not asserting that New Relic’s data is statistically representative of the market as a whole, or even of the specific communities surveyed."

      Delete
  2. Thanks for the blog reference. That reference also confirms that the survey consists of purely New Relic customers. I agree that share for Weblogic and Websphere are likely under reported and JRun market share over reported. I do think it unlikely that Weblogic/Websphere market share is so under reported that they are in fact have higher market share than open source alternatives. I do not believe that architects should ignore market share reports; but we do have to weight those reports accordingly given report limitations.

    Looking for other sources, I also found a 2011 survey (http://zeroturnaround.com/java-ee-productivity-report-2011/) that had weblogic/websphere at a combined market share of 17%. What was interesting about that report, which I'm sure has its own problems, is that taken together with their 2009 report (http://zeroturnaround.com/labs/java-ee-container-redeploy-restart-turnaround-report/) shows a substantial decrease in commercial app server usage and increase in open source app server usage.

    Anyway, thanks for a most interesting discussion.

    ReplyDelete
  3. Thank's Derek ..I like your way of sharing it helps a lot !!
    http://www.tateberry.com

    ReplyDelete
  4. Commenting on your blog is not wasting time, it's a privileged to every reader. http://homeextensioncentre.co.uk

    ReplyDelete