3. Cloud Computing Definition:
Cloud computing have many definitions because cloud computing, unlike other technical terms, is not a new technology, but rather a new operations model that brings together a set of existing technologies to run business in a different way. Therefore, each one see the cloud from his perspective for example a SaaS user will consider the cloud computing is delivering software through the internet neglecting the other cloud forms. In addition the software provider himself may not provide a true cloud computing he may provide some level of multi-tenancy and/or virtualization but not true cloud computing. Therefore the definition of cloud computing provided by The National Institute of Standards and Technology (NIST)  considered the most appropriate one because it covers all the essential aspects of cloud computing:
NIST definition of cloud computing Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.
This cloud model promotes availability and composes of five essential characteristics, three service models, and four deployment models.
4. Cloud Computing characteristics:
On-demand self-service. A consumer can unilaterally order computing capabilities, such as server time and network storage, as needed and automatically, without any human interaction with the cloud provider.
Broad network access. Capabilities are available over the network and can be accessed from various platforms, such as mobile phones, laptops, and PDAs.
Resource pooling. The provider’s computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources— including storage, processing, memory, network bandwidth, and virtual machines— dynamically assigned and reassigned according to consumer demand. The customer generally has no control over or knowledge of the exact location of the provided resources but may be able to specify location at a higher level (such as country, state, or data center).
Rapid elasticity. To quickly scale up or down, capabilities can be rapidly ordered or released, in some cases automatically. To the customer, the capabilities available may appear to be unlimited and can be purchased in any quantity at any time.
Measured service. Cloud systems control and optimize resource use by measuring how each customer uses their services (such as storage, processing, and bandwidth). Monitoring, controlling, and reporting resource usage provides transparency for the provider and its customers. Typically, this is done on a pay-per-use or charge-per-use basis.
 “The NIST Definition of Cloud Computing,” [Online]. Available: http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf. [Accessed October 2012]