Most popular Java application servers: 2016 edition
This is now fourth year when we publish statistics about the Java landscape. Every year, during springtime, we dig into the data that we have gathered from the JVMs Plumbr Agents have monitored, and find out about:
- which Java versions are used (Java 6 vs Java 7 vs Java 8);
- which JVMs are used (Oracle Hotspot vs OpenJDK vs Rest Of The World);
- Which application servers are most frequently deployed in the infrastructure;
- how the landscape has changed over time.
Last week we exposed the data about Java versions and vendors. This week we are exposing the state in the application server market.
The following conclusions are based on 1,240 different JVMs that Plumbr monitored for performance during February and March 2016. The data has been gathered from within the JVM via System.getProperty() calls with os.arch, os.version, java.version etc.
Which Java application server is the most widely used in 2016?
From the 1,240 deployments we gathered the data from, we were able to identify the container vendor on 862 occasions, or in around 70% of the environments. These container vendors distributed as follows:
Tomcat installation base exceeded the 50% threshold for the second year in a row. The 58.22% share of the pie left no question about the winner. In addition to Tomcat, next four vendors having significant deployment base are:
- JBoss/WildFly installations, having 20.22% of the market share
- Jetty, with 10.67% of the market
- GlassFish, having another 5.56% of the pie
- Oracle WebLogic deployments with 2.44% of the installations
The “Other” category represented less than 2.5% of the installations. This consisted of Resin, Orion, OC4J, SAP NetWeaver and IBM WebSphere deployments, all detected in less than five deployments.
The remaining JVMs where we failed to detect a Java application servers were mostly either
- desktop applications using Swing or AWT;
- dynamic language runtimes (such as Scala or Groovy);
- containerless server software (Elasticsearch, TIBCO, etc);
- making use of Netty (Play Framework) ;
- or hidden into development environment launchers (Maven,sbt, IDEA, Eclipse, etc).
Java application servers in use 2013 – 2016
Presenting the same data over the period from 2013 to 2016 where we have analyzed the same data, we see the following:
There is a grain of salt one should interpret these changes over time. The reason why Jetty dropped to just third of its former glory on 2015 is likely caused by Plumbr transforming from a development tool to a monitoring solution. Instead of the developer-friendly Jetty the production deployments with other Java application servers took its share of the deployments.
Of the changes in 2015 it is interesting to see Oracle Weblogic being spotted three times less frequently. Whether it is a symptom of companies migrating away from the particular vendor or whether it is due to different type of companies using Plumbr is not fully clear.
One thing that is clear is that for two years in a row Tomcat deployments represent close to 60% of all the JVMs on the field. It is an amazing result, considering that Tomcat was originally designed only as a reference implementation and the amount of energy different vendors have put into promoting their containers.