Cloud Computing is a broad term which defines the availability and consumption of computing resources like software, bandwidth, processing power, storage etc, over standard IT protocols and networks, without the end customer’s knowledge of where and how these services are rendered.
In general, Cloud Computing is closely associated with Utility Computing - which in practical terms correct, and sometimes confused with Software-as-a-Service SaaS - which is incorrect.
Certain core features or attributes of Cloud Computing would be
- Agility - Ability to scale, reduce, transform the technology based on requirements within a short period of time.
- Scalability - Cloud Computing infrastructure should be scalable without any physical limitations. Ideally, that is.
- Location Independence - End customer is not exactly aware of where and how the computing and data resources are located and structured. There might be certain cases where this is not advisable (privacy/national laws etc), certain service providers give out this location information for to handle these exceptions
- Multi-tenant Architecture - Architecture of Cloud computing is built on Multi-tenancy, which enables Cloud Service Providers to reduce their costs which are passed to Clients
- Usage Metering - This is more of Utility computing concept, wherein Clients are billed only for the services they use and according to any predefined tariff plan
Service Layers in Cloud Computing
Multiple Services are offered using Cloud Computing, primary among them would be
- Infrastructure as a Service
- Platform as a Service
- Software as a Service
