An IEEE panel of experts tries to answer this and other questions
The organizers of the Third IEEE International Conference on Autonomic Computing (ICAC2006) organized a panel to discuss the feasibility of constructing an effective multivendor autonomic computing system. The panel was posed these questions:
- "What does an autonomic computing system mean to you and your organization and research? How do you sell this idea to your customers or immediate research community?"
- "What key technologies are necessary to establish multivendor autonomic computing systems? How far away are we from realizing these technologies -- or do they already exist?"
- "What key barriers -- political, economic, or social -- might prevent the use of autonomic computing systems in real-world business or scientific applications? How do you think these can be overcome?"
- Steve White of IBM Research;
- Jose Fortes of the University of Florida;
- Kumar Goswami of HP Labs;
- Julie McCann of Imperial College, London; and
- Mazin Yousif of Intel Research;
concurred on these points:
- Autonomic systems are already in place to a limited extent -- this exists mainly at the subsystems level.
- The key to faster adoption is to learn what autonomic computing means to customers and researchers in order to build more trust in autonomic computing capabilities.
- Interoperability is a critical requirement at all levels of implementation.
- Virtualization is a critical requirement, too: The various approaches to virtualization must be reconciled. (For an example of IBM virtualization, see what the company is doing for the US Open -- Editor.)
- Following and extending existing infrastructure standards instead of ginning up new ones would help with the adoption effort.
- Being able to focus attention on the application scenarios most suited to autonomic computing (like data centers and grid applications) would also aid adoption.
- Autonomic computing already exists -- you can see the efforts in large-scale IT systems admin; in any environment in which software and hardware components have increased in complexity.
- For the next level of autonomic computing, we need to focus on laying a framework that supports software engineering approaches aimed at designing complex, large-scale systems.
The panel had this to say on the following concepts.
Do multivendor autonomic computing systems exist?
Enterprise IT systems are already multivendor, especially if you consider both desktop and server-based applications. Plus, there's a growing trend toward multivendor outsourcing of such areas as networking, databases, servers, storage systems -- while these may not be outsourced to the same service providers, many of these individual subsystems have requirements for autonomic behavior. (Steve White)
Current systems fall far short of being autonomic because the subsystems aren’t interoperable across system tiers and vendors. It will be necessary to deploy autonomic system ideas in the context of such existing IT ecosystems. (White)
Why autonomic systems?
The strongest motivation for implementing autonomic computing systems is to be able to effectively address the complexity of managing system components. Web Services Distributed Management (WSDM) will need to be extended to give self-managing resources QoS-based interfaces. There also needs to be an effort to automate the steps of end-to-end IT processes. (White)
An autonomic system shouldn’t be just a static resource manager or optimizer -- it should engage in a braoder perspective by trying to define aspects of an autonomic computing architecture. It would also be easier to reach interoperability if such an architecture decoupled autonomic components from the functional components. (Julie McCann)
Advocate a service-oriented architecture with self-describing services as the basic unit of modularity. Formal models that are complete with a description of intermodule dependencies are an essential component of autonomic computing systems. Also key to the success of autonomic computing is the development of the full life cycle of real-time monitoring, the analytic processes that translate the raw monitored data in higher-level system-state descriptions, and algorithms to determine and execute the appropriate actions -- machine learning will play an important role in this development. (Kumar Goswami)
Systems (as described by Goswami) must include descriptions for other aspects of the environment, such as the business, workloads, and workflows. (Mazin Yousif)
They all agreed that the business benefits of developing autonomic computing systems must be emphasized for the idea to increase its adoption rate; for example, streamlining data-center management would allow sysadmins to manage more servers.
Enabling adoption of autonomic systems
The group agreed that managing user expectations is and will always be important to garnering wider adoption of autonomic computing systems. In the context of data centers, they championed the need for better policies to synchronize business and IT metrics. They also recognized the importance of standards (that they play a leading role in supporting multivendor interaction between autonomic components) and that standards could be considered at different levels of the software stack:
- Web services standards (such as WSDM and WS-Transfer),
- standards for defining policies (WS-Policy, for instance), and
- standards for capturing resource information (Common Information Model and Job Submission Description Language).
The panel also saw the need for tools that let application and component developers define autonomic capability.
Trust was an issue. Not just users' trust of autonomic computing systems, but the trust autonomic services must have in one another's capabilities. Services have to be able to tolerate fuzziness among different semantic mappings since it is unlikely that a common lingua franca will arise. (Except for the emerging logfile standard, Common Base Event -- Editor.) Coping with fuzziness requires negotiation between service requesters and providers. (McCann)
A wide net should be cast when identifying areas that could benefit from standardization, such as the types of probes needed for monitoring (what data, when, and how often), the types of events generated in the system (which ones and when), and the actions the system performs (what they would be and how to define them). (McCann) As a caveat, it was noted that the Web services stack has a large number of existing specification, so it is important to winnow out the standards that are not relevant to implement a multivendor autonomic computing system. (Yousif)
Autonomic computing is already a valuable component of dynamic data centers. Why? Because data-center planners understand that it can improve the management of service-level agreements and make admin that much easier, even if you're working with an already built system. (Yousif)
The importance of virtualization
The panelists recognized the importance of virtualization and summed it up in this definition:
Virtualization: A means to aggregate computational and data resources and enable multiple viewpoints on these resources to coexist; an abstraction for a more uniform access mechanism to resources.The intention in the second definition meaning would be to let multiple vendors share the same abstraction but implement that abstraction in different ways, maybe even with different specializations.
Fortes noted that such virtualization could benefit from current related grid research.
Barriers to deploying autonomic computing systems
The person factor (a part of the trust concept) could be a key barrier to adoption -- taking control from a sysadmin without first making sure he's comfortable with the reliability of the system. Fear of losing one's job to automation should not be taken lightly. (Goswami)
Another barrier to watch for is the lack of interoperability between systems, such as the fact that it is still difficult to exchange data seamlessly between system components from varied vendors due to the differences in information models and schemas. (Yousif) This "semantic stack" (low-level routers and server, intermediate-level operating environments, application data) is hard to standardize because it covers lots of different computing aspects. (McCann)
Thanks to Omer F. Rana, Cardiff School of Computer Science and Welsh eScience Center, Jeffrey O. Kephart, IBM TJ Watson Research Center, and the organizers of the Third IEEE International Conference on Autonomic Computing (ICAC2006), for this report.