In general, cloud computing fits modern web architectures very well, by which I mean any app built to support a web browser client. These applications are "cloud-ready" and require little effort to move to a public or private cloud.
In general, any application not build to support a web browser client is going to be problematic to move into the cloud. These applications often rely on technologies that are not readily available in the cloud, such as multi-cast.
The decision to cloud or not to cloud is not a binary decision made at the data center level. Instead, it is a more nuanced decision made at the app level.
Similarly, the decision to go public cloud or private cloud is a decision made at the app level.
At the margin, be governed by Cote's Rule of Cloud Migration: If it ain’t broke, don’t cloud it!