What is meant by the term autonomic computing?
Autonomic computing refers to the self-managing characteristics of distributed computing resources, adapting to unpredictable changes while hiding intrinsic complexity to operators and users.
Initiated by IBM in 2001, this initiative ultimately aimed to develop computer systems capable of self-management, to overcome the rapidly growing complexity of computing systems management, and to reduce the barrier that complexity poses to further growth.
What are the 4 areas of autonomic computing?
There are four areas or characteristics of Autonomic Computing as defined by IBM. These are as follows:
The system must be able to configure itself automatically according to the changes in its environment. It should be able to add new components, configure its components, get rid of old or faulty components, and reconfigure them by own its own, without needing human interference or intervention (or with very little human assistance).
IBM mentions that an autonomic system must have property by which it must be able to repair itself from errors and also route the functions away from trouble whenever they are encountered. It should have the ability to identify faulty components, diagnose them using a corrective mechanism, and heal itself without damaging or harming any other components of the system.
According to IBM an autonomic system must be able to perform in an optimized manner and ensure that it follows an efficient algorithm for all computing operations. This capability is also known as the self adjusting or self tuning property of an autonomous system. Resource utilization and workload management both happen to be aspects of these characteristics.
IBM states that an autonomic system must be able to perform detection, identification, and protection from security and system attacks so that systems’ security and integrity remain intact. Autonomic systems have the ability to detect hostile behaviours and then take several types of corrective actions and measures to protect themselves from any sort of attack.
What's the autonomic computing architecture?
The AC architecture comprises attributes that allow self-management, according to various vendors by involving control loops.
- Control loops: A resource provider provides control loops. It is embedded in the runtime environment. It is configured using a manageability interface that is provided for every resource e.g. hard drive.
- Managed Elements: The managed element is a component of the controlled system. It can be hardware as well as a software resource. Sensors and effectors are used to control the managed element.
- Sensors: This contains information about the state and any changes in the state of elements of the autonomic system.
- Effectors: These are commands or application programming interfaces (API) that are used to change the states of an element.
- Autonomic Manager: This is used to make sure that the control loops are implemented. This divides the loop into 4 parts for its functioning. These parts are monitor, analyze, plan, and execute.
What are the benefits of autonomic computing?
The key advantage of autonomic computing is decreased Total Cost of Ownership. Breakdowns would be less common with significantly lowering maintenance costs. A very few staff members will be required to operate the networks. The benefit of autonomic computing will be reduced in maintenance cost, deployment, time, and increased stability of IT systems through automation.
Another advantage of this technology is that it provides data consolidation to optimize system capacity and minimizes expense and human activity to maintain massive server farms.
How does autonomic computing benefit cloud computing?
Autonomic computing is widely used in cloud computing environments because it brings self-monitoring, self-repairing, and self-optimizing capabilities that improve the whole performance of the cloud system. Even though autonomic computing can be used in pretty much any environment, it has shown the ability to bring unmatched levels of performance improvement in the cloud environments because of it’s dynamism, scalability, and complex behavior.
What is the goal of autonomic computing?
The main goal of autonomic computing is to have computer and software systems that have the ability to manage themselves with little or no human interaction or intervention. An autonomic system is a system that can adapt to changes, which can be triggered by a change in the system’s own state (e.g., failure) or the state of its environment (e.g., external events). Accordingly, an autonomic system requires sensing mechanisms to sense changes (sensors), reaction mechanisms to respond to changes whwhen they happen (effectors), and a decision making engine (autonomic manager) to make the correct assessment. An autonomic system satisfies one or all autonomic self-∗ (read as self-star) properties, where self-∗ can be one of the following: self-configuring, self-healing, self-optimizing, and self-protecting.
What is an example of autonomic computing?
The concept of autonomic computing is based on autonomic systems found in nature. Examples of such systems include the autonomic nervous system of humans and the self-regulation of colonial insects such as bees and ants. In an autonomic system, the behaviors of individual components lead to higher-order self-maintenance properties of the group as a whole.
Where self-stabilization is the ability to return to a stable state after a change in configuration. Self-healing is the ability to recover from external damage or internal errors. Self-organization, the ability to organize component parts and processes toward a goal, and self-protection is the ability to combat external threats to operation; and self-optimization, the ability to manage all resources and components to optimize operation.