Friday, December 25, 2009

1.5 Management Disciplines




Ru-Brd









1.5 Management Disciplines


The management disciplines emerged to support the application lifecycle outlined in the preceding section. The five management disciplines are distribute, install, configure, monitor, and control. All management applications will support at least some of these disciplines. Few support all of them. In Section 1.8 we will look at the management applications that have been developed to support these disciplines.


1.5.1 Distribute


The distribute discipline, also known as deploy, emerged to provide a scalable solution to the distribute, configure, and maintain lifecycle phases. Management applications that support the distribute discipline support moving the files that make up a product or application from a centralized "source" system to a set of distributed "target" systems (see Figure 1.5). The set of target systems may number in the tens of thousands. The software being distributed may be operating systems, products, applications, maintenance, new versions of installed software, or configuration updates. The distribution can be scheduled to occur at any time to minimize the impact on existing resource utilization.


Figure 1.5. A Software Distribution System



Most management applications that support the distribute discipline allow scheduling and also manage initial installations. Many also handle the distribution and installation of upgrades and maintenance.



1.5.2 Install


The install discipline emerged to provide a scalable solution to the install and maintain lifecycle phases. Management applications that support the install discipline customize initial configuration files, update system files, and run installation programs for initial installation of resources, as well as maintenance installation for those same resources. Before they install any resources, they perform dependency checking. Dependency checking ensures that any software or resources that the installation requires are available. Dependency checking may include checking product versions, physical resources, and maintenance levels. For example, to install IBM's WebSphere 4.0,[43] 250MB of disk space must be available, DB2 7.1 fp2a must be installed, and the Windows NT operating system must be at maintenance level SP4. Installations can be scheduled for one or more products and coordinated across a set of systems.



1.5.3 Configure


Applications may potentially be configured during the install, start, execute, or update lifecycle phases. More specifically, configuration can be done at any of these configuration points:



  • Pre-installation.
    Before the install phase, configuration changes may be needed to prepare the resource or target system for a new installation.



  • During installation.
    During the install phase, configuration changes may be required to respond to installation processes.



  • Post-installation.
    After the install phase, configuration changes may be required to customize the resource for the specific target systems and application needs.



  • Pre-execution.
    Before the execute phase, configuration changes may be required to customize the resource for this particular run.



  • During execution.
    During the execute phase, configuration changes may be required to tune or correct failures in the running application.




Configuration before or during the execute phase can happen multiple times on every iteration of the lifecycle.


The configure discipline emerged to provide a scalable solution to this repetitious task, like updating a single parameter in a configuration file on 40 systems (see Figure 1.6). Management applications that support the configure discipline may customize the configuration of resources during any of these configuration points.


Figure 1.6. Large-Scale Configuration Change: Adding a MIME Type to a Web Server Farm



We can change the configuration by updating a file or using configuration APIs supplied by the resource developer. File-based configuration changes�that is, static reconfiguration�usually requires that the application be stopped to make the changes or restarted for them to take effect. API-based configuration changes�termed dynamic reconfiguration�usually take effect as soon as the changes have been made. Some of the more advanced configuration systems support the definition and application of policy to drive the configuration values or the configuration distribution and application to a set of target systems.



1.5.4 Monitor


The monitor discipline emerged to provide a scalable solution to the monitor lifecycle phase. Management applications that support the monitor discipline maintain knowledge of the current status of a computer resource, both hardware and software. If the status is unacceptable at any point, the management system notifies operations staff via a management console (see Figure 1.7) or correlation and automation software. The monitoring application gets its status in a variety of ways:



  • Polling application metrics


  • Polling operating system metrics


  • Polling software logs


  • Receiving unsolicited events from the software or system


  • Receiving unsolicited status events from a peer management system



Figure 1.7. Status Console



The resource developer must define, maintain, and expose metric information through logs, events, commands, or APIs for the management system to monitor and interpret.



1.5.5 Control


The control discipline emerged to provide a scalable solution to the execute, operate, stop, and update lifecycle phases. Management applications that support the control discipline give computer operations and administration staff a user interface for controlling the execution of systems alone or in groups. They are used to change the way the resource is executing in order to prevent it from failing, to change the current state of the software (start or stop it), or to make the current configured software more efficient. A series of operations can be scripted together and scheduled to execute to sets of target systems. Control is different from configure in that configuration changes are preserved between phases throughout the lifecycle of the resource, even between two instances of a resource. Control causes an immediate change in the current state of the resource, but the change does not last over iterations of the resource.


JMX is applicable to the configure, monitor, and control disciplines. In the next section we will examine the kind of support a managed resource needs to include to be managed by management applications that support these disciplines.









    Ru-Brd



    No comments: