A decentralized self-adaptation mechanism for service-based applications in the cloud