The expansion of Internet of Things (IoT) services and the huge amount of data generated by different sensors signify the importance of cloud computing services such as Storage as a Service more than ever. IoT traffic imposes such extra constraints on the cloud storage service as sensor data preprocessing capability and load-balancing between data centers and servers in each data center. Furthermore, service allocation should be allegiant to the quality of service (QoS). In the current work, an algorithm is proposed that addresses the QoS in storage service allocation. The proposed hybrid multi-objective water cycle and grey wolf optimizer (MWG) considers different QoS objectives (e.g., energy, processing time, transmission time, and load balancing) in both the fog and cloud Layers, which were not addressed altogether. The MATLAB script is used to simulate and implement our algorithms, and services of different servers, e.g., Amazon, Dropbox, Google Drive, etc., are considered. The MWG has 7%, 13%, and 25% improvement, respectively, in comparison with multi-objective water cycle algorithm (MOWCA), k-means based GA (KGA), and non-dominated sorting genetic algorithm (NSGAII) in metric of spacing. Moreover, the MWG has 4%, 4.7%, and 7.3% optimization in metric of quality in comparison to MOWCA, KGA, and NSGAII, respectively. The new hybrid algorithm, MWG, not only yielded to the consideration of three objectives in service selection but also improved the performance compared to the works that considered one or two objective(s). The overall optimization shows that the MWG algorithm has 7.8%, 17%, and 21.6% better performance than MOWCA, KGA, and NSGAII in the obtained best result by considering different objectives, respectively.