The only issue more overblown than Cloud Security may be this one. I was reading yet another post on the topic today and felt compelled to write this.
The premise the Lock-In Boogeymen are selling is that because of the proprietary APIs and mechanisms that are used in many of the large cloud computing (e.g. IaaS and PaaS) providers to optimize performance and scalability, you’re locking yourself in to that vendor. While there is an element of truth to that concept, the implication is that if you don’t adopt the cloud you won’t have that issue. Nothing can be further from the truth.
If you decide to eschew the cloud for a traditional on-premise/internal solution you are still making the following commitments:
- What technology stack to do I want to align myself with? Java or .NET? Oracle or IBM?
- What development environment do I want to standardize on? Eclipse? VSTS? SpringSource?
- Putting down big dollars up front and committing to medium- to long-term high-cost maintenance agreements for the foundational software that you’re going to develop upon.
- Even more big dollars on computing infrastructure…which is about the only thing that depreciates faster than the value of the car you just drove off the lot.
- And let’s not forget the money you have to spend on the network monitoring and management tools for that hardware.
All of these decisions – and the related upfront costs – dictate that you’re going to stay on your chosen platform for a fairly long time. 5 years? 8? 10? Is that any shorter of a horizon than you have when deciding to adopt the cloud?
<don’t see many hands raised>
And it’s not like there isn’t ANY portability in the cloud either. Rackspace’s OpenStack platform leaves you completely free to take your app to any other environment – including bringing it back in house – simply by deploying their open-sourced framework on another provider or datacenter. Both Google and Salesforce have adopted VM/SpringSource as their IDE so it’s (relatively) easy to move back and forth. I mean there will be work to do, but it’s not like you have to re-architect and re-write your entire app.
And further there are a host of integration platforms (Dell/Boomi, IBM/Cast Iron Systems, Pervasive, Informatica) that you can utilize to mitigate the portability issue further. And I believe that you’ll see even more movement towards portability and interoperability of clouds in the future.
So what’s your POV? Comments always welcome.