Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top
  1. Is there any standards for cloud computing platforms?
  2. How is a normal windows platform different from the cloud platform that microsoft provides ( azure)
  3. How do I write applications that are portable across cloud platforms?

    Like say there is a cloud platform and I develop a particular application for that cloud platform. Later I decide to move this application to cloud another platform. In case there are typical cloud platform standards then easily the application can be transferred across platforms.

share|improve this question

There's no standard for the definition of "cloud," let alone standards across providers. Most are based on some kind of virtualization and while you can jump some hoops to get, say, VMWare images to run on Virtualbox (just an example) there isn't a way to just sweep it over.

Your best bet is to have an application based on a web server then make it mostly agnostic to the platform. Then you just have to worry about configuring a new virtual machine and web server and migrate your application from there. As far as I know (and others will correct me if I'm wrong, no doubt) you can't just plunk an Amazon-hosted system into a Microsoft "cloud platform" and expect it to work.

Right now "Cloud" is just a marketing meme for users to buy into as something magical. "Yay cloud!"

share|improve this answer
Actually, if your system uses tomcat for example and you chose to run it on a windows ec2 machine, you can move it to Azure later. You could also use Cloudify to automate this transition, since it supports both windows ec2 images and Azure. – Itai Frenkel May 31 '12 at 19:34

So it depends on the platform.

For Platform as a Service - Cloud where you supply your own code - you can typically write that in Java, or RoR, or $language_du_jour and a number of Cloud Providers can run that (think OpenShift, Heroku, CloudFoundry)

For Infrastructure as a Service - you can ensure portability by using configuration management tools like Chef and Puppet - in such a situation the underlying virtualization platform stops being an issue, the OS itself is your platform and config management makes movement among different providers relatively trivial

share|improve this answer

As others point out, there is no standard definition of cloud, however there is a de facto standard that has been established by the successes of Amazon Web Services for at least the PaaS portion of cloud. To the degree that you care about just the AWS APIs and want to write your services in a hopefully portable way, then you should consider using Boto for writing your software and using OpenStack, OpenNebula, and/or Eucalyptus to implement your services.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.