As you might imagine, I followed Salesforce.com’s Dreamforce conference and announcements quite closely. Salesforce.com and Engine Yard have a lot in common: we’re both neighbors and competitors.
We even share a CEO! Our CEO, John Dillon, was employee #10 at Salesforce.com and helped build and grow their business model.
When Salesforce.com’s purchase of Heroku was announced, I had yet another reason to pay close attention! Suddenly Salesforce and Engine Yard were much closer competitors than we previously had been.
Yet with all these good reasons to pay attention to what was happening, I kept getting distracted by the use of the term “Cloud 2.” Surely a major version upgrade to the Cloud must be accompanied by a new and earth shaking vision, something that I must pay close attention to or risk hitting the proverbial iceberg! Right?
Let’s face it: one of the most irritating things in cloud computing is the never quite satisfactorily answered question “What is Cloud Computing?” I believe the answer to that question is that Cloud Computing is the set of new business models enabled by the Internet. After all, since the earliest days of the Internet everyone has drawn clouds on whiteboards to represent the Internet itself.
Common to all of these new business models is the fundamental shift in realization that once every computing system can communicate with every other, there’s less of a need to be concerned with physical concerns such as hardware locality. To me, that is without a doubt THE big idea of Cloud Computing.
Given that, how does Cloud 2 differ from the Cloud? Frankly, I don’t see anything revolutionary at all. I suppose we’ll just have to pass it off as typical enterprise marketing hype. Does Salesforce.com honestly believe that Cloud is already passé, and that we’re on the brink of the next big thing already?
There’s one idea that we can clearly agree upon: Ruby on Rails is the future.
Salesforce.com is preaching to the choir on this. We’ve been clear for 5 years that Ruby is the next big language. It’s fully open source and freely licensed and will never lock in a customer.
Yet there are two ideas that we severely disagree with:
__ 1) OS multi-tenancy is NOT the ideal architecture for a PaaS__
Multi-tenancy within a SaaS application makes a lot of sense. It’s very efficient and convenient to have a single code base and application instance to manage. Contrary to popular belief, however, what’s good for the goose is not necessarily good for the gander.
OS multi-tenancy in a PaaS doesn’t make sense except for the least important applications.
Efficient virtualization is allowing IaaS vendors to deliver astonishingly efficient IaaS offerings. With security and quality of service constantly ranking at the top of cloud adoption concerns, it’s clear that for important applications, virtualized single tenancy is the way forward.
Think of it from a belt-and-suspenders mindset: Security and quality of service are too important to not take advantage of pervasive and inexpensive technology to help ensure that both are maintained at all times.
__2) It's a BAD idea to store data in a proprietary data store__ While Salesforce.com's sudden interest in Ruby on Rails framework might make it appear that they have abandoned the obvious lock-in tactics of Force.com's Apex, [database.com](http://database.com/) makes it perfectly clear that lock-in is still the name of their game. Why in the world would anyone choose to store their data in a proprietary service when fantastic open source SQL databases and key/value datastores exist? What really surprises me about this is that Salesforce.com should understand this implicitly! I'm confident they would be delighted to avoid their gigantic Oracle license fees, and I'm certain their users would be delighted if the cost of Salesforce.com products were substantially lower. I'm confident that customers will prefer to downgrade to old school cloud computing rather than rushing into the digital quicksand and marketing hype that Cloud 2 appears to embody.