Through open standards. Complete data centre autonomic behaviour will not be possible without agreement on some key standards and conventions, which is why IBM is pushing so hard for standardization in the IT management space that includes standard models, standard protocols, standard interfaces to resources and standard data formats.
How does autonomic computing differ or relate to operational automation efforts such as run-book automation?
Automation technologies like run-book automation are steps along the path to autonomic computing. We talk about autonomic computing as an evolutionary process and have even defined the five levels of autonomic computing. Run-book automation today is about level three. As automation becomes more mature, with capabilities being decision-based or policy-based vs. time-based or human-initiated, it will evolve to be true autonomic behaviour, which makes the IT infrastructure responsive to the business it serves via well-defined business policies and service-level agreements.
Can emerging technologies drive or enable the adoption of autonomic computing?
Yes. Virtualization and SOA are two good examples of this.
In two ways. First, they both are enablers for making autonomic computing possible. Dynamic provisioning of virtual resources, for example, is much easier than dynamic provisioning of physical resources. Likewise for SOA, the existence of a SOA infrastructure makes autonomic management at the data-center level much easier, as you can ride on that infrastructure (Web service interfaces, ESB, XML transformations) for your IT management events just like you do for business events. Second, they both bring another level of complexity to IT management. How do you monitor a virtual application if it keeps getting re-hosted on different physical machines? With more complexity comes a greater need for autonomic management.
What areas are still not quite there yet in terms of automation?
I think there is a lot of work to be done in learned behavior. We have a lot of technology now for encoding behaviors into autonomic systems -- policies, run books, workflows, CMDBs, IT process automation. But we don't have many examples of the system learning behaviors that can then be retained as knowledge. I think there is a lot of exciting work to be done here.
What inhibitors remain to autonomic computing?
I think one of our challenges is what I call the human-computer interaction of autonomic computing. We have done ethnographic studies in IBM Research on how IT operators and administrators will react to increased automation in the data centre. It has to be presented in a way that lets the human manage the rate and pace of adoption, not have it forced upon them. Part of the challenge is convincing folks that autonomic computing will allow them to do their job better, not take their job away.