What is Cloud Computing

Rumman Ansari   Software Engineer   2023-02-08   5922 Share
☰ Table of Contents

Table of Content:


At its simplest, cloud computing is the dynamic delivery of information technology resources and capabilities as a service over the Internet. Cloud computing is a style of computing in which dynamically scalable and often virtualized resources are provided as a service over the Internet. It generally incorporates infrastructure as a service (IaaS), platform as a service (PaaS), and software as a service (SaaS). According to Gartner Group, the attributes of cloud computing are:

  • Service-based
  • Scalable and elastic
  • Shared
  • Metered by use
  • Use of Internet technologies

The most frequently cited benefits of cloud computing are:

  • It is agile, with ease and speed of deployment
  • Its cost is user-based, and will likely be reduced
  • In-house IT costs are reduced
  • Capital investment is reduced
  • The latest technology is always delivered
  • The use of standard technology is encouraged and facilitated
What is Cloud Computing

The basic idea of Cloud is to radically shift IT from capital investments in the server, network, storage and application infrastructure to an operation focussed pay-as-you-use model that brings agility and efficiency of scale.

Cloud: A Matter of Perspective
  • End User: An end user-centric view of technology where applications are available through easy purchase, rental or development, whenever, wherever without dependencies on Infrastructure.

  • CFO: An approach to consume technology in a pay-as-you-use model as opposed to a large capex model.

  • CIO: A comprehensive virtualization model for all technology from infrastructure through delivery that reduces complexity and improves agility significantly.

We’re Using Cloud Computing Already

The National Institute for Standards and Technology (NIST), Information Technology Laboratory offers this definition of Cloud Computing. It’s as good as any.

Cloud computing is a model for enabling 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. The cloud model of computing promotes availability.

Characteristics of Cloud Computing

On-demand self-service:
A consumer armed with an appropriate delegation of rights (permission) can unilaterally provision computing capabilities, such as server time and network storage, as needed and automatically, without requiring human interaction with each service’s provider.

Broad network access:
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).

Resource pooling:
The provider’s computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to consumer demand. There is a sense of location independence in that the customer generally has no control or knowledge 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). Examples of separately allocable resources include storage, processing, memory, network bandwidth, and virtual machines.

Rapid elasticity:
Capabilities can be rapidly and elastically provisioned, in some cases automatically, to scale out quickly and then rapidly released to scale in quickly. To the consumer, the capabilities available for provisioning often appear to be unlimited and can be purchased in any quantity at any time.

Measured service:
Cloud systems automatically control and optimize resource use by leveraging a metering capability at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency for both the provider and consumer of the utilized service.

Cloud Service Models

The three service models defined by NIST are essentially a hierarchy:


Cloud Software as a Service (SaaS):
The capability provided to the consumer in this highest level is to use the provider’s applications running on a cloud infrastructure. The applications are accessible
from various client devices through a thin client interface such as a Web browser (e.g., Web-based e-mail). The consumer does not manage or control the underlying cloud infrastructure, including network, servers, operating systems, storage, or even individual application capabilities, with the possible exception of limited user-specific application configuration settings.

Cloud Platform as a Service (PaaS)
The capability provided to the consumer in this intermediate level is to deploy onto the cloud infrastructure consumer-created or acquired applications developed
using programming languages and tools supported by the provider. The consumer does not manage or control the underlying cloud infrastructure, including network, servers, operating systems, or storage, but has to control over the deployed applications and possibly application hosting environment configurations.

Cloud Infrastructure as a Service (IaaS)
The capability provided to the consumer is to provision processing, storage, networks, and other fundamental computing resources where the consumer is able
to deploy and run arbitrary software, which can include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure but has control over operating systems, storage, deployed applications, and possibly limited control of select networking components (e.g., host firewalls).

Deployment Models of Cloud Computing

Four models of cloud deployment are recognized by NIST.

Private cloud:
The cloud infrastructure is operated solely for an organization. It may be managed by the organization or a third party and may exist on premise or off premise.

Community cloud:
The cloud infrastructure is shared by several organizations and supports a specific community that has shared concerns (e.g., mission, security requirements, policy, and compliance considerations). It may be managed by the organizations or a third party and may exist on premise or off premise.

Public cloud:
The cloud infrastructure is made available to the general public or a large industry group and is owned by an organization selling cloud services.

Hybrid cloud:
The cloud infrastructure is a composition of two or more clouds (private, community, or public) that remain unique entities but are bound together by standardized or proprietary technology that enables data and application portability (e.g., cloud bursting for load-balancing between clouds).

Advantages of Cloud Computing

Cloud computing offers a number of advantages when compared with remote or self-hosting:
Agility
—A customer can rapidly and inexpensively re-provision technological infrastructure resources.

Cost control
—Cloud services are typically priced on a utility computing basis with fine-grained usage-based options.

Reduced level of IT skills
—Fewer and less sophisticated IT skills are required for implementation.