Enhancing an Autonomic Cloud Architecture with Mobile Agents