Skip to main content

Reef - Management of Multi-tier Services

Virtualization and Systems Management

Goals

The Reef project addresses multi-tier services, where Web servers, application servers, DB servers etc., work together to provide an e-business service. Deploying, monitoring and maintaining these services in a healthy operational state is a labor intensive and error-prone task requiring understanding of the software dependencies, the management capabilities of the involved components, and the inter-tier relations. The primary goals are reducing the total cost of ownership in operating these services and improving the exploitation of the underlying resources for the benefit of the services. More specific goals were set for each of the deployment environments - xSeries racks and server blades (Raquarium project) and zSeries virtual Linux servers (SOALVM project).

Approach

Reef introduces a new managed entity - Application-Complex - which represents servers in a multi-tier organization, where the servers in each tier are running a different application, but they all cooperate to provide a service.
The Application-Complex abstracts the inter-relations, dependencies, deployment, and operational characteristics of its components.

The management functionality provided for the Application-Complex entity is a life-cycle management:

  • Automatic deployment (installation and configuration of the components for their role in the service).
  • Service-wide performance monitoring (defining the performance status of the service, as a whole).
  • Automatic resource allocation and configuration, providing workload management, and hardware failover support.

Reef is designed as a management framework for Application-Complexes, which are introduced as plugins, complying with the Configuration-Provider interface. The plugin provides the application-specific 'wisdom' for the Application-Complex type it supports, while the framework provides general management services, such as free resource pool management, visualization, and events management. Through the Configuration-Provider interface, the plugin defines to the framework the detailed structure of the Application-Complex (number of tiers, the application in each tier, and other required details), provides service-specific performance monitors, implements the necessary configuration actions when servers are added or removed, and may ask the framework for additional server resources.

For example, consider a 2-tier Application-Complex, which has a network dispatcher on tier 0 and multiple Web servers on tier 1. When the administrator of the framework's GUI drags a Web server from the free pool into the Web servers tier, the plugin supporting this Application-Complex type is called to perform the necessary configuration actions, which in this case might be updating the network dispatcher IP tables and provisioning the correct content on the new Web server.

Raquarium - xSeries racks and server blades environment

Raquarium is the deployment of the Reef concept in the xSeries rack-mounted servers and server blades environment. The Raquarium prototype is integrated into IBM Director, the xSeries system management tool, as an extension to the Rack Manager task. The integration of Raquarium into IBM Director provides a new view of the multi-component services and the ability to perform multi-server and multi-tier Application Complex configurations, using single drag-and-drop operations. Raquarium supports Application Complexes (called Web-Complexes) that belong to the WebSphere edge server domain. The following illustration is a Web-Complex's graphical view of Raquarium:



This view demonstrates the tier-structure visualization of the Application Complexes, along with the performance monitors, and the support of drag/drop operations on servers. In this example, the Sales Application Complex is 'non-operational' since its network dispatcher tier is not populated. The Support complex has 3 tiers - a reverse caching proxy, a network dispatcher, and a cluster of Web servers.

Raquarium is a joint Haifa–Watson research project which was started as a spin–off of the Oceano project.

SOALVM - zSeries virtual Linux servers environment

SOALVM (Service Oriented Administration of Linux/VM) is the deployment of the Reef concept in the zSeries virtual Linux servers environment, where a single zSeries mainframe with the z/VM operating system can host hundreds of Linux guest systems. In addition to the Reef goal of automated management for multi-tier services, another important goal of SOALVM is to ease the actual administration of guest Linuxes on the z/VM - a difficult task involving complex system configuration and tuning, and requiring VM expertise, which is rare today.



SOALVM provides the following specific functionality for the z/Linux environment:

  • Cloning a new Linux guest from a template directly into an Application-Complex (automatically configuring its application and role in the Application-Complex).
  • Template management (for cloning various types of Linux guests).
  • Sharing of disks/file systems between Linux guests.
  • Monitoring of related z/VM measurements.
  • Automatic resource balancing (using the VM Resource Manager) for services.
  • Inclusion of guests from multiple z/VMs in Application-Complexes (high availability).
  • Virtual routing configuration (based on z/VM guest LANs).