Cloud Resource Management Optimization: Taxonomy and Research Challenges