Virtualization of resources is the ability of an enterprise to pool together resources which are normally kept separate to accommodate the peaks and valleys of business demand. Virtualization of resources is one of the foundational principles upon which the dynamic operations environment is built.
Normally, both applications and Java 2 Platform, Enterprise Edition (J2EE) resources are statically bound to a specific server. Some of these applications experience periodic and ephemeral spikes in load. Obviously, the most costly time for an application to become unavailable is during a period of high demand. To avoid doing so, enterprises currently must build their IT infrastructures to be able to accommodate these peaks in demand. It follows that during periods of normal load (a significant part of the time), a large percentage of computing capacity goes unused, thereby making inefficient use of IT investments.
Within a virtualized environment, management processes become more repeatable and less error prone. A virtualized application can more easily be provisioned. Also, a virtualized environment allows for management services to be automated and operational policies to be implemented. This architecture facilitates dynamic reallocation of resources based on shifting distributions of load amongst applications in a given WebSphere Application Server deployment. Intrinsically, Extended Deployment's virtualized environment is aligned with a do more with less theory. More applications can be run than would be possible in a static configuration, and the applications and configurations can be dynamically changed as well.
Detaching applications from static bound locations
Furthermore, applications are loosely defined at best. They often span multiple enterprise archives (.ear files), and are not comprehensively defined such that they are portable within environments. They rely on information found in the server to which they are deployed. Therefore, in order to implement the on demand environment, applications and the required resources must be precisely defined to become mobile, so that they can move from machine to machine as required. These crisp, precise definitions of applications and resources help clarify the administrator's view of system events.
The virtualized WebSphere application environment loosens the coupling between applications/resources and WebSphere Application Server instances. Rather than statically binding applications and resources to application servers or clusters, each 'application solution' is deployed into a dynamic cluster of WebSphere Application Server instances. An application solution is a self-sufficient mixture of application code and its associated resource information. A dynamic cluster is associated with a node group.
Once the application server has evolved to the point where applications are completely mobile, the placement of applications is determined by operational policies you define. The work is then routed to the application by an intelligent workload manager. This virtualization makes it easier for applications to be moved around, and simplifies the deployment of applications as they move from test to production. Generally, the removal of required configurations that tie applications to machines reduces the overall complexity and provides for a better, more usable environment.
In WebSphere Extended Deployment, the relationship between applications and the nodes where they can run is expressed in terms of node groups. It should be noted that in WebSphere Extended Deployment Version 5.1 only disjoint node groups are supported. In concrete terms, a node group is nothing more than a set of machines. In a more abstract sense, a node group is a pool of machines with some common set of capabilities and properties. For example, connectivity to a given network, or the capability to connect to a certain type of database. Such characteristics of a given node group in WebSphere Extended Deployment are not explicitly defined. Rather, node group attributes are purely implicit in WebSphere Extended Deployment.