Nowadays, the range of cloud services offered by cloud providers varies sharply and poses a challenge for cloud consumers aiming for the most cost-effective and compliant solutions, especially when operating highly scalable microservice architectures. A remedy can be provided by a cloud brokerage intelligent mechanism selecting cloud services across multiple clouds on behalf of consumers by considering individual goals and requirements. In this paper, we present the Cloud Service Purchasing Problem (CSPP) which aims to minimize costs while incorporating specific consumer and application task requirements. To solve this problem, we propose a mixed-integer programming model and two large neighborhood search approaches. Using well-defined problem instances incorporating data from real cloud providers, we conduct several computational experiments to evaluate the performance of the proposed algorithms. They exhibit a competitive performance providing solutions for all scenarios within short computational times. Finally, the significance of this problem and decision support approaches is analyzed by comparing usage patterns with respect to different nowadays cloud providers and offered virtual machine types for various scenarios.