The Microsoft World Partner Conference 2010 is due to begin next Monday, and it's clear that Windows Azure is going to be one of the product that will get the most attention this year.
Over the last 2 years, I have attended and even took part to many cloud computing talks, and I am hearing tons of very confused opinions on cloud computing, and even more concerning the future of cloud computing. Hence, here are my top 10 cloud computing predictions for the next 5 years.
1) Cloud will become mainstream in enterprise adoptions
Cloud computing is already mainstream in consumer markets. Amazon, Google, Yahoo, Microsoft, ... all of them are running on top of their own clouds. If you're using a web search engine, then you're using the cloud already. In the next 5 years, I expect the cloud to become the mainstream adoption pattern. I am NOT saying that the cloud will dominate the enterprise in just 5 years from now, I am saying that it will dominate setups and upgrades. It might take one or two decades to progressively move away from strict on-premise solutions.
2) ISVs will vastly dominate the overall cloud consumption
Yet, the migration toward the cloud will be implicit. Indeed, enterprises care little about cloud computing itself, they will buy SaaS solutions not raw processing power. The vast majority of those SaaS solutions will be powered by public clouds, but for non-IT companies this fact will be irrelevant. The economical forces will drive ISVs toward the cloud, which will vastly dominate the overall cloud consumption. Single-tenant apps have very hard time competing with the low management costs of multi-tenant apps. Nothing will actually prevent companies to buy raw cloud processing power, but I expect this behavior to be marginalized as the SaaS ecosystem grows.
3) Private clouds are nonexistent and will remain marginal
We keep hearing about private clouds, yet, if we exclude the few private clouds designed by internet consumer leaders (eBay, Yahoo, Facebook, Yandex, ...) that have not been turned into public clouds, there is NOTHING even close to a private cloud at present day on the market. The only product that would start looking like a private cloud is Eucaliptus, but it's still lightyears away from global solutions build on top of containerized data-centers that public clouds represent. The skills and the costs required to operate a cloud are steep, I can't figure out why would companies go for private clouds. Some will argue that control is of utmost importance, but shareholders might not agree when they will realize that a small cloud costs millions upfront, and millions for ongoing management. Although, companies with ad-hoc data centers will keep improving them, probably importing best practices established by major cloud hosters, but that's it. Yet, those improved data centers will still be extremely far feature-wise, reliability-wise, security-wise from public clouds.
4) Hybrid clouds are fantasy and will remain fantasy
Another myth I keep hearing about is the idea of hybrid clouds: you have your own private cloud, and when you lack capacity, you rent some extra from a public cloud. Although the idea is fascinating, IMHO, it's vastly impractical. Designing a true auto-scalable app on top of a cloud - any cloud - is already quite hard. Clouds are easing the scale-out process by offering some very normalized environments, but scaling-out remains a challenge, especially for enterprise apps. Offloading processing power into some heterogeneous computing environment is bad idea, software complexity would skyrocket, and it will fail like grid computing failed before. What was a nice idea in theory was just way to difficult to be routinely implemented. Although, please note I am not stating that hybrid clouds are impossible; I am just stating that it's very unwise, and that complexity will comes back as punishment.
5) Cloud mashups will be the dominant pattern
I expect SaaS mashups to become the dominant pattern in enterprise environments - for consumer environments, it's already the case. Companies and people alike will combine the apps they want most, irrespective of the underlying clouds. As a results, scenarios where a single company adopts Salesforce for the CRM, Microsoft BPOS for the collaborative suite and Netsuite for the ERP are likely. Obviously, those mashups will requires very capable integration tools, which will also be offered on the cloud. RunMyProcess would be a good example of such tools.
6) Self-hosted servers will be considered as liability
Some people consider self-hosted servers as more secure than remote or cloud-hosted solutions. As far I can tell, 99.99% of the time, this appears to be complete fallacy. Securing a computing environment takes skills that even my bank (a very large international bank) is obviously lacking. The situation is worse in nearly all non-IT companies I have investigated while running Lokad. Some companies happen to be very confident in their IT security, but most of time, it's just over-confidence, with no tangible processes to support this confidence. As cloud computing grows more mature, I expect the community consensus to gradually converge toward the opinion that unless proven otherwise, any self-hosted server should be considered as an IT liability.
7) No1 cloud issue will stay the lack of qualified manpower
Media, influencers, integrators, and cloud providers keep discussing the relative strengths and weaknesses of the cloud, but there is one issue that dwarf all others, and yet, this issue is barely mentioned: the extreme lack of talented workforces to develop in the cloud. Not believing me? Just try to hire any experienced cloud computing software architect. Hiring good developers is already extremely hard, hiring good developers who happen to have skills and experience in large scale distributed systems is only harder.
8) Fine-grained geolocation will be the No1 entry barrier
Two years ago I was stating that cloud computing was an arena for big players. I still believe this isn't going to change. In particular, geolocation capabilities - aka the possibility to bring the computing resources close to the end-user - are already exponentially increasing the entry costs in the cloud market. Closer data-centers will mean lower latencies, and smoother UI behaviors for cloud-hosted apps. Ultra-responsive UI are so much more enjoyable that it's little wonder than Google recently started to add website speed as an extra criterion for their website ranking. In 5 years, clouds will no more be expected to have half a dozen of worldwide locations (Windows Azure has 6 locations at the moment), but dozens, with a data-center close to every major megalopolis. Considering that each data center costs more than a few hundred millions USD, entering the cloud market will be just impossible for anyone but the largest IT companies of the planet.
9) Cloud computing is not going to kill desktop apps
Some believe that the cloud is going to kill desktop apps. I don't. I believe that all software areas will be growing (cloud / desktop / embedded / games, ...). There will be more desktop apps in 5 years from now, and WAY much more cloud apps. Although cloud computing will shift the purpose and the value of desktop apps. The AppStore is a good example of the strong interactions that are likely to exist between non-web apps and the cloud: apps are available on the cloud at any time, typically interact with the cloud, and bring a top user experience that would be very hard to deliver otherwise. And no I don't think that World of Warcraft is going to run on HTML 5 any time soon.
10) Dev stacks are going to develop their cloud affinity
The software world is basically divided between a hand-few development stacks: Microsoft/.NET, Linux/LAMP, Oracle/Java, ... I expect each stack to develop some growing affinity with one public cloud in particular. The .NET world as already a very natural orientation toward Windows Azure. Linux-based solutions will keep moving forward with Amazon, eventually Rackspace. As Google is expending the coverage of its App Engine, I expect more development Java/Python tools to be released - basically the ones internally developed and used at Google. Some are dreaming about cloud interoperability, but considering the pace of change in the cloud computing world, I don't see that happening in the next 5 years.
What are your predictions for the cloud in the next 5 years?