Middleware Virtualization: A Less Explored Territory in Cloud Era
The two major transformations that the cloud technology space is currently experiencing are Cloud Computing and Virtualization Management. With the proliferation of cloud services, cloud technologies, and virtualization tools, server virtualization is still a crucial aspect of today’s solution provider business. For example, if an organization demands to have combo of private and public clouds, virtualized management tools are not capable of matching the requirement across multiple internal and external clouds. Here, middleware applications come into the action and fill all the gaps that individual, but dependent IT infrastructure has created.
The deployment of middleware in the cloud and virtual environment has made our experts scratch their head because just like many other things in IT, middleware virtualization has a broadening reference. For software and cloud architects, it’s imperative to understand the basic middleware virtualization problems for representative tools in each category. This will give them an idea about where their own application evolution would take their middleware needs.
The Java-based middleware requires JVM deployment on VMs and application deployment within JVMs. The majority of middleware virtualization discussions have swiveled around the middleware model hosted on Java used by some of the primitive cloud applications such as a web server, application servers, and database servers. Middleware replication can be damage such models in the cloud.
One easier way to resolve efficiency problems—as recommended by Oracle, with WebLogic Server Virtual Edition—is to know that JVMs are almost virtual operating systems; deploy them on a hypervisor without a guest OS. It would save your resources and make the middleware as virtual as the guest operating systems presently are.
Another logical approach the market is taking is by virtualizing Java directly. Although, Java is not truly a multi-tenant in its native form but, it's possible to code Java applications to be multi-tenant by controlling programming practices and namespaces, and by using some special Java libraries. This option may be suitable for companies that develop or modify their DBMS-server middleware and app-server, but it's vulnerable to failures to conform to the multi-tenant model.
What in a case when Java is not the middleware platform? The middleware virtualization can still be achieved and established by migrating middleware into the hypervisor. It is already being performed with some data path acceleration software, but so far it has been somewhat a one-time occurring activity without a single guiding framework. One more style to approach this goal is to use a soft form of virtualization, not based on VMs but on OS containers. Roughly, the same level of tenant component isolation—with some limitation for services on the host OS—can be provided as the Java virtualization approaches.
Middleware as a Service
Further, there exists a more general approach in which a set of service APIs represent the middleware service to applications, which would call these APIs as needed—Middleware as a Service (MaaS). If your applications are being built or rebuilt, MaaS is easiest to apply in that case because of its essential middleware services is packaged to be multi-tenant in implementation. However, it still might be necessary for organizations to adopt other middleware virtualization techniques to enable efficient horizontal scaling of MaaS components in the system. Also, building applications based on the notion of MaaS can be more complicated, experts suggest.
For a similar approach, Oracle has built the virtual appliance using its Virtual Assembly Builder. The tool captures the configuration of applications and then packages them into a deployable unit. This method simplifies the deployment of applications built in part with middleware.
Big players (Vendors) in the market—such as IBM, Microsoft, and Oracle—have their own middleware stacks and strategies for virtualization. While dealing with other mid-level or local vendors, it is advisable to learn their capabilities in middleware virtualization. Hypervisors and OS vendors may have specific tools as an ingredient to their strategy.
Middleware virtualization will be playing a significant role in enabling new and existing application in this cloud era. The next challenge is to simplify the way people design and deploy applications in the cloud and execute it without a hitch.