Wednesday, March 17, 2010

Cloud Computing - Enabling Technologies and Techniques




In this post I will talk about some of the common techniques for providing the cloud services.

SaaS:

The primary technique, many would argue, for SaaS is the Multi-Tenancy; means that single instance of application should be able to service multiple customers. This however is quite true if I look at it from purely business perspective, as it helps save you some money. But as a consumer I am not concerned if the same instance of the application is being used by hundred other users. I am concerned about my data security and availability of the application. So “Multi-Tenancy is DESIRED but NOT REQUIRED” for SaaS.
Sometime it might not be possible to re-architect the application to support multi-tenancy, virtualization comes in for rescue in those cases. You can host separate instances for each of your customer. It might be possible to use this model if you expect your customer’s to be in a limited number. But if you have many customers to support, providing/maintaining separate instance for each customer can be daunting task. In such case you should look at application closely if it provides some level of logical separation within the existing architecture and use that separation to support multi-tenancy. Another to provide multi-tenancy is to have single application instance of application but have multiple database instances.


PaaS:

Some most powerful providers of PaaS are
·         MS Azure
·         Google Apps
·         Force.com.
Out of these three MS Azure is again the most powerful because it provides the cloud platform which is very similar to what developers are used to in a non-cloud environment. Developers do not have to struggle with learning new language, database skills and ways-of-working. Google Apps and Force.com on the other hand need developers to learn their own APIs. Google Apps however score better than Force.com as it supports Java and Python and the developers need to learn only “Big Table” database concepts. Force.com would require you to learn APEX, however Force.com is the fastest way to get your website up and running.


IaaS: -
Virtualization is the key to provide IaaS. It’s the technique to provide an abstraction of computer resources and divide those among multiple Operating systemns known as virtual machines. It separates the hardware from OS and enables a single set of hardware to run multiple OS. Each OS works identical to as if it was on physical machine. The software providing abstraction capability is called Hypervisor. Some standard hypervisors are VMWare, Microsoft Hyper-V and XEN (open-source).

Virtualization

My next post is going to be around the concerns and issues about the cloud.

2 comments:

  1. Nice explanation of SaaS vs. IaaS vs. PaaS. I use those terms every day when discussing hosted email archiving solutions in both the Sonian blog as well as my Cloud Computing Blog. nice work. i hope you can pick this blog up again sometime.

    ReplyDelete
  2. Thanks for comments AKP. I had some personal emergencies so I could not contribute. Actually I lost my mother to a deadly disease so was not able to concentrate. I have couple of topics in my minds. I am definitely going to pick this up.

    ReplyDelete