As we climb up the cloud layers scale, the complexity increases hence the vendor lock-in. PaaS as well as SaaS layers present stronger vendor lock-in than the IaaS layer.
Did you read the 1st part on IaaS Lock-In ? The Cloud Lock-In (Part 1): Public IaaS is Great !
The PaaS vendor releases the “cloud applications’ developers” from the need to maintain the script or the database environments. The PaaS vendor takes responsibility of aspects such as the application deployment, the big data, scalability and availability by enabling features such as multi-tenancy and cluster management. The market is dominated by PaaS offerings like Google Apps Engine, Force.com, Heroku, Xeround, MS Azure, Engine Yard, Cloud Bees, Gigaspaces, Apprenda and others.
PaaS is evolving to become the masterful approach towards “cloud software development”. When approaching PaaS, the IT organization should take in mind that there is a reasonable risk that it will quickly be tied to a single programming platform and will not be able to move its applications and data between vendors (PaaS or IaaS). One of the main key points for this discussion is the IaaS portability capability. Let’s first define these two types of a PaaS vendor:
1 - Public PaaS: The public PaaS vendor offering includes the hosting platform. The IaaS layer isn’t exposed to the PaaS customer. The customer doesn’t control the IaaS layer at all and the IaaS portability is limited only to the IaaS platforms which the PaaS vendor supports.
2 - Private PaaS: The private PaaS vendor delivers only the wrapper layer that enables the application deployment over an IaaS. The customer has full control over the IaaS including its portability.
Important Note: Currently there is a lack of good definition on that subject. You may think that there is a relation to the public or private IaaS so no ! there is no relation. The difference is that the private PaaS is a completely outsource model and build-it-yourself and it can be deployed on Public and Private IaaS.
> > > > Public PaaS: Your PaaS vendor chooses the IaaS for you
I found the following statements in an interesting debate between a MS Azure customer and an Amazon AWS customer. It was published on GigaOM this month and I find it appropriate for the PaaS lock-in discussion:
“Getting stuck in a single framework like .NET where there is only one “provider” for .NET tools can be a huge hindrance in any future decisions you make as a company. Microsoft (and Azure as default) seems to be all about lock-in. Lock-in on the operating system, lock-in on the language platform, as well as lock-in on the Azure services. Also, many companies do have to solve big compute problems that Java, unlike .NET, is well positioned for. While many larger companies don’t have to be as concerned with lock-in — this is a very scary thought for most start-ups that need a clearer longer-term cost structure.”
“Neither Microsoft nor Amazon are going away anytime soon. I would make a decision based on one thing and one thing only — bleeding edge capability and lock-in. “
> > MS Azure
These debate’s statements above brought me to search and find for more materials on MS Azure platform in regards to vendor lock-in:
“While every platform has some degree of lock-in, you should look for a partner that offers the ability to move your application into your own data center without completely re-writing it. Avoiding lock-in entirely probably isn’t possible, but making an effort to minimize it up front makes sense. “
I found this statement in the article “The benefits and risks of cloud platforms” written by David Chappel and published on the MS Azure site. I definitely don’t agree with Chappel and I think it is ridiculous (I thought alot before using this word..) to think that after investing in shifting to the cloud (not as an additional hosting), a company will consider moving back to its premise (Disclosure: `I Am OnDemand` is not sponsored by Amazon AWS or any other MS competitor. ;)). For “MS ISV” that is already locked on Microsoft platforms I can just say that the shift to the cloud might be a good point to re-think and re-plan its infrastructures including its lock-ins (I recommend to check Apprenda as an additional option to help with cloud enablement).
> > Force.com
As well as MS Azure the same strong lock-in should be mentioned when discussing Force.com, again the lack of IaaS portability capability and the “closed source” programming language and database.
“Salesforce.com bills Force.com as “The leading cloud platform for business apps.” It is definitely not for me, though. The showstopper: infrastructure portability. If I develop an application using the Apex programming language, I can only run in the Force.com “cloud” infrastructure.” Read a bit more about Force.com lock-in on Mike Gualtieri his Forrester blog post “May Force.com Not Be With You by”
> > Heroku
Understanding that “cloud apps developers” find lock-in as a major issue as well as the rising of Rubi on-Rails among those developers, led Saleforce to acquire Heroku.The Heroku PaaS supports standard interfaces for web services such as HTTP, JSON and XML. They also support open source languages such as Java, Ruby, PHPFog and databases such as PostgreSQL and MySQL. Heroku has been extended to support Java and also been integrated with Salesforce’s Database.com. Salesforce did a clever move that expands its PaaS capabilities. It is great that presenting an open source platform strengthens the company market positioning as one of the world’s cloud and PaaS giants.
> > Xeround
Another interesting player in the market is Xeround which delivers database as a service. Following my conversation with Xeround CTO, Mr. Avi Kapuya it seems that the competition is more aggressive than in the traditional world where the giant software vendors hold most of the market for run-time script and DB platforms. I asked Mr. Kapuya about Xeround lock-in and he responded that:
“Lock-in is a subject we take seriously so that customers don’t want lock-in is a basic premise. We make sure to provide our customer the flexibility by supporting MySql interface. The user can easily import his data back to his end any time straight from our site. The same way around a new user can simply upload the data to Xeround platform and continue to work with his ordinary MySql development tools”.
In regards to IaaS portability Kapuya added that:
“We consider the portability between public clouds as a service. We run our platform on several IaaS such as AWS and Rackspace and we give our customer the option to select the preferable one. Once a customer asks to move his database from Amazon AWS to Rackspace, Xeround will move the database to Rackspace, and will shutdown the Amazon database accordingly. Furthermore, our prices are derived from the IaaS vendor prices”
The IaaS portability presented by Xeround differs them from the other vendors I mentioned above. Further more I think that this is an important benefit for Xeround’s customers as they can better trust Xeround with its availability and future options in regards to cloud interoperability and federation.
What are cloud interoperability and federation? Check I Am OnDemand terminology page.
> > > > Private PaaS: IaaS at your choice
The other side of the PaaS lock-in story is the private PaaS. Private PaaS vendor provides the application’s “cloud wrapper” and solves issues such as service deployment and scalability. Those can be achieved by enabling multi-tenancy enablement, clustering management, database distribution etc. Traditional ISVs specifically can use private PaaS help with their shift to the cloud. The private PaaS can be deployed on private as well as on public IaaS.
> > Cloud Foundry by VMWare
Discussions on PaaS lock-in should include Cloud Foundry. Cloud Foundry includes SpringSource Framework, an enterprise Java programming model that VMware picked up in its August 2009 acquisition of SpringSource. On April this year VMWare announced Cloud Foundry initiative to support multiple frameworks, multiple cloud providers and multiple application services all on a cloud scale platform.
Proud on their PaaS, VMWare opened the site DeveloperRights.org and listed the cloud’s developer rights that will help avoid lock-in. I vote for the following:
“The Right to Cloud Portability - The choice of clouds shall not be infringed, today or in the future. If an application works in one cloud or on our laptop, it should work in any cloud and not require learning a new deployment model. “
> > GigaSpaces
In the private PaaS market you will also find Gigaspaces. I had the privilege to meet the company founder and CTO Mr. Nati Shalom who is a well known and appreciated cloud blogger in the market. I strongly recommend checking his personal blog which presents deep technical analysis of PaaS issues. Gigaspaces was founded in 2000 and over the years it struggled with bringing its PaaS vision to the market.The rise of cloud computing and the growth of the market helped Gigaspaces with its business growth. In regards to the differences between public to private paas Shalom said:
“Another difference between PaaS vendor such as Gigaspaces to vendors such as Azure is that the former provides a solution contrary to the latter that provides a product and tools. Using Azure you still have alot to invest in order to have a working application, as for example perform big data aggregations to eventually generate business analytics.”
Gigaspaces invested 3 years in developing an abstraction layer that enables compatibility with a private environment or a specific public IaaS. Gigaspace Cloudify product enables ISVs to deploy its platform on on public or private cloud infrastructure. Answering the vendor lock-in issue Shalom said:
“We don’t care what are the application containers including the run-time and database. Our abstract layer wraps the app stack without any changes to the app run-time. Actually it contains number of recipes that defines an application from outside. The layer also holds list of metrics and the relevant SLA rules. For each metrics there is a threshold and an action.
> > Apprenda
Another vendor that I talked with in regards to private PaaS lock-in is Apprenda. Following my conversation with Sinclair Schuller, the company CEO and Co-Founder, I find that the cloud lock-in issue is not only the cloud customer consideration but can be served as a business initiation incentive. Apprenda is specialized with public cloud enablement and support for ISVs and enterprises that work with Microsoft development platforms such as MS .NET, SQL Server, ASP.NET & Silverlight. Naturally the main competition of Apprenda is with MS Azure. It is a fact that ISVs that don’t want to be locked in Azure infrastructure will find Apprenda appealing. Contrary to the traditional world and following developers’ experience it is a fact that lock-in has a great impact on the cloud decision considerations. Apprenda clearly proves that the cloud lock-in issue can actually generate new business. “Which Part of the Public vs. Private Cloud Elephant Are You Touching?” by Schuller
> > > > Conclusion
When selecting a PaaS solution, the lesson is that you should always look for the option, if only in theory, to move to another provider without having to completely rewrite your application code. In order to decrease the lock-in risks, you must think carefully about your application business logic when implementing so when conversion is needed you will be able to use the data and the app structure from one platform to re-build the apps in another. Read more on how to select a PaaS provider.
“So what will be the best choice for the IT organization?” I asked Shalom. He answered:
“The trade off is between simplicity and control. If you want to get control you will pay in complexity and skills and if you want simplicity you will need to compromise on your control. The space in between those two is filled with the customer urge to get the control and the simplicity. The balance can be achieved by a hybrid perception. The IT organization should be able to adopt both concepts, use the vendors like Gigaspaces for its mission critical applications and vendors such as Heroku to deploy the “lighter” applications such as the mobile extensions for the enterprise apps”
In his CIO blog post “Cloud Computing: What You Need to Know About PaaS”, points Bernard Golden on “the things IT leaders should think as they begin to evaluate their PaaS options”. It is not surprising that lock-in is the first thing in his list:
“I’m less disposed than many to see lock-in as purely negative, as in my experience organizations embrace lock-in because it provides significant benefits”
Following my research and my mantra about the open cloud eco-system world I tempted to say that public PaaS is my preferable option as it also includes great business benefits such as time to market and small investment in comparison with the private PaaS. I also tend to agree with Shalom in regards to his hybrid PaaS perception.
The PaaS vendor must recognize the “open cloud world” with its business benefits as it extends the vendor’s eco-system as well as the amount of new opportunities. Thanks to the traditional software giants (i.e MS, Oracle, etc.) and the open source evolution, IT organizations are much more experienced with choosing their vendors. Lock-in must be positioned higher in the PaaS vendor evaluation considerations list and weak lock-in is a huge benefit.