Image via Wikipedia
Friday, I wrote about the shutdown of PaaS vendor, Coghead, and wondered how one can minimize the risks involved with such scenarios. Unless we figure out a way to minimize such risks, it will be impossible to convince enterprise customers to trust their applications on top of PaaS.
Let us take a detour and check out some of the players in the PaaS space. Google App Engine has become the torch bearer for PaaS offerings. The initial hype surrounding the release of Google App Engine saw a surge in applications built on top of it. Most of the applications were built by individual developers wanting to test the platform and there are also startups with their apps on top of Google App Engine. It is also easy to develop facebook apps and host it on Google App Engine. However, there are no serious enterprise users on Google App Engine till date.
Force.com is another PaaS provider who has had some traction with businesses of varying sizes. There are some success
stories involving mid level companies and ISVs. Also, Google and Salesforce.com forged a partnership that allowed apps built on top of Google App Engine to access some web services from the Force.com platform. Then, there is Bungee Labs with their own proprietary language to develop applications on their platform. After the initial buzz, I haven’t heard much from them. The Heroku Ruby on Rails PaaS vendor, after a successful beta with 20K apps, is getting ready to launch their commercial offering pretty soon. Add to this, the PaaS vendors with Open Source stack like Longjump, 10Gen, MorphLabs, etc. and we have a crowded PaaS space.
Since we have moved beyond the hype phase in PaaS and with stories like Coghead are starting to come, it is time to sit back and understand how we can minimize the risks while selecting a PaaS vendor. In the case of Coghead customers, there are a few vendors like Intuit, Caspio, Zoho (exclusive sponsor of this blog) and Wolf Frameworks who offered help, including technical support by their engineers to migrate data and applications to their platforms. However, it may not be possible to get such a bailout everytime a PaaS vendor goes down.
This brings into focus the strategies one should take to minimize risks in the event of a PaaS vendor shutting their doors to business. Reliance on a proprietary platforms is suicidal as it will lead to a complete lock-in with no escape route or, as in some cases, an expensive migration. There are some companies like Zoho who offer a way to port the applications to another provider like Google App Engine. However, this doesn’t work always due to the limitations inherent to the porting process and, also, due to other incompatibilities between the two platforms. Then, there are vendors, like Rollbase, who offer complete source code with their license and, also, integration services. Such a source code availability will help provided the licensing terms are liberal enough to allow customers to take it to other cloud infrastructure providers. If the license doesn’t allow any modifications of code, there are risks of incompatibility with certain infrastructure platforms.
The only way to break free of any such risks is to go with a vendor who also offer the source code of their platform under one of the OSI approved licenses so that it can be hosted on any cloud infrastructure with the necessary modifications. People might try to convince you that Open Source has no role in the Cloud based world but the converse is actually true. Open Source becomes all the more important in this new era of computing, playing major roles in IaaS (think Eucalyptus),
PaaS (think Reasonably Smart or Google App Engine SDK ported to EC2) and SaaS (think WordPress). If a vendor offers their Cloud offering under an Open Source license, the customers will not be in a jeopardy in the event of the vendor vanishing one day. They can just take the source code to another cloud infrastructure and host it there. In the case of PaaS, both the application and data are safe with the availability of source code in an Open Source license.
As a PaaS user, it is important for you to take all these options into consideration before investing the time and resources developing apps. It becomes all the more important before we can convince enterprises to move to PaaS.