This posting is a follow-up to “Cloud Computing: The Players.” We can separate cloud computing services into Software as a Service (SaaS), Platform as a Service (PaaS), and Infrastructure as a Service (IaaS).
Software as a Service
Software cloud services are services provided as a supplement to an existing website product. For example, Twitter and Facebook provide cloud services that can be reused in other website products. Software cloud services are provided by web service APIs such as REST+JSON. REST is an extension to HTTP headers and JSON is an object notation type for passing data payloads.
Platform as a Service
Platform cloud services are generic services that can be reused in many applications. As presented by Erick Tai at Stackmob, these services include:
- User Authentication
- Datastore
- Security
- GeoSpatial
- Push
- Hosting
- Social Integration
- Custom Server Side Code
- Analytics
I believe that platform cloud services have a more difficult time defining themselves than either software or infrastructure clouds because they have to be generic enough for reuse, but if they are too generic they provide little benefit over infrastructure clouds.
Infrastructure as a Service
Infrastructure cloud services represent running one’s own servers and data centres. Infrastructure cloud services include Amazon AWS, Rackspace, and Windows Azure. They offer:
- server instances, including Linux
- disk space
- local area networks
Slightly higher-level services may be provided such as:
- database servers
- Hadoop
Infrastructure services are exposed as if they were physical machines. Linux server instances, for example, are accessed by SSH over port 22; database servers are accessed by their respective ports.