Traditional application servers such as WebSphere, WebLogic, and JBoss are dinosaurs tiptoeing through a meteor storm. Sure, IBM, Oracle, and Red Hat still have growing revenue in these brands, but the smart money should look for better ways to develop, deploy, and manage apps. The reason: cloud computing.
The availability of elastic cloud infrastructure means that you can conserve capital by avoiding huge hardware investments, deploy applications faster, and pay for only those infrastructure resources you need at a given time. Sound good? Yes. Of course there are myriad problems such as security and availability concerns (especially with the recent Amazon mishap) and others. The problem I want to discuss is that of application elasticity. Forrester defines application elasticity as:
The ability of an application to automatically adjust the infrastructure resources it uses to accommodate varied workloads and priorities while maintaining availability and performance.
Elastic Application Platforms Are Not Containers
Elastic application platforms (EAPs) will help developers create elastic applications by reducing the art of elastic architectures to the science of a platform. EAPs provide tools, frameworks, and services that automate many of the more complex aspects of elasticity. These include all the runtime services needed to manage elastic applications, full instrumentation for monitoring workloads and maintaining agreed-upon service levels, cloud provisioning, and, as appropriate, metering and billing systems. EAPs will make it normal for enterprise developers to deliver elastic applications — something that is decidedly not the norm today.
Forrester defines an elastic application platform as:
An application platform that automates elasticity of application transactions, services, and data, delivering high availability and performance using elastic resources.
For complete details of EAP, Forrester clients can read the April 26, 2011, report Cloud Computing Brings Demand For Elastic Application Platforms by my colleague John R. Rymer and me.
What It Means: The Application Server Is The Albatross Around The Neck Of Elasticity
Applications must be architected for elasticity to take advantage of clouds. As more application development professionals realize this, they will begin to see the shortcomings of the existing app-server centric architecture patterns. This faulty pattern is prevalent in all major development platforms. Elastic application platforms will enable the ability to scale transactions, services, and data automatically and promote the principles of application self-sufficiency to support the technologies and standards needed to make this happen.
Bottom line: Traditional application servers and the container-based model will not meet the future needs of application developers moving to the cloud.