Defining true cloud-enabled software

It is safe to say that any of the software-as-a-service (SaaS) providers that have built a sizable business for themselves are now repositioning as “cloud computing” providers. Now, the cloud offers a lot of benefits, especially in the traditional sense of computing (heavy data oriented operations that suck all the power from processors). But in the software world, the cloud is more of an application delivery and data storage model than a compute power resource.

In this evolution from SaaS to cloud computing, there is a danger that some of the lock-in strategies employed by SaaS vendors might carry over into the cloud world. This is dangerous, as end users lose out on a lot of the promise of cloud computing if this is the case. True cloud applications should be designed with several factors in mind, namely: portability, interoperability and being based on a strong cloud platform.

When I say true cloud offerings must be “portable,” I mean that users can deploy a piece of software in one data center. But if the user’s needs change, they can simply take a snapshot of their application and data and move it to another set of servers, either their own or a third party such as Amazon or Rackspace.  

Also, more open, portable cloud models allow partners to get in on the action, creating multiple flavors of cloud-based versions of the same software – aimed at vertical or geographic markets for instance. This increase choice and performance for end users, as regional cloud providers trump performance of a single SaaS data center serving a global customer base.

The interoperability issue is simple. The preeminent cloud offerings will be based on open industry standards – not proprietary tools and languages. This will allow developers and VARs to create a cloud integration network that is less complex and easier to manage over time. Take Twitter for example – its highly accessible open APIs have made it easier for many products to integrate with Twitter – all in the cloud and in real time.

For cloud offerings to gain a true following in the developer world, they have to offer more than simple application features on-demand. More and more cloud providers are building their tools on very flexible standards-based platforms. These platforms can be leveraged by developers to build commercial or personal extensions to core products like CRM systems – all without having any actual software on a development server in-house. These new creations can be shared, or sold through the cloud, again without any tools or servers being used directly by developers.

We are still at the forefront of where cloud computing will take us. But with more open, standards-based cloud platforms, it could be sunny skies for cloud-based development going forward.

Related Posts