Characteristics of Cloud ComputingAccording to NIST 12, cloud computing exhibits its own essential characteristics such as; on-demand service, wide network approach, resource pooling, fast elasticity and measured service which demonstrate their relation to and differences from traditional computing approaches.
Cloud computing focuses on IT services which are driven by users’ requests. It provides a means of delivering computing services that make the underlying technology, beyond the user device almost invisible. Applying computing resources on-demand is one of the most desired capabilities for a large number of enterprises because it removes the need for scheduling ahead, purchasing, and installing the resources they will require at some point in the future. This allows the customer to avoid making a needless upfront investment in servers and computing resources. Furthermore, when comparing cloud computing with the traditional model of owning the servers, cloud computing will help to avoid the costs of having underused resources. Consequences of this feature of on-demand computing resources are a lowering of the entry barriers to some business models, as software vendors can develop applications without worrying beforehand of provisioning for a specific number of customers and then bear with the risk of greater success than planned, lead to the service not being available or worse, having very few users and a large capital expense caused by purchasing resources that are very underutilized.
Another new aspect of cloud computing is the application of usage-based billing model. Customers simply pay for the services they used, while providers bear the costs of hardware and software provision. Pricing may differ based on the time of day due to peaks in the request or varying electricity costs and organizations may, therefore, carry out certain activities when costs are cheaper. However, distributed cloud networks may enable providers to smooth out demand globally and offer uniform pricing strategies not dependent on timing.Cloud capabilities are available over the network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms (e.g., mobile phones, laptops, and PDAs) as well as other traditional or cloud-based software services.
Cloud computing extends the existing trend of making services available over the network. Virtually business organization can make available different applications to their internal and external customers using web-based interfaces. While enterprises are well aware of the ability to secure communications using Secure Socket Layer (SSL) encryption along with strong authentication, bootstrapping trust in a cloud computing environment requires carefully considering the differences between enterprise computing and cloud computing. When properly architected, internet service delivery can provide the flexibility and security required by enterprises of all sizes. The cloud provider’s computing resources such as storage, processing, network bandwidth, and virtual machines are shared to serve many consumers using a multi-tenant model, thus, different physical and virtual resources dynamically allocated and reallocated according to consumer demand. Even private clouds tend to share resources between different parts of the same organization.
There is no of location dependence in that the customer commonly has no management over the exact location of the provided resources but may be able to specify location at a higher level of abstraction (e.g., country, state, or datacenter).
Based on the specifics of a service level agreement, the cloud provider scales up or down the resources that are provided to meet the customer’s changing needs. This service level agreement must define the response time for the cloud provider to adapt the customer’s needs. Such an agreement is needed by the cloud provider, because the cloud provider does not, in fact, have infinite resources, so depending upon the service level agreement the cloud provider has to find a set of allocations of resources that satisfy the current demands of the aggregate of their users while meeting the various service level agreements of these customers, otherwise the service level agreement may specify a penalty that the cloud provider has to pay to each customer for not meeting the relevant service level agreement.Cloud allows the dynamic integration and extraction of computing resources. Cloud services are existing for provisioning, often look to be limitless and can be obtained in any quantity at any time.
Elasticity is an essential feature of cloud systems and circumscribes the capability of the underlying infrastructure to adopt changes. This cloud capability allows service users to create an elastic environment that can expand and target performance parameters. In general, it assumed that changes in the resource infrastructure needs are announced first to the middleware manager and then such changes can be maintained automatically.Cloud system automatically control and optimize resource usage by leveraging a metering capability at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, or active user accounts).
Resource usage can be managed, measured and reported to provide for both the provider and consumer of the service. Based on this metering and accounting capability of cloud computing, users pay only for service they are used. Thus, billing is based on resource consumptions such as CPU hours used, the volume of data moved, or gigabytes of data used.Because the cloud provider rather than the customer maintains the computing resource, there is an effective outsourcing of maintenance tasks. Thus, the cloud provider maintains and updates the resources, whether the resource is hardware or software. Therefore, all repairs and replacement of the underlying hardware resources are transparent to the customer, as they do not affect the customer’s experience.
While this might be true in the ideal case, there may be short intervals when a customer’s image is migrated from one hardware platform to another in order to perform maintenance or repair of a given physical platform, during this period of time the customer might not have any of the resources associated with this image available.