Now that we are a couple of years into the great cloud journey is it pretty clear that the big bang theory of cloud conversion is ain't happening.
Yes, ISVs are moving rapidly to the SaaS model and it would be hard to find a software startup who is *not* starting in the cloud, but enterprise adoption of the public cloud is happening at a more stately pace.
In large part this is due to the simplification required to make public clouds efficient and the complexity that characterizes most enterprise IT environments. To put it differently, the public cloud makes app deployment simple by pruning app deployment options to the point that few enterprise applications can fit.
Moving forward, I see two paths for cloud adoption: evolutionary and revolutionary.
- Revolutionary cloud: Public clouds like Amazon EC2 and CloudFoundry.com represents a revolutionary leap forward for companies that are willing/able to abandon their current platforms. The revolutionary cloud offers a high degree of operational productivity at the expense of service choice (e.g., you can have any color you want as long as its black).
- Evolutionary cloud: public/private clouds like VMware's vCloud Director enable enterprises to get cloud benefits (public/private deployment, low upfront cost, elastic scaling, self-healing) without having to make major changes to their application architecture. The evolutionary cloud offers a lower level of productivity with a greater range of choice (e.g., you trade of productivity for flexibility).
Over time, the revolutionary cloud will offer more choice and flexibility while the evolutionary cloud will offer higher automation. Some questions for enterprise developers to answer as they move along this path include:
- How much control do I have over the deployed application environment? The more flexible the deployment environment, the easier it is to move that application to the public cloud.
- How do I move applications between different clouds? Having a way to move applications between evolutionary and revolutionary cloud architectures is just as important as being able to move apps between different flavors of public clouds