Cloud computing provides to the user computing services as a public utility, that is, like water and electricity [1]. For the user, there is no need to know where the data is stored and processed, as well as resource provisioning issues to meet demand. The user has a need, use the computing resources of your computing cloud provider and pay for exactly the amount of resources used. In this context, an essential feature is the elasticity that enables processing and storage resources (and others) are automatically allocated and deallocated according to the demand of users.
Whether for implementing sharing applications, social networks, or providing support to business operations, the "cloud" offers quick access to flexible IT resources at low cost. [2] Cloud computing also reduces the need for large upfront investments in hardware and time on maintenance and management activities of this hardware. We use the more efficiently provisioning hardware exactly the correct type and size of computing resources for the execution of your request, and you can access those resources are required dynamically and almost instantaneous, paying only for used.
In a more formal way, cloud computing is a computing model that allows access, on demand and through the network (usually the Internet) to a pool of computing resources (networks, virtual or physical servers, storage, applications and services ) that can be rapidly provisioned. The cloud service delivery models can be classified broadly into three categories: software as a service (SaaS), platform as a service (PaaS) and infrastructure as a service (IaaS). The EC2 [1] service, Amazon, is a typical example of IaaS cloud offering virtual machines of different capacities at varying prices. Other important providers in the market are Google [3], Rackspace [4] and Microsoft [5]. PaaS commercial examples are the Google App Engine platforms [6] and Microsoft Azure, offering cloud application development environments. A well-known example of SaaS is the Salesforce service [7] which also provides PaaS.
Due to the high flexibility, the cloud allows the use of its resources for many different purposes [2], include:
Backup and Recovery: Cloud storage can also be used in private, without sharing, acting as backup for critical operations for your business
As a result of the popularization of mobile devices the information generated and shared by users increased significantly. However, devices like smartphones and tablets have limited processing capabilities and storage [11] [12] [13]. In this context, cloud solutions allow developers to take advantage of online resources for the provision of their games, music, photos, social networking information without the user to store or process this information locally on your device.
The benefits offered by cloud services appear promising and attractive, however, the biggest disadvantage of this proposal is given out of your way, access to internet. No internet access or with a transfer rate of less than required by the application, cloud resources can not provide the desired performance, very common case in games or digital media services [14].
Cloud computing comes as strong tendency due to their ability to meet social and economic needs of the present, however, much of its potential can still be exploited.