Cloud Computing : An overview
Cloud Computing refers to delivering software / storage / computation as a service rather than as a product. In today’s typical non cloud environment, organizations run applications on their own hardware and data centers or buy software products and install them on their data centers. What cloud computing offers is the ability to get computing / storage / applications on demand, lets you pay only for usage.
Cloud Computing is the next major revolution in Information Technology and it has the potential to change how organizations run their IT. The main driver for Cloud Computing is cost. Organizations can potentially reduce their IT costs by leveraging it. Cloud Computing suits well for certain business scenarios for organizations. I will mention different aspects of Cloud Computing and briefly describe them.
The different types of cloud computing can be categorized into :
1. Software as a Service (SaaS)
2. Infrastructure as a Service (IaaS)
3. Platform as a Service (PaaS)
4. Private Clouds
1. SaaS: Software as a Service (SaaS) is offering an application as a Service. The application is hosted by the vendor on their infrastructure and users of the application access it using internet. Users typically pay only for their usage or per user per month basis.
Salesforce.com started offering its CRM application in the cloud to organizations as a service. It’s one of the most popular SaaS cloud applications today. Other examples of popular SaaS applications are Google Apps from Google and Office 365 from Microsoft.
1.Organizations need not build and maintain the application, its readily available
2. Usage based pricing and easier upgrades
1. Required to depend on SaaS vendor for availability and data security.
2. Performance and limited customization
2. IaaS: Infrastructure as a Service (IaaS) is the most popular category in Cloud Computing. Today when people refer to Cloud Computing majority of them refer to this category. IaaS provides infrastructure as a service. In this category Organizations can request Computing/ Storage on demand, run their applications on these resources and pay only for the usage.
Amazon is the pioneer in this category and it is credited with inventing IaaS. With IaaS, organizations can, request any number of Virtual Machines,VM(s) (Computing) from the IaaS vendor, use these VM(s) to run their applications, elastically increase or decrease the number of VM(s) depending on their requirements and pay the vendor only for usage. This is very helpful for start ups or big companies to try out an idea quickly, or for social networking companies to scale as per load, or for big data companies to buy required computational and storage resources without owning the costly physical infrastructure.
1.No upfront investment on infrastructure required, use only required resources.
2. Usage based pricing for storage / computing / network
3. Identical to on premises environment and no vendor lock in
1. Required to depend on IaaS vendor for availability
2. Performance might decrease since the application is not hosted in the organization infrastructure
3. PaaS: Platform as a Service is offering a platform on cloud instead of just Virtual Machines. PaaS abstracts infrastructure and presents the user a readily usable platform. In IaaS the IT/Dev team is responsible for setting up the environment to run the application, managing the VM(s) and setting up Database and load balancer. Instead PaaS offers computing and storage out of the box as a platform which would result in less errors and less work setting up the VM(s) with required software.
Windows Azure from Microsoft is the most popular in this category. App Engine from Google and Amazon Beanstalk are other products in this category
1.Platform manages the underlying infrastructure resulting in less work for IT/Dev teams.
2. Applications can be developed faster since administration is handled by platform
1. PaaS less familiar to existing environment
2. Might result in vendor lock in
4. Private Clouds : Private clouds import cloud technology to organization’s own premises. By using private clouds, organizations can take advantage of existing infrastructure and also address the data security and availability issues.
Private clouds would enable an organization to efficiently use its own infrastructure and can automate building of VM(s) elastically. Typical scenario for private cloud is building test labs on demand.
1.Reduce costs, reuse existing infrastructure
2. Addresses data security and availability issues
1. Require to learn private cloud technology to configure and manage private clouds.
Conclusion: Cloud Computing is the next major change in IT. Its here and its important. The different aspects, SaaS, IaaS, PaaS an Private Clouds are useful in different scenarios. Organizations may use some of these aspects or all of them depending on their requirements.