Five Classes Of Cloud Computing

Robert Harker
harker at harker dot com

When the phrase "Cloud Computing" is used it can mean many things. Anything from virtual hosts residing in a third party data center to web based email. To clarify my thinking I have grouped cloud computing into 5 classes.

Infrastructure as a Service (IaaS)

This is the most basic of the cloud computing services. The cloud is providing access to virtual infrastructure. The cloud may be public like Amazon's EC2 or it can be private like the infrastructure provided by software such as Openstack. With IaaS you are provided the hosts/storage/networ and it is up to you to configure it. The cloud provider will do some configuration such as partitioning the disk, installing the OS and configuring the network interfaces for a virtual host. But any additional functionality is up to the user to configure.

There are many types of infrastructure available

  • Computing Infrastrucure
    • EC2
    • Openstack
  • Storage infrastructure
  • Networking infrastrucutre

Platform as a Service (PaaS)

With Platform as a Service you are deploying code on a virtualized Application Programming Interface (API). You are not typically aware of the host the application is running on. The instance

  • Native platforms
    • Lamp
    • Windows Azure
    • Java/python
  • Vendor specific platforms

Grid computing

Forget the marketing hype around the term "Grid Computing". Grid computing is running an application on a cloud infrastructure. This is different than SaaS because the end user is aware of/interested in the number and configurations of the Cloud based hosts

  • Map Reduce
  • Super computing clusters
Desktop in the cloud
  • VMware
  • EC2

Software as a service

Applications that are hosted in the cloud

  • Personal applications
    • desktop
  • Enterprise applications
    • HR, payroll