The Cloud in HP’s Cloud (Part 2): HP Discover, the Enterprise and AWS Cloud

imageLast month I attended HP Discover (disclosure: my participation was funded by Ivy World). The IT war already started however HP stands still not taking initiatives and real risks as true leaders should take. At the three-day conference I learned why some companies don’t last and why this IT giant is at a great risk of losing in this new era IT battle. This is a story of a lasting company that might have already lost.

> > > HP’s Washes the Cloud

Continue reading

The Cloud Lock-In (Part 2): The Great Lock-In of PaaS

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.

Click here to find more information about the PaaS Market.

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 PaaSThe 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. “

The great debate: Windows Azure vs. Amazon Web Services

> > 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”

Force.com Vs. MS AzureRead this discussion on Quora

> > 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.

Heroku Vs. Engine YardRead this discussion on StackOverFlow

> > 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 RackspaceXeround 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.

Watch the Cloud Foundry webinars on the PaaS playlist on I Am OnDemand YouTube Channel

Proud on their PaaSVMWare 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 IaaSGigaspace 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.

Developers are from Mars

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.

Why Multi-Tenancy ?

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.

Learn how to Scale IT – an article by CloudInsights.org

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: 

  1. 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. 
  2. 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.

Learn more about the PaaS market

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.


Plan Your PaaS Strategy: Few First Steps

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 – 

  1. Understand the “as is” state of things: create an inventory of tools that currently exist and the skills of those who leverage those tools
  2. Create your requirements: You need to define a solid list of features and functions that you’ll need your PaaS providers to support. 
  3. 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. 
  4. Consider performancegovernance ans Security

Here are some important criteria for ISVs to consider in evaluating PaaS provider:

  1. 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
  2. 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.
  3. 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.
  4. 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.
  5. 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.

Check out this list of vendors.

Do you still have a lack of knowledge with basic market definitions? Check I Am OnDemand Terminology Page