A hybrid heuristic algorithm for optimising SLA satisfaction in cloud computing