The rapid growth of published cloud services in the Internet makes the service selection and recommendation a challenging task for both users and service providers. Services' QoS properties such as response time and throughput are often used to select the best of functionally equivalent services. In cloud environment, software services collaborate with other complementary services to provide complete solutions to end users. The service selection is done based on QoS requirements submitted by end users. Software providers alone cannot guarantee users' QoS requirements. These requirements must be end-to-end, representing all collaborating services in a solution. In this paper, we propose an end-to-end QoS prediction model for vertically composed services which are composed of three types of cloud services: software (SaaS), infrastructure (IaaS) and data (DaaS). It exploits historical QoS values and cloud services and users information to predict unknown end-to-end QoS values of composite services. The experiments demonstrate that our proposed model outperforms other prediction models in terms of the prediction accuracy. We also study the impact of different parameters on the prediction results. In the experiments, we used real cloud services' QoS data collected using our developed QoS monitoring and collecting system.