I was lucky enough last week [22 March 2010] to moderate a panel at EclipseCon on the future of application servers. The panelists did a great job, but I thought were far too conservative in their views. I agree with them that many customers want evolutionary change from today to future app servers, but I see requirements driving app servers toward radical change. Inevitably.

The changes I see:

 

Requirement

Response

Get more value from servers, get responsive, get agile and flexible

Virtualized everything, dynamic provisioning, automated change management

Govern rising application stack complexity

Lean, fit to purpose app servers, profiles and other standard configurations, modeling and metadata-based development and deployment

Provide “Internet scale”

Scale-out app servers, data tiers, network capacity, modular/layered designs, stateless architectures

 

The result is “distributed virtualization” of application servers. Application servers will look a lot more like elastic application platforms than like today’s products. Today’s products are like transaction monitors; elastic application platforms are like fabrics or grids. I expect, as is usually the case, that vendors without a strong existing customer base to protect will lead development of the new app servers.  Paremus Service Fabric is a good example. I suspect Microsoft’s Azure will provide a cloud-based example.

I was tempted to declare in this post that the demise of the app server is at hand. But that would be a lame attempt at link bait — and untrue.  As the new generation of app servers rises, today’s generation of application servers will continue to evolve and improve. I’ve been impressed by the reliability features in IBM WebSphere 7, for example, as well as JBoss Application Server 5’s container configurability and broad language support. And Greg Wilkins described very innovative uses of Jetty. These "traditional" application servers are still both useful and relevant.

Still, a new generation of application servers is beginning. If your requirements take you into the new features and characteristics they offer, don’t let your imagination be held back by undue loyalty to the prior generation of application servers.