You hear a lot about Cloud Computing. What is this Cloud thingy anyway?
From the various definition of cloud computing we will just pick a couple.
Computing in which services and storage are provided over the Internet (or “cloud”) – Wictionary
Cloud computing is Internet-based computing, whereby shared resources, software, and information are provided to computers and other devices on demand, like the electricity grid.- Wikipedia.
What does it really mean? If you look at the Cloud Computing Conceptual diagram on Wikipedia page, you will notice that you are already a consumer of Cloud based applications. Cloud Applications run on the Cloud Infrastructure. They are delivered to you as SasS – software as a service. So when you talk about clouds, depending on where you come from you think of two or three things – infrastructure (as a service), platform (as a service) and software (as a service) known commonly as (IaaS, PaaS and SaaS)
Some times it is easier to understand what Cloud computing is by trying to find out what Cloud Computing is not. While I am not sure about all the points in James list, I think he got it pretty much right. However, here are two seemingly contradictory statements that leave me scratching my head:
If there is no API… its not a cloud.
If you need to rearchitect your systems for it… Its not a cloud.
Anyway, now that we got a little better idea about Cloud Computing let us see what it does to us in the software industry. Here are a few thoughts:
- IT Infrastructure will change dramatically. Some applications will shift to private clouds and others to public clouds. There may be a lot of optimization of resource usage.
- Some IT jobs may vanish altogether. New skills will be in demand.
- The way applications are developed, tested, deployed and continuously re-factored will undergo a change. What if every enterprise becomes like a Google in delivering incremental improvements constantly?
- The selling and licensing of applications will change too. I wonder what happens to all those batch apps that run once a week or a month?
- The way data is handled will undergo a major shift. Data driven applications will be will become a mainstream. Customer data, visitor data, partner data, behavioral data will provide more insights for businesses.
- Business models will change. We have already seen some interesting shifts.
- The architecture of applications will continue to evolve. The way apps store/retrieve data, the way they inter-connect with other apps on the cloud will change. Every app has the potential to become more intelligent and more adaptive since we will know how users use them.
- Data volumes will skyrocket. This will cause a new class of skills to emerge. Facebook is talking about petabytes and zetabytes will become common. There are already jobs like Data Scientists, Data driven Journalists appearing on job boards. There will be pattern miners, data visualizers and machine learning will become mainstream and will get better with so much of training data. Google is already talking about “serendipity engine”. Data Analytics will become a core tool for every business.
- Search will undergo change as well. As so much data sits in the cloud, a lot of it locked as the invisible web, we need a new class of search engines. “Exploration Engines” will become the dominant breed of search for private data.
- Information Engines will start appearing – information discovery engines, filtering engines, semantic extraction engines, pattern detection engines will be the first generation.
- New markets will be created. I can’t even hazard a guess on the innovations that will be enabled by this new computing infrastructure. Most of it will happen due to the unbelievable level of access to government and public data as well as social graphs, information streams, activity streams and real-time location data.
This is not even a comprehensive list. Each item in the list points to several opportunities. That is a topic for another post.