Cloud computing is a rapidly growing technology which has attracted the attention of many organizations resulting from the advantages that are offered, including the reduction of energy costs achieved by outsourcing servers resulting in reduced cooling costs, minimizes the number of IT-related human resources, decreases change management to a minimum, and minimizes the costs associated with computer replacement. In cloud computing, software, hardware, and configured systems are purchased as services. Cloud computing services are often delivered through the implementation of virtual machines (VM) due to the flexibility and ready-to-go nature. Computing capabilities can scale up or down via the utilization of cloud computing application software.
The five essential characteristics of cloud computing are as follows:
- On-demand self service. Computing capabilities, including server time and network storage, can be unilaterally provisioned by the consumer without necessitating human interaction with service providers.
- Broad network access. The cloud can be accessed through the implementation of heterogeneous thin or thick client platforms, enabling remote access capabilities of devices such as laptops, mobile phones, tablets, and workstations.
- Resource pooling. The computing resources available from the cloud provider are pooled through the application of a multi-tenant model, providing the capabilities to serve multiple consumers simultaneously as the various physical and virtual resources are dynamically assigned and reassigned to fulfill the demands of the consumers. Through multi-tenancy, consumers normally have no control or knowledge concerning the geographical location of the provided resources; however, an elevated level of abstraction may be applied in which the consumer can specify certain generalities such as the country, state, or datacenter. The resources provided commonly include storage, processing capabilities, memory, and network bandwidth.
- Rapid elasticity. Rapid elasticity allows the computing capacities to be provisioned and released elastically in response to consumer demand. This process rapidly scales, often appearing to be unlimited as quantities can be appropriated at any time. In some cases, elasticity is applied automatically.
- Measured service. The resources are automatically controlled and optimized through the application of leveraging metering capabilities. Leveraging occurs at a level of abstraction reflective of the type of service to which it is applied, such as storage, processing capabilities, bandwidth, or active user accounts. Resource usage can then be monitored, controlled, and reported as transparency is applied for the consumer and the cloud provider.
The cloud is presented through three service models, consisting of platform as a service (PaaS), infrastructure as a service (IaaS) and software as a service (SaaS) with each service model demonstrating different limitations while providing various computing capabilities to the consumers. For example, SaaS provides browser-initiated application software to consumers while cloud providers assume the responsibility for security and application licensing to provide suitability for public users while IaaS permits the rental of processing, storage, and network capabilities, making it suitable for use by enterprises. The four deployment models for cloud computing are defined as follows:
- The private cloud model provides the cloud infrastructure that is operated within a single organization regardless of the physical location of the cloud. It is managed by staff members of the organization or a third party. This model is implemented to address several motivating facets. The first facet consists of the maximization and optimization of existing internal resources. The second facet addresses security concerns surrounding issues such as data privacy and trust while the third facet addresses the costs of data transfer from the local IT infrastructure to a public cloud as it is quite significant. The fourth facet recognizes that organizations require the ability to maintain full control concerning mission-critical activities that take place behind the organization’s firewalls. The final facet acknowledges that academics often utilized the resources of private clouds for research and instructional purposes.
- The community cloud is developed as several organizations unite to develop and share the cloud infrastructure as well as the fundamental basics consisting of policies, requirements, values, and concerns. This provides a certain degree of economic scalability and democratic equilibrium amongst the partners in this endeavor. Hosting could occur within one of the participating organizations or from a third-party vendor.
- The public cloud is the primary deployment model utilized. It is available to the general cloud public while the cloud service provider retains full ownership and maintains control of the policies, values, profit, costing, and charging models. Amazon EC2, S3, Google AppEngine, and Force.com are examples of public clouds.
- The hybrid cloud provides organizations the ability to combine two or more of the methodologies of the private, community, and public clouds that remain independent while being connected through standardized or proprietary technology to enable data and application portability. This deployment method is implemented to optimize available resources by retaining the core activities of the organization in-house through the use of the private cloud while certain peripheral functions are relegated to the community or public cloud.