The Gartner Group defines cloud computing as a style of computing where scalable and elastic resources enabled by information technology are provided as a service to external customers using Internet technologies.
Already the NIST (National Institute of Standards and Technology) defines it as a model to enable on-demand network access to a shared and convenient configurable computing resources (eg networks, servers, storage, applications and services) that can be set quickly provisioned and released with minimal management effort or interaction with the service provider.
The term "cloud" comes from the cloud shaped figure used to represent the internet in diagrams and, by association, is now used to refer to computing services delivered over the Internet.
Companies can use cloud computing to request and use computing resources on demand. For example, if a company has unexpected spikes in usage, cloud computing allows you to meet the increased workload without having to pay the costs of a traditional infrastructure hosting throughout the year.
The five attributes of cloud computing, according to Gartner, are:
Based services: well-defined interfaces abstract the implementation details and enable complete automation of the responses provided to consumers of services. The service is designed to meet the specific needs of a group of consumers, and the technology is suited to this need, instead of the service is appropriate to the way the technology works.
Scalable and Elastic: The service can increase or decrease capacity as consumer demand, fully automated way.
Shared: Services share a pool of resources to create economies of scale. IT resources are used with maximum efficiency. Underlying resources are shared among the consumers of services.
Measured by Use: Services are tracked with usage measurements to allow different payment models.
Uses Internet technologies: The service is provided through identifiers, formats and the Internet, such as URLs, HTTP, IP and REST protocols.
The cloud computing services are typically offered in one of these layers:
Application: Application services in the cloud, known as "SaaS" (Software as a Service) provide software via the Internet, without the need to install and run the application on their own computers and simplifying maintenance and support. Examples: Gmail, Sales Cloud ,Zoho Projects.
Platform: Platform services in the cloud or PaaS (Platform as a Service), provide a computing platform and / or a set of solutions as a service, often using cloud infrastructure and sustaining cloud applications. They facilitate the delivery of applications without the cost and complexity of acquiring and managing the underlying hardware and software layers. Examples: Force.com, Google App Engine, Windows Azure.
Infrastructure: Infrastructure Services in the cloud or IaaS (Infrastructure as a Service) provide computing infrastructure as a service. Instead of purchasing servers, software, hosting in datacenter and network equipment, customers acquire those resources as a fully outsourced service. The vendors charge by the amount of resources used. Examples: Amazon Elastic Compute Cloud (EC2), ESDS eNlight Cloud Computing, Microsoft System Center.
Cloud computing is a market of 100 billion dollars. It is a revolution that is happening and that creates enormous opportunities and challenges for customers, suppliers and professionals.