The Difference Between a Virutal Server and a Cloud Server: API (Cloud Computing)
In the classical web hosting business we are currently seeing a trend of what many are calling cloud washing: Every product gets a “Cloud” label attached. A good example is: It is not a virtual server anymore, it is now a cloud server.

If you follow the widely accepted definition of what cloud is (for instance see the wikipedia article about cloud computing) you realize that a so-called cloud server (or formerly known as a virtual server) is only by some means a cloud product. However, at least one important property of a real cloud server is missing from many so-called cloud servers: an API to program them. If you as a user can setup, start, stop, restart, terminate or clone a virtual server by using an API it might qualify as a real cloud server.

For me as a technical guy and CTO of a startup it is very important that I can program virtual - ähm - cloud servers. This allows me to use virtual machines just like any other software library and run different workloads on them. This is also the enabler for many vertical scalability solutions I am working on.

If the hoster of a cloud server product or should I better call it a provider is offering libraries for all the major programming languages (e.g., Java, Python) out there that wrap the cloud server API this is a big plus. A plain JSON, SOAP or whatsoever API is fine however wrapping these technologies in code is cumbersome and error-prone. If the hoster or provider does not offer libraries for his API some open-source projects exist that might fill this gap (e.g., JClouds).

So, for me a cloud server needs an API and a library wrapping this API for major programming languages besides many other important cloud computing properties to be a real cloud server.


This text represents my personal opinion and has nothing to do with any company I associated with.
Posted by Thomas King at 09:38 2013-07-26 | Trackbacks (0) | Comments (0)