If you want to run a legacy application in a private cloud environment, it likely won’t take any major programming changes. If you want to migrate to a public cloud, however, it almost definitely will.
That’s because all of the major cloud providers have restrictions on what programmers can and can’t do. For example, Google Apps Engine only allows certain Java classes. In addition, each platform requires a unique datastore and uses a unique API.
As a result, Dr. Dobb’s recommends, “If considering using the public cloud, therefore, run extensive pilots before committing to a platform. Know your platform’s limitations and costs intimately before making it the basis of an important app. You’re likely to be residing there a long time.”