adam bien's blog

Nothing Is Good Enough For Production 📎

When is application server good enough for production? It is one of the most frequently asked questions. The answer is simple and clear: Never.

I tested different application servers for larger deployments and none of them was bug-free. If you dig deep enough, you will always find mission critical bugs.

Also there is a direct relation between the commercial success of application servers and the amount of bugs they have. The more "enterprisy" an application server feels, the less it used by smaller startups and so more challenging use cases. You will very likely find bugs during the realization of more challenging use cases already in the development phase.

The relation between the commercial success and quality of support seems to be inversely proportional. With a large customer base, the vendors are introducing multiple levels of support. If you are lucky the first level support will know what Java is and in best case have a shallow understanding of CLASSPATH :-) (see also the 7 year old post The End Of Commercial Application Java EE 5 Servers). It could take several weeks until you will be able to get your bug approved.

The "smaller" application servers come with an excellent support (sometimes you will get directly the expert or even the committer), but it is less scalable. Also the newcomers are vastly more popular in more interesting projects (e.g. use cases with heavy use of DI, new JPA features, more sophisticated JAX-RS features) and are far better tested by the community.

If you are searching for a "politically correct" answer, choose the big application servers (big download size, long deployments, not freely chosen by developers). If you would like to be productive and have to implement cutting-edge software, choose the "reasonable" application servers (small download sizes, fast deployments, good IDE integration, popular in the community). Whatever you choose, you will have to test a lot. If all your tests are passed--you are ready for production. It doesn't even matter, whether your application server is released or not...

See you at Java EE Workshops at MUC Airport or on demand and in a location very near you: airhacks.io!