Last week, I was in a meeting around the topic of Cloud Computing. One of the questions that came on the table was whether cloud computing is a revolution, a paradigm shift, or not. I'd like to answer, it's both. Indeed, the term "cloud computing" covers many things, reason for which it is probably not a good term to use. It is not precise enough. It covers at least three very different models, each of them with a private and a public go-to market approach. Let me explain.
First, there is the provisioning of information technology to allow a user or a group of users to develop or run their own applications. This is often called IaaS, Infrastructure as a service, or PaaS, platform as a service. The fundamental difference between IaaS and PaaS is the amount of freedom/services provided by the environment that is provisioned. What is revolutionary in this approach is that it allows enterprises to reduce the amount of overcapacity they need to source, as it provides them with the possibility to use external/re-usable environments to address peak demand.
Both IaaS and PaaS can be configured in an existing datacenter through standardization, virtualization and automation, or can be provided by an external service provider. Actually, if you really think about it, for quite a while we have had utility computing and grid computing offerings that already offered such capabilities. We could even argue that the data processing services provided in the late 70's ane early 80's were primitive versions of the same service. What has improved is the level of automation, making the provisioning easier and faster, but fundamentally there is nothing new here, so I believe we can call IaaS and PaaS an evolution.
Second there is SaaS, Software as a Service, making specific applications available through the internet. Today a variety of applications are provided, going from e-mail (typically Microsoft Exchange) to ERP (e.g. SAP). Software as a service is typically provided through a service provider. The benefit for the user is that he/she does not need to buy the license nor manage the application and its updates. Again, this is something that has been offered by application service providers (ASP's) for quite a while. Again, the automation provided and the self-service nature of some of the offerings today are the innovations, not the model. So, here again SaaS is an evolution from existing approaches.
As these models address the needs of most manufacturing enterprises today, companies should look at the cloud more as an evolution of their existing environments and services than anything else. They should try to identify where these services can add value or reduce costs of their existing environment and slowly migrate to such approaches.
So, why are people then treating Cloud Computing as something completely new that is revolutionizing the way IT works. Well that is because there is yet another model, which, surprisingly enough does not really have a name. The best way to name it is probably Web 2.0. The Web 2.0 phenomena started from a very different approach. It s objective was to provide internet users with new facilities. As the number of users grew exponentially, it became important to find new ways to program applications to ensure all these users could be served in an economic way. And that is where "multi-tenancy" was invented. In a nutshell, multi-tenancy allows one application instance to serve multiple users/clients. With a multitenant architecture, a software application is designed to virtually partition its data and configuration so that each client organization works with a customized virtual application instance (source wikipedia). It is this approach that allows Google, Facebook, Twitter and the others to serve very large audiences. But as the architectural principles are different, applications have to be developed specifically with multi-tenancy in mind. There are only a very small amount of business applications that have been written or re-written according to these principles. One example is the GS1 Product Recall Service that was developed with the global food/retail market in mind. Being rolled out in multiple countries, the amount of participants is growing fast. That will typically not happen to existing applications. Those are only re-written to be offered as an SaaS service to a large audience. In that case data of multiple clients is intermingled in the same database, as nicely described in the "Multi-tenant data Architecture" document from Microsoft. It is this approach that is revolutionary, and that fundamentally changes the way IT operates.
The question is obviously how many manufacturing companies require to serve millions of users and should rewrite their applications for that purpose. As more multi-tenant applications become available, they might want to use some of those, but the security, data privacy and availability aspects still need to be addressed.
So, the term "cloud computing" covers many different business models, and as such is a rather "foggy" term. In discussions around cloud, it is important to highlight what one means, and to identify which model we are actually talking about. They will evolve over time, but will remain separate as they address different needs of companies.