The benefits of migrating workloads between different cloud providers or between private and public clouds can only truly be redeemed with an understanding of the cloud business model and cloud workload management. It seems that cloud adoption has reached the phase where advanced cloud users are creating their own hybrid solutions or migrating between clouds while striving to achieve interoperability values within their systems. This article aims to answer some of the questions that arise when managing cloud workloads.
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.
Part 3 will discuss SaaS vendor lock-in
Stay tuned with I Am OnDemand.
The three layers of cloud computing IaaS, PaaS and SaaS occupy the headlines with significant capabilities undergo continuous improvement to host services in the cloud. This growing market is slowly changing so that offered services will become generic. The current evolving struggle is the deployment and management of SaaS applications in the cloud, Gartner calls this cloud market portion SEAP (Software Enabled Application Platforms). We will dare to say that developers are from Mars and cloud providers from Venus, let us explain in detail why.
SaaS application developer builds the application architecture structure including the database system, the business logic and the user Interface. The software developer (or the SaaS vendor for that matter) invests on building these main three infrastructure cornerstones in order to bring life to the business idea and launch a new on-line service.
Traditional software delivery puts the responsibility of deployment and maintenance in the hands of the customer. In contrast, the SaaS model key includes building the infrastructure wrapper that allows meeting the requirements to deliver it as a service. The change from the licensing model is that the SaaS vendor (the developer) is also the integrator and the responsible to support standards by adopting technologies which makes the software as a service.
The most popular example is the support of multi-tenant. This feature enables the scalability to perform extensive SaaS sales and effective maintenance on the non-physical infrastructure. The virtual infrastructure brings higher level of complexity which requires additional maintenance means. This complexity intensifies as the number of customers grows, hence the demand for more cloud capabilities and resources.
Developers use existing frameworks that enable a short and efficient development such as .NET provided by Microsoft or Ruby on Rails brought by the open source world. Software architects already understand that the application multi-tenancy is a part of the system infrastructure to enable scalability, but is the that enough to make an application as a service? the answer is no, there are more considerations the developer need to bear in mind when planning the architecture of software as a service.
In order to plan the development of a robust and automatic scalability, the software architect must understand the cloud dynamic nature that is to say the basic option to start and shut down resources automatically. The software vendor should pick the IaaS vendor as part of the initial development step, learn the IaaS platform’s API capabilities and make sure that the development roadmap includes also a tight integration with the cloud facility. The IaaS platforms offered are still young and automation deployment is still limited due to infrastructure barriers. Most of the IaaS platforms doesn’t provide convenient tools to deploy the application, therefore the SaaS vendoר is forced to invest in purchasing existing tools or even implement independently. Today we still see vendors that are not aware of these requirements as they are not pure application but operations oriented.
Check out I Am OnDemand terminology page and learn more about the four levels of Multi-Tenancy.
Another aspect in the SaaS development discussion is the option to build the system on a PaaS. There is a good number of PaaS manufacturers that offer products enable development capabilities as a service and by that solve the developer’s need to maintain a scalable service as described above. We can divide the this group of products to following two categories:
- Objects as a service – force.com is an example for such vendor. The developer will buy the option to use the out of the box software objects to implement a new application.
- Runtime and database as a service – here we can mention platforms as Heruko, Google Apps and MS Azure.
Gartner predicts a growth in the amount of platforms that provide the wrapper for the web development of new and existing application. These platforms already have taken a significant part in the cloud evolution. The number of PaaS providers grows while the existing vendors continue to extend their on-demand tools portfolio, enabling a wide range of services for operation, management and distribution of SaaS applications.
Besides the actual system scalability issues presented here, there are much more “developing for the cloud” considerations such as integration, develop for resources’ optimal utilization and SaaS development with the fast changing clouds’ platforms. Check out Cloud development: 9 gotchas to know before you jump in, an article brought to you by InfoWrold.
The relationship between the actual application development and the operational side of the application becomes stronger. While the SaaS vendor’s board should think on all cloud adoption strategic aspects, the vendor’s software architect as well as the product manager should think “out of the application box” to be able to deliver their product as a service.
Special thanks for Amit Cohen who raised this discussion and took a part in composing this article. Cohen is an experienced SaaS & Cloud computing consultant for the enterprise who held executive positions at several international software vendors over the last 10 years.
Traditional ISV conversion to become a pure SaaS vendor should carefully plan its application deployment strategy. Below you can find the steps list how to start suggested by David Linthicum. By learning the PaaS Market and selecting relevant vendors traditional ISV will present a fast go-to-market and eventually a smoother conversion to a SaaS vendor –
- Understand the “as is” state of things: create an inventory of tools that currently exist and the skills of those who leverage those tools
- Create your requirements: You need to define a solid list of features and functions that you’ll need your PaaS providers to support.
- Consider your options: Look at the number of PaaS offerings out there and analyzing them as to their ability to meet the requirements defined in the previous step.
- Consider performance, governance ans Security
Here are some important criteria for ISVs to consider in evaluating PaaS provider:
- Moving: 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. Learn More about PaaS Lock-in
- Development: Some PaaS platforms only offer part of the stack for you .Check out the enabled components so the solution will fit your solution needs including the presentation layer, business logic, security, database and web services.
- Standard language: In order to decrease lock-in risks you will want to examine the PaaS language as Many PaaS solution are based on proprietary. (e.g., Apex, the proprietary language for SalesForce).Support for development tools and the development platform & languages supported by the PaaS platform is crucial in deciding the right one for your business. It becomes more relevant when a vendor is able to support cross sets of platform and languages (e.g VM Cloud foundry support open source code) in its PaaS offering.
- Integration: The integration with other services available from the vendor, provides the enterprises an option of building complex applications with ready to consume standard cross cutting services like email, search, content management, BI soutions and more.
- Development and Testing Environments: Development of application in PaaS delivery model asks for offline development tools. Also, as part of the release cycles the deployment process Smart PaaS providers will have the capability of providing a staging environment which is close to the production.
Do you still have a lack of knowledge with basic market definitions? Check I Am OnDemand Terminology Page
> > > > > Market Overview and Definitions
According to Gartner’s PaaS Road Map report, cloud-based solutions will grow at a faster rate than on-premises solutions. By 2015, 50% of all ISVs will be SaaS providers. Most enterprises will hold major part of their business applications running on the cloud computing infrastructure, using PaaS and SaaS technologies directly or indirectly.
It is confusing to describe PaaS as one category as there are different values presented by the different ISVs whom developing and delivering solutions on different layers. Gartner’s report lets categorize the market of PaaS into the following 3 layers –
- Application platform as a service (aPaaS) – providing a complete application platform that is used by the actual application’s components (those which support the business process) or by its APIs. Business-level power users and developers gain speed-to-market and the ability to focus on bringing their expertise to the business process layer rather than having to build the whole application infrastructure.
- Software infrastructure as a service (SIaaS) – those services provide management for software parts such as online cloudy database, integration and messaging. This layer is similar to the previous layer as it provides the development tools to build an application in the cloud, but it’s targeted at developers rather than business-level power user.
- Cloud enabled application Platform (CEAP) – Software middle-ware tothat support the public and private cloud characteristics including monitoring, complexity management, scaling and optimization.
There’s been a veritable explosion of platform-as-a-service choices coming onto the market in the past month or two, and the pace of introductions is accelerating.
During the next two years, today’s segmented PaaS offering market will begin to consolidate into coalition of services targeting the prevailing use patterns for PaaS. Making use of such reintegrated, targeted suites will be a more attractive proposition than the burdensome traditional on-premises assembly of middleware capabilities in support of a project. By 2015, comprehensive PaaS suites will be designed to deliver a combination of all specialized forms of PaaS in one integrated offering.
> > > > > PaaS Providers and Products —
There are several well-known PaaS providers such as GoogleApps, Heroku, Microsoft Azure and of course Force.com, the most mature and rich PaaS for those who want to build a classic forms-and-database SaaS application in the “old” Salesforce.com fashion.
“We don’t spend any time talking about the acronyms,” Andy Jassy, senior vice president of AWS, told eWEEK. “All those lines will get blurred over time. It’s a construct to box people in and it fits some stack paradigm. We started with raw storage, raw compute, and raw database in SimpleDB. And we’ve added load balancing, a relational database, Hadoop and Elastic Map reduce, a management GUI… All those lines start to get blurred, and you can expect to see additional abstraction from us.” Read more on eWeek
SpringSource (by VMWare) – Cloud Foundry, VMWare PaaS offering works with a variety of development frameworks and languages, application services and cloud deployment environments. It includes the SpringSource Framework, an enterprise Java programming model that VMware picked up in its August 2009 acquisition of SpringSource. The Spring Framework is in use by about 2 million developers worldwide as a lightweight programming environment to make applications portable across open-source and commercial application server environments. Read more on crn.com
Caspio – `Cloudy` online database platform to support online software development. One of the best features of Caspio is its “embed” feature which offers an embed code for a Caspio-based “datapage” much the same way that YouTube offers embed codes for its videos. Caspio handles blobs at the field level (in other words, there’s support for video, images, and other large binary objects) and supports SQL/API-based access to its databases. Caspio has a personal “version” that’s free but is limited to 2 data pages (essentially forms) and then starts at $40 per month for 10 datapages, 1 GB worth of data transfer and 1 GB of storage. There’s a corporate version that goes for $350 per month (more datapages, capacity, and “logins”) and several levels of subscription in-between. See how Caspio works or read more about this vendor on informationweek.com
Gigaspaces – Gigaspaces’ core product the Gigaspaces XAP is an enterprise-grade, end-to-end in-memory application server for deploying and dynamically scaling distributed applications. If an ISV or any IT organization needs to boost workload performance and has business-critical Java and .NET applications. that can be spread over a computational or data grid configuration, XAP can be a good option. GigaSpaces started as a firm that could manage a server’s local cache; it expanded to manage the combined cache of a cluster of servers, then figured out how to make that cache expandable by managing the cache as servers were added to the cluster. In its latest iteration, the GigaSpaces CEAP (Cloud Enablement Application Platform) makes application business logic elastic by managing its multiple moving parts in a shared memory system.The cloud-enabled platform allows “continuous scaling of application data and services. Think of Amazon style of SimpleDB scaling,” Nati Shalom, CTO and founder of GigaSpaces. Check out Gigaspaces.com and read the recent news brought to you by InformationWeek.com
OrangeScape – OrangeScape is one of the 10 global companies featured in Gartner’s ‘PaaS competitive landscape’ report and also has been featured in all the PaaS reports of Forrester.As an aPaaS provider, Orangescape Studio offers an UI similar to modern Excel application so the business users can design an application by capturing various aspects of the application declaratively in an XML-like format which is then executed by the proprietary Orangescape virtual machine. The core of the virtual machine is their main platform, which is nothing but a rules engine that works on a complex networked data model. Read more on CloudAve
Cordys – aPaaS vendor Delivering MashApps Cordys Process Factory (CPF) is a Web browser-based, integrated cloud environment for rapid Cloud Application Development. Cordys Process Factory allows users to use and sell Cloud Applications, and also subscribe for applications built by others in the Cloud Marketplace. All of this is achieved through visual modeling, without having to write code. Check out Cordys and read more on getApp.
There are other interesting PaaS providers such as Joyent, MuleSoft, CloudBees, Appistry and more, I will release another post on those later on this month so you are welcome to stay tuned with `I Am OnDemand`.
> > > > > Choose Your PaaS Providers
Traditional ISV conversion to become a pure SaaS vendor should carefully plan its application deployment strategy. By learning the PaaS Market and selecting its relevant vendors in this market the traditional ISV will present a fast go-to-market and eventually a smoother conversion. Together with those benefites, I find that the ISV consideration of using a PaaS provider will make the smart ISV’s CTO to understand the strong lock-in to whichever PaaS providers the CTO will choose. This will make the CTO nervous as the lock-in feature on the On-Demand market is with no doubt more aggressive.
To summarize I can say that no doubt that PaaS has an important part in the adoption of cloud computing by the ISVs and the IT organizations. The PaaS players are technology-rich companies, the market definitions and roles are not completely clear and it seems that PaaS evolve slower than the other two layers (i.e IaaS and PaaS). As in every evolving new market you can expect a wave of innovation and of hype as there today new business opportunities for startups companies, the leading software vendors and the IaaS giants.
Do you still have a lack of knowledge with basic market definitions? Check I Am OnDemand Terminology Page
Heroku – Paas provider which was acquired last year by salesforce. ”Given what I’ve seen from the Heroku guys so far I think they have a strong enough vision and understanding of their customers that they will be able to fend off the temptations of SF execs to meddle with their newly acquired toy.”
Google AppEngine – “AppEngine has long been one of the most feature rich platforms available. Yet, there have been two main issues which really held back what would have otherwise been incredible growth, performance and datastore.”
Djangy – “While AppEngine is a great platform for Python applications there has been pent up demand for a Python/Django version of Heroku. New startup looks to be the first viable attempt at filling that gap.”
I suggest to check those systems and Read more about their capabilities.
I strongly believe that advanced ISVs should think PaaS and the first one to deliver their capabilities as platform include a robust SOA will be the ones to lead their industry web ecosystem. Check the following list of PaaS features:
1. Multi-tenant architecture
2. Customizable /Programmable User Interface
3. Unlimited Database Customizations
4. Robust Workflow engine/capabilities
5. Granular control over security/sharing (permissions model)
6. Flexible “services-enabled” integration model