How can you get the maximum benefit from a cloud provider without getting locked in to a single vendor? When you make a decision at an enterprise level, there is always some degree of lock-in whether it is a service or technology. Taking advantage of some of the more compelling features of some cloud solutions require use of vendor specific APIs - for automation and other vendor-proprietary features. However, it takes strategic planning, EA discipline and dedicated negotiation to maximize flexibility and finance results. Culture certainly has an influence here but looking at a pragmatic approach tends to deliver desired results.
1. Is a cloud vendor any different from any other vendor you do business with?
The idea of preventing lock-in starts with a strategy that defines what the business outcomes are coupled with a technical approach for risk mitigation of the total solution offering.
· Cloud is a journey, as more application and even infrastructure need be push into big cloud envelop, vendor lock-in, SLA and risk management need be considered more holistically, it may take cross-functional, collective effort to brainstorm impact, indication, potential risks., etc. from EA/EITA perspective, what's the integration issue, governance discipline, is your cloud architecture part of IT/business strategy, how to well define an agile enterprise via deploying cloud solution more seamlessly., etc
· Is Win-Win Possible: In any negotiation of this type you each have different objectives when it comes to flexibility. You want maximum flexibility including the ability to get out without loosing your shirt and the vendor wants to lock you in as a long-term revenue stream. You will likely meet somewhere in the middle. Determining where that middle ground is determines how much you are willing to give up. Some vendors have APIs or other features that are specific to their solution. This is one of their tools for keeping you on their customer list. You, on the other hand, want the best financial deal, comfort with their reliability, security and stability and the option to go elsewhere if things go bad without a major re-development effort. If you are looking at several vendors, consider to use “Consumer Reports” type diagram comparing your needs with the vendor’s offerings. Be sure to include risk factors that are important to you. Use this to guide your decision.
2. Leverage Standards, Openness and Choices
· Adopt Standard, but Avoid Vendor Specific APIs: Unfortunately No Cloud Standard can provide all the functionality a company may need as yet. So, the cloud vendors may add software modules to OpenStack (a popular cloud standard), with the objective to embrace the OpenStack functionality when it becomes available. That approach gives you the maximum flexibility today. You can build a fully functional cloud, that is capable of interoperating with all other OpenStack based clouds. You have the additional functionality you require and know you will be able to evolve as OpenStack evolves. You avoid the vendor specific APIs.
· It's very important to understand the strategic direction of a vendor. Some vendors are very specific and are pushing a proprietary stack. If you have confidence that vendor can address all your needs timely, it may be a good bet for you. You enter a fully controlled environment that will evolve as the vendor evolves. You may want to start with looking first at what products you're already using and see if your provider is able to work within the parameters of that solution (and, in that context, some vendor-specific APIs cloud make sense). Start with what you have and find a way, if appropriate, to improve via a cloud.
3. Observation about Different Cloud Lock-in & How to Mitigate the Risk
There are three basic business models offered within Cloud computing: SAAS-Software as a Service,
- Software as a Service: When working with SAAS vendors, it is more difficult to prevent lock but not impossible. These companies may “own” the system but typically the data is yours. Good integration although more expensive, will allow you to receive data exports on a regular interval if you choose so. This allows you access to your data and some degree of a data schema at minimum. So you can move to another provider if you choose so. This is more of a reality if you have a good grasp of the business process, the system supports and leverage a standards based approach to solutions implementation (similar to a traditional EA framework). Although moving form system to system is a significant cost and effort for those faint of heart, it is possible. Back to strategy if you are going to the cloud this needs to be a consideration.
- Platform as a Service: Hosting up to the middleware layer is a bit easier to work with. Your lock-in goes as far as the underlying platform you choose to develop applications. In the present day, most internet-based applications if written in common languages can be “ported” across architectures with a greater degree of ease. Moving from an internal hosted N-Tier application to a vendor based one again if following some discipline (EA mixed with good configuration management discipline) should not be as heavy of a lift as with Software as a Service.
- Infrastructure as a Service: Choose your hyper-visor platform and ensure it meets your business or mission objectives. Moving VMs is becoming the new normal so moving from a standards based hyper-visor to another standards based hyper-visor of the same type is not difficult. If you are moving from a proprietary offering. Consider your strategy once again. The image you use and how systems are deployed and leverage your other infrastructure tools) or whatever you use for image management and backup.
Therefore, there is no formula for determining the best decision. In the end, it is a matter of making the best management decision under the circumstances and then negotiating the best deal you can. Walk the talk, execute business-driven cloud strategy smoothly.