  Building high quality cloud applications becomes an urgently required
research problem. Nonfunctional performance of cloud services is usually
described by quality-of-service (QoS). In cloud applications, cloud services
are invoked remotely by internet connections. The QoS Ranking of cloud services
for a user cannot be transferred directly to another user, since the locations
of the cloud applications are quite different. Personalized QoS Ranking is
required to evaluate all candidate services at the user - side but it is
impractical in reality. To get QoS values, the service candidates are usually
required and it is very expensive. To avoid time consuming and expensive
realworld service invocations, this paper proposes a CloudRank framework which
predicts the QoS ranking directly without predicting the corresponding QoS
values. This framework provides an accurate ranking but the QoS values are same
in both algorithms so, an optimal VM allocation policy is used to improve the
QoS performance of cloud services and it also provides better ranking accuracy
than CloudRank2 algorithm.
