An autonomic computing system can be organized into layers and parts. These parts are connected using enterprise
service bus patterns that allow the components to collaborate using standard mechanisms such as Web services. The
enterprise service bus integrates the various building blocks, which includes:
-
Touchpoints for managed resources
-
Knowledge sources
-
Autonomic managers
-
Manual managers
The lowest layer contains the system components, or managed resources, that make up the IT infrastructure. These
managed resources can be any type of resource (hardware or software) and might have embedded self-managing attributes.
The next layer incorporates consistent, standard manageability interfaces for accessing and controlling the managed
resources. These standard interfaces are delivered through a touchpoint. Layers three and four automate some
portion of the IT process using an autonomic manager. A particular resource might have one or more touchpoint
autonomic managers, each implementing a relevant control loop. Layer four contains autonomic managers that
orchestrate other autonomic managers. It is these orchestrating autonomic managers that deliver the system-wide
autonomic capability by incorporating control loops that have the broadest view of the overall IT infrastructure. The
top layer illustrates a manual manager that provides a common system management interface for the IT professional using
an integrated solutions console. The various manual and autonomic manager layers can obtain and share knowledge through
knowledge sources.
Managed resource
A managed resource is a hardware or software component that can be managed. A managed resource could be a server,
storage unit, database, application server, service, application, or other entity. A managed resource might contain its
own embedded self-management control loop, in addition to other autonomic managers that might be packaged with a
managed resource.
Intelligent control loops can be embedded in the run-time environment of a managed resource. These embedded control
loops are one way to offer self-managing autonomic capability. The details of these embedded control loops can
possibly be externally visible. The control loop might be deeply embedded in a resource so that it is not visible
through the manageability interface. When any of the details for the control loop are visible, the control loop is
configured through the manageability interface that is provided for that resource.
Touchpoints
A touchpoint is an autonomic computing system building block that implements sensor and effector behavior
for one or more of a managed resource's manageability mechanisms. It also provides a standard manageability interface.
Deployed managed resources are accessed and controlled through these manageability interfaces. Manageability interfaces
employ mechanisms such as log files, events, commands, application programming interfaces (APIs), and configuration
files. These mechanisms provide various ways to gather details about and change the behavior of the managed resources.
The mechanisms used to gather details are aggregated into a sensor for the managed resource, and the mechanisms used to
change the behavior of the managed resources are aggregated into an effector for the resource.
Touchpoint autonomic managers
Autonomic managers implement intelligent control loops that automate combinations of the tasks found in IT processes.
Touchpoint autonomic managers are those that work directly with the managed resources through their touchpoints. These
autonomic managers can perform various self-management tasks, so they embody different intelligent control loops.
Intelligent control loops, shown in this diagram, are a fundamental aspect of autonomic computing, and form the basis
for implementing self-managing systems:
There are four key capabilities found in these control loops:
-
Monitor – the monitor function collects the details from the managed resources, through the touchpoints, and
correlates them into symptoms that can be analyzed. The details can include topology information, metrics,
configuration property settings, and so on. This data includes information about managed resource configuration,
status, offered capacity and throughput. Some of the data is static or changes slowly, whereas other data is
dynamic, changing continuously through time. The monitor function aggregates, correlates and filters these details
until it determines a symptom which needs to be analyzed. For example, the monitor function could aggregate and
correlate the content of events received from multiple resources to determine a symptom that relates to that
particular combination of events. Logically, this symptom is passed to the analyze function.
-
Analyze – the analyze function provides the mechanisms to observe and analyze situations to determine if some
change needs to be made. For example, the requirement to enact a change might occur when the analyze function
determines that some policy is not being met. The analyze function is responsible for determining if the autonomic
manager can abide by the established policy, now and in the future. In many cases, the analyze function models
complex behavior so it can employ prediction techniques such as time-series forecasting and queuing models. These
mechanisms allow the autonomic manager to learn about the IT environment and help predict future behavior. If
changes are required, the analyze function generates a change request and logically passes that change request to
the plan function. The change request describes the modifications that the analyze component deems necessary or
desirable.
-
Plan – the plan function creates or selects a procedure to enact a desired alteration in the managed resource. The
plan function can take on many forms, ranging from a single command to a complex workflow. The plan function
generates the appropriate change plan, which represents a desired set of changes for the managed resource, and
logically passes that change plan to the execute function.
-
Execute – the execute function provides the mechanism to schedule and perform the necessary changes to the system.
Once an autonomic manager has generated a change plan that corresponds to a change request, some actions might
need to be taken to modify the state of one or more managed resources. The execute function of an autonomic manager
is responsible for carrying out the procedure that was generated by the plan function of the autonomic manager
through a series of actions. These actions are performed using the touchpoint effector interface of a managed
resource.
Autonomic managers use policies (goals or objectives) to govern the behavior of intelligent control loops. Touchpoint
autonomic managers use these policies to determine what actions should be taken for the managed resources that they
manage.
Orchestrating autonomic managers
A single touchpoint autonomic manager acting in isolation can achieve autonomic behavior only for the resources that it
manages. The self-managing autonomic capabilities delivered by touchpoint autonomic managers need to be coordinated to
deliver system-wide autonomic computing behavior. Orchestrating autonomic managers provide this coordination function.
There are two common configurations:
-
Orchestrating within a discipline – an orchestrating autonomic manager coordinates multiple touchpoint autonomic
managers of the same type.
-
Orchestrating across disciplines – an orchestrating autonomic manager coordinates touchpoint autonomic managers
that are a mixture of management types.
Manual Managers
A manual manager provides a common system management interface for the IT professional using an integrated solutions
console. Self-managing autonomic systems can use common console technology to create a consistent human-facing
interface for the autonomic managers of IT infrastructure components. As indicated earlier, autonomic capabilities in
computer systems perform tasks that IT professionals choose to delegate to the technology, according to policies. In
some cases, an administrator might choose for certain tasks to involve human intervention, and the human interaction
with the system can be enhanced using a common console framework, based on industry standards, that promotes consistent
presentation to IT professionals. The primary goal of a common console is to provide a single platform that can host
all the administrative console functions in server, software and storage products, to allow users to manage solutions
rather than managing individual components or products. Administrative console functions range from setup and
configuration to solution run-time monitoring and control.
The business value of an integrated solutions console includes reduced cost of ownership—attributable to more efficient
administration—and shorter learning curves as new products and solutions are added to the autonomic system environment.
The shorter learning curve is achieved by using standards and a Web-based presentation style. By delivering a
consistent presentation format and behavior for administrative functions across diverse products, the common console
creates a familiar user interface, reducing the need for staff to learn a different interface each time a new product
is introduced.
|