App Development: New Rules for a New Game, Part 3
Jul 1, 2010 5:00 AM PT
Application development in the cloud requires special data models such as schema-less and sometimes typeless databases, and that could lead to a new battleground in which the major players such as Microsoft, IBM and HP will come out with their own data models and back-end platforms.
"All the cloud infrastructure players have various data engines behind the scenes," Al Hilwa, program director of applications development software at IDC, told TechNewsWorld. "Some are SQL and some are not, and these are not all compatible."
That might lead to a problem with which IT is all too familiar and one that cloud computing promised to resolve: Vendor tie-in. Enterprises that develop apps in one cloud provider's infrastructure may not be able to move to another provider because of the lack of mobility.
Why Not Pick Up and Go?
In one sense of the term, "mobile apps" means applications that can be easily taken between clouds: Apps are mobile when they can be migrated from one environment to another without modification, recompiling or recoding.
The mobility of an application deployed on a Platform as a Service (PaaS) such as VMforce, which is being jointly offered by Salesforce.com and VMware, is limited for two reasons. First, the applications are specifically written for that platform. Second, infrastructure providers offer proprietary platform services such as those for data and email.
Take Salesforce.com's Chatter collaboration app, which is offered with VMforce, for example -- or the Google App Engine's data store and email services, which are also proprietary. Once users employ any of these services, which they'll have to, they'll be locked into that platform.
Google announced Google App Engine for Business in May and said it was teaming up with VMware "to make it easier for companies to build rich Web apps and deploy them to the cloud of their choice or on-premise." Like VMforce, the Google App Engine leverages SpringSource.
Infrastructure vendors will seek lock-in to ensure a secure base of customers; however, many clients would prefer to avoid it.
Cutting the Apron Strings
"As the cloud becomes more important, demands for interoperability and data portability will only increase," John Newton, chairman and chief technology officer of Alfresco, told TechNewsWorld.
"Google is already starting this battle by claiming to have data portability," Newton said, referring to the Google App Engine for Business. "Certainly open APIs are an aspect of this."
API stands for application programming interface. But what is data portability? How does it differ from data mobility?
About Data Portability
Data portability means data can be reused across interoperable applications. The concept is often associated with open standards. Unlike data mobility, portability allows for cross-platform deployment and may include recompilation or recoding of the application.
While there is currently no data portability among different cloud environments, things will change over time, IDC's Hilwa said.
"As the cloud platforms mature, standards efforts will begin, mainly in response to large end-user organizations, which will require portability," Hilwa explained. "Further, other vendors that provide portability layers will begin to emerge."
OASIS, the Organization for the Advancement of Structured Information Standards, already offers a content management standard that provides data portability from existing on-premise content management systems and repositories, Alfresco's Newton pointed out. It makes an "excellent" cloud API, he said.
This OASIS standard, CMIS (Content Management Interoperability Services), is stateless and Internet-oriented, Newton said. One version is based on the Atom Publishing Internet standard, which is the basis for most of Google's APIs, he added.
"CMIS is one standard that's addressing vendor tie-in, and I think it's a good working model for how interoperability can be addressed," Newton opined. "What's needed now are open tools for data, content stores and storage. We need a NOSQL query language and have to update our semantics."
Getting Back to Basics
However, the real question is, will developers move to the cloud, and if they do so, do they have the tools to create apps in the cloud?
"Development in the cloud is somewhat rare because integrated development environments have to be extremely rich and responsive to be useful," IDC's Hilwa pointed out.
"Further, programmers have typically hesitated to put their source code in the cloud, largely due to sensitivity to intellectual property concerns," he said.