February 24, 2010 1 Comment
To get on some common ground here, I decided to do this first introductory post on cloud computing. Many people think of cloud computing as yet another form of hosting, where it isn’t really different from the Application Service Provider model that has been quite popular for almost 10 years now. But there are significant differences that separate cloud from ASP:
- Self service: Cloud service offerings allow you to get the needed capacity without the intervention of a human being. So there is no agent that you need to call in order to get a service, you can do it all yourself using a web browser and a credit card.
- Pay for use: You only pay for the resources that you effectively use.
- Elastic: At any point in time you are able to increase or reduce the number of services.
- Open standards: Cloud Services must allow access through open standards, so that interchange of data is as simple as possible, preventing data lock-in.
- Location independent: By default you don’t know, and preferably you shouldn’t know, the location where your service is hosted. For some kinds of data there are exceptions though because of legal issues. Some providers offer solutions for this problem through a feature called geo-location.
A second main difference with the ASP model, is that there are multiple deployment models to cloud. It’s not just about applications. There are 3 official models, and one commonly accepted one:
- Infrastructure As A Service (IAAS): This boils down to on demand virtual machines, hosted in a full-fledged data center. But as a consumer you are still responsible for the maintenance of each instance. Today this space is dominated by Amazon’s EC2, but if I’m not mistaken Windows Azure should support this scenario as well later this year.
- Platform As A Service (PAAS): In this model, the infrastructure is abstracted away by a platform such as Azure. This platform allows you to run your own applications and services but all of the work related to machine maintenance has been alleviated from you. Big players in this space are Microsoft’s Windows Azure and Google’s AppEngine.
- Software As A Service (SAAS): The natural incarnation of the former ASP model, applications hosted in the cloud and available on demand. Microsoft is pretty present in this space with it’s BPOS offerings as is SalesForce.com.
- Business Process As A Service (BPAAS): This is the unofficial, but commonly accepted model, where entire business processes are available on demand. An example of this is LOKAD, which will do analysis and forecasting of time-series for you on demand.
I hope this overview helps you to understand the differences between cloud and earlier models, and I hope that it serves as a basis for future discussions.