Welcome!

Microservices Expo Authors: Liz McMillan, Elizabeth White, Zakia Bouachraoui, Jason Bloomberg, Pat Romanski

Related Topics: Microservices Expo, Java IoT, IBM Cloud, Agile Computing, @CloudExpo

Microservices Expo: Blog Post

The Converged Application Container

Examining the near-term innovation of application servers

Just about everything I do in my job points back to a construct that is a foundational part of the modern enterprise IT organization: the application server. Now, when you say ‘application server', thoughts immediately wander to Java. More specifically, folks tend to think about servers that support traditional Java EE applications and rightfully so. Over the past ten years, the predominant type of application server has been of the Java EE variety, and the industry has experienced tons of innovation in this area with more undoubtedly yet to come. But is the term ‘application server' only applicable when we are talking Java?

The one-word answer to that question is ‘no'. While the strong association exists today thanks to a widely adopted programming model (widely adopted for many good reasons I should say), I cannot help but wonder what associations we will make with the term ‘application server' three, five, or ten years from now. I say this because I believe we are going to witness interesting changes in the application server space. The rise of cloud and mobile along with the persistence of scripting and functional programming languages will, in my opinion, force radical evolution and innovation in the application server. Most importantly, the application server will transform into a converged container for hosting all manner of application types.

That's right. The traditional, Java-centric application server is going to morph into a container that is much more multi-purpose than it is today. Of course, this is not going to happen without the advent of some key functional enablers. While impossible to list or event predict all of them, here are a few that I believe will be important in this movement:

1) Programming language/model normalization services: Before the idea of a converged application container can proceed, there will have to be some sort of translation approach built into the system. This translation system will be responsible for normalizing the different programming languages and models used by applications within the server. The normalization will have to be to some sort of common language (perhaps Java) supported by the server, but the idea is that this action will be mostly transparent to the application.

2) Functional composability: Due to the need to support a diverse set of application types, a converged application container will actually possess a wide-ranging set of capabilities. In pulling in these capabilities, it is not a stretch to say that bloat could become a problem. This bloat could surface itself via conditions such as excessive memory usage or large disk footprints to name but a few. In order to avoid this, the application container must be composable. That is to say, the container must be able to dynamically enable features it needs based on the application types that it is supporting. It is interesting to think about the role that OSGi may play in supporting this kind of approach.

3) Context-driven management services: Just as the functionality of the container must be built via modular composition, the management services it offers up must be right-fit and contextually aware. The application container must be able to enable and deliver the right set of management capabilities based on the applications it is hosting. Managing a mobile application can be markedly different than managing a traditional Java EE enterprise application. Since the same container may be hosting either type of application, it really needs to be able to offer up management interfaces that are appropriate to either. Just as with the functional set of capabilities, it must do this without suffering from bloat. In short, management capabilities must also be composable, and they must be contextually aware.

The idea of a converged application container may seem pretty far-fetched to some, but I truly believe it will be an area ripe with innovation for the next three to five years. Albeit just a select few, the above capabilities will play an important role in making the promise of converged containers real. Enough from me though! I'm curious to know what you think about this whole idea. Reach out to me on Twitter @damrhein and let me know!

More Stories By Dustin Amrhein

Dustin Amrhein joined IBM as a member of the development team for WebSphere Application Server. While in that position, he worked on the development of Web services infrastructure and Web services programming models. In his current role, Dustin is a technical specialist for cloud, mobile, and data grid technology in IBM's WebSphere portfolio. He blogs at http://dustinamrhein.ulitzer.com. You can follow him on Twitter at http://twitter.com/damrhein.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Microservices Articles
DevOpsSummit New York 2018, colocated with CloudEXPO | DXWorldEXPO New York 2018 will be held November 11-13, 2018, in New York City. Digital Transformation (DX) is a major focus with the introduction of DXWorldEXPO within the program. Successful transformation requires a laser focus on being data-driven and on using all the tools available that enable transformation if they plan to survive over the long term.
Adding public cloud resources to an existing application can be a daunting process. The tools that you currently use to manage the software and hardware outside the cloud aren’t always the best tools to efficiently grow into the cloud. All of the major configuration management tools have cloud orchestration plugins that can be leveraged, but there are also cloud-native tools that can dramatically improve the efficiency of managing your application lifecycle. In his session at 18th Cloud Expo, ...
"We do one of the best file systems in the world. We learned how to deal with Big Data many years ago and we implemented this knowledge into our software," explained Jakub Ratajczak, Business Development Manager at MooseFS, in this SYS-CON.tv interview at 20th Cloud Expo, held June 6-8, 2017, at the Javits Center in New York City, NY.
All zSystem customers have a significant new business opportunity to extend their reach to new customers and markets with new applications and services, and to improve the experience of existing customers. This can be achieved by exposing existing z assets (which have been developed over time) as APIs for accessing Systems of Record, while leveraging mobile and cloud capabilities with new Systems of Engagement applications. In this session, we will explore business drivers with new Node.js apps ...
Digital Transformation is well underway with many applications already on the cloud utilizing agile and devops methodologies. Unfortunately, application security has been an afterthought and data breaches have become a daily occurrence. Security is not one individual or one's team responsibility. Raphael Reich will introduce you to DevSecOps concepts and outline how to seamlessly interweave security principles across your software development lifecycle and application lifecycle management. With ...
CloudEXPO New York 2018, colocated with DXWorldEXPO New York 2018 will be held November 11-13, 2018, in New York City and will bring together Cloud Computing, FinTech and Blockchain, Digital Transformation, Big Data, Internet of Things, DevOps, AI, Machine Learning and WebRTC to one location.
Two apparently distinct movements are in the process of disrupting the world of enterprise application development: DevOps and Low-Code. DevOps is a cultural and organizational shift that empowers enterprise software teams to deliver better software quicker – in particular, hand-coded software. Low-Code platforms, in contrast, provide a technology platform and visual tooling that empower enterprise software teams to deliver better software quicker -- with little or no hand-coding required. ...
Using new techniques of information modeling, indexing, and processing, new cloud-based systems can support cloud-based workloads previously not possible for high-throughput insurance, banking, and case-based applications. In his session at 18th Cloud Expo, John Newton, CTO, Founder and Chairman of Alfresco, described how to scale cloud-based content management repositories to store, manage, and retrieve billions of documents and related information with fast and linear scalability. He addres...
While some developers care passionately about how data centers and clouds are architected, for most, it is only the end result that matters. To the majority of companies, technology exists to solve a business problem, and only delivers value when it is solving that problem. 2017 brings the mainstream adoption of containers for production workloads. In his session at 21st Cloud Expo, Ben McCormack, VP of Operations at Evernote, discussed how data centers of the future will be managed, how the p...
Containers and Kubernetes allow for code portability across on-premise VMs, bare metal, or multiple cloud provider environments. Yet, despite this portability promise, developers may include configuration and application definitions that constrain or even eliminate application portability. In this session we'll describe best practices for "configuration as code" in a Kubernetes environment. We will demonstrate how a properly constructed containerized app can be deployed to both Amazon and Azure ...