Cloud computing relies on sharing of resources to achieve coherence and economies of scale, similar to a utility (like the electricity grid) over a network. At the foundation of cloud computing is the broader concept of converged infrastructure and shared services.
Cloud computing, or simply “the cloud“, also focuses on maximizing the effectiveness of the shared resources. Cloud resources are usually not only shared by multiple users but are also dynamically allocated on-demand. As an example, a cloud computer facility that serves European users during European business hours with a specific application (email) may reallocate the same resources to serve North American users during North America’s business hours with a different application (web services). This approach should maximize the use of computing power and reduce environmental damage – fewer facilities, less power consumption, and decreased cooling demands.
Cloud Service Models
Platform as a service (PaaS)
In the PaaS model, cloud providers deliver a computing platform, typically including the operating system, programming language execution environment, database, and web services. Application developers can develop, execute, and test software solutions on the PaaS environment without the cost and complexity of purchasing and managing the underlying hardware and software layers. With some PaaS offers like Microsoft Azure and Google App Engine, the underlying computer and storage resources scale automatically to match application demand, whereno action is required by the cloud user to allocate resources manually.
Software as a service (SaaS)
In the SaaS model or “on-demand software”, cloud providers install and manage the underlying infrastructure and platforms that run the applications, and cloud users are provided access to applications and databases eliminating the need to install and run the applications on individual personal computers. This model simplifies maintenance and support for the hardware, software, and licensing.
Cloud applications are different from other applications in their scalability—which can be achieved through cloning tasks onto multiple virtual machines at run-time to meet changing work demand. Load balancers distribute the work over the set of virtual machines. This process is transparent to the user, who sees only a single access point. To accommodate a large number of users, cloud applications can be multitenant – any machine serves more than one user organization. The pricing model for SaaS applications is typically a monthly or yearly subscription fee per user allowing scalability and flexibility based on the number of subscribed usersProponents claim SaaS models offer businesses the potential to reduce IT operational costs by outsourcing hardware and software maintenance and support to the cloud provider. This outsourcing solution enables businesses to reallocate IT budgets away from hardware and software spending and expenses associated with IT staff, and redirect these budgets toward strategic IT initiatives. In addition, with centralized hosting of applications, updates can be released without the need for users to install new software. One drawback of the SaaS model is storage of users’ data is located on servers managed by the cloud provider; as a result, there is a possible risk of unauthorized access to that data. For this reason, users are increasingly adopting intelligent third-party key management systems to secure their data.
Unified Communications as a Service (UCaaS)
In the UCaaS model, multi-platform communications over the network are packaged by the service provider. The services could be distributed across multiple devices and platforms including computers and mobile devices. There are several examles of UCaaS services including Voice over IP (VoIP) telephony, unified messaging, video conferencing, and mobile device extension.
Users access cloud computing environments using Internet-enabled devices – personal computers, laptops, tablets and smartphones. Some of these devices – cloud clients – rely on cloud computing for all or a majority of their applications including thin clients and the browser-based Chromebook. Many cloud applications do not require specific software to be installed on the client, rather they use a web browser to interact with the cloud application. With Ajax and HTML5, web user interfaces can achieve a similar, or even better, look and feel compared to native applications.
Private cloud is cloud infrastructure operated solely for a single organization, whether managed internally or by a third-party, and hosted either internally or externally. Undertaking a private cloud project requires a significant level of effort and degree of expertise to virtualize the business environment. In addition, it requires the organization to reevaluate decisions about existing resources and possibly business processes. When implemented correctly, a private cloud infrastructure can dramatically improve business efficiencies, decrease support costs, centralize security protocols, and maximize resource allocations.
When businesses select a private cloud solution from a service provider, they are generally presented with several detractors:
- Service provider hosted data centers are generally capital intensive.
- Businesses purchase allocations of space, hardware, and environmental controls; where subscribed rates could be adjusted to accommodate periodic refresh
Businesses continue to manage these environments, which requires IT resources with specialized skills and experience; ultimately resulting in minimal or no cost savings benefit.
Public cloud is cloud infrastructure that delivers applications and services over a network that is open for public use. Technically there may be little or no difference between public and private cloud architectures, however, security considerations are substantially different for services (applications, storage, and other resources) made available to the public by a service provider. Generally, public cloud service providers like Amazon AWS, Microsoft and Google own and operate the infrastructure at their respective data centers and access is generally via the Internet. To offer clients an additional layer of security, AWS and Microsoft offer direct connect services called “AWS Direct Connect” and “Azure ExpressRoute” respectively; such connections require clients to purchase or lease a private connection to a peering point offered by the cloud provider.
Hybrid cloud is a composition of two or more cloud models (private, community or public) that remain distinct entities, but they are integrated to maximize the benefits from multiple deployment models. Gartner, Inc. defines a hybrid cloud service as a cloud computing service that is composed of some combination of private, public and community cloud services, from different service providers. A hybrid cloud service crosses isolation and provider boundaries so that it can’t be simply put in one category of private, public, or community cloud service. It allows one to extend either the capacity or the capability of a cloud service, by aggregation, integration or customization with another cloud service.
Varied use cases for hybrid cloud composition exist. For example, an organization may store sensitive client data on-premise in a private cloud application, but interconnect that application to a business intelligence application hosted on a public cloud as a SaaS. This example of hybrid cloud extends the capabilities of the enterprise to deliver a specific business service through the addition of externally available public cloud services. Hybrid cloud adoption depends on a number of factors such as data security and compliance requirements, level of control needed over data, and the applications an organization uses.
Another example of the hybrid cloud model is an IT organizations use public cloud computing resources to meet temporary capacity needs that cannot be delivered by the private cloud. This capability enables hybrid clouds to employ cloud bursting for scalability across clouds. Cloud bursting is an application deployment model in which an application runs in a private cloud or data center and “bursts” to a public cloud when the demand for computing capacity increases. A primary advantage of cloud bursting and a hybrid cloud model is the business only pays for additional compute resources when they are needed. Cloud bursting enables data centers to create an in-house IT infrastructure that supports average workloads, and use cloud resources from public or private clouds during spikes in processing demands.
Community cloud shares infrastructure between several organizations from a specific community with common concerns (security, compliance, jurisdiction, etc.), whether managed internally or by a third-party, and either hosted internally or externally. Although the costs are distributed across fewer users than a public cloud option (but more than a private cloud) and the community organizations realize less cost savings than Public cloud options, they do benefit from tighter control over access and security protocols.
Distributed cloud is defined by a set of machines running at different locations, while still connected to a single network or hub service.
The Intercloud is an interconnected global “cloud of clouds” and an extension of the Internet “network of networks” on which it is based. The focus is on direct interoperability between public cloud service providers, more so than between providers and consumers (as is the case for hybrid- and multi-cloud).
Multicloud is the use of multiple cloud computing services in a single heterogeneous architecture to reduce reliance on single vendors, increase flexibility through choice, and mitigate against disasters. It differs from hybrid cloud in that it refers to multiple cloud services, rather than multiple deployment models (public, private, legacy).