<img alt="" src="https://secure.smart-company-365.com/265863.png" style="display:none;">

What is Cloud Computing?

Cloud computing is a generic buzzword that generally refers to computing services offered on-demand from shared infrastructure somewhere on the Internet.

Cloud Security Alliance Definition of Cloud Computing

Cloud Security Alliance (CSA) defines cloud computing as:

Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services).

NIST Cloud Computing Definition

NIST (US National Institute of Standards and Technology) has published a dedicated document defining cloud computing as NIST Special Publication 800-145.

NIST defines cloud computing as:

Cloud computing is a model for enabling ubiquitous, 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. This cloud model is composed of five essential characteristics, three service models, and four deployment models.

The NIST definition includes the following essential characteristics:

  • On-demand self-service. A consumer can unilaterally provision computing capabilities, such as server time and network storage, as needed automatically without requiring human interaction with each service 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, tablets, laptops, and workstations).

  • 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 resources include storage, processing, memory, and network bandwidth.

  • Rapid elasticity. Capabilities can be elastically provisioned and released, in some cases automatically, to scale rapidly outward and inward commensurate with demand. To the consumer, the capabilities available for provisioning often appear to be unlimited and can be appropriated in any quantity at any time.

  • Measured service. Cloud systems automatically control and optimize resource use by leveraging a metering capability1 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.

Characteristics of cloud computing services

Cloud services, particularly public cloud services share certain characteristics that are expected from all cloud service providers.


 

Available On-Demand

Cloud services are expected to be available on-demand. A customer can typically create a new instance or a new customer relationship online at any time using a credit card, without having to wait for delivery and without having to go through a complicated purchasing process.

Accessible from a Network

Cloud services are generally accessible fromt the public Internet. Private cloud services would generally be accessible from anywhere within the enterprise. Additional security restrictions, such as a virtual firewall, may be configured to limit what services may be accessed from where. A VPN (Virtual Private Network) connection may also be offered between on-premise resources and an isolated set of servers in a public cloud ("virtual private cloud").

Resource Pooling ("Overbooking")

Much of the cost advantage of cloud services comes from resource pooling and overbooking. Statistically, most applications and services don't operate at their peak capacity most of the time, and different applications peak at different times. Cloud services utilize this to overbook capacity so that most of the time all services get enough capacity. Some services may be configured to have guaranteed service, while others may run opportunistically only when there is spare capacity. In most cases, customers are willing to accept that services may run somewhat slower at times.

Elastic Scalability

A key characteristic and benefit of cloud computing is elastic scalability. For example, if a web application gets an unusual amount of traffic, more servers may be created to provide that service. Thus, the application can gracefully and automatically scale with demand.

Scalability also allows cost-effectively running workloads that need a very high number of servers but only for short periods of time or occasionally. Many customers have such workloads, and especially if they can utilize the spare capacity, they can be run very cost-effectively.

Measured Service

Cloud services generally charge users per hour of resource usage, or based on the number of certain kinds of transactions that have occurred, amount of storage in use, and the amount of data transferred over a network. All usage is measured.

The measurements are also used by the cloud service provider to determine how to best allocate its physical computing resources to all of its customers to best meet its SLA (Service Level Agreement) commitments and minimize the cost of providing the service (thus maximizing its margins and competitiveness).

Service Level Agreements

Many cloud services provide service level agreements that guarantee a certain level of availability, performance, or capacity. Lowest-cost service tiers usually come without any guarantees, while higher-paying tiers are specified to offer certain guarantees. Large enterprises are generally able to negotiate custom service guarantees.

Multitenancy

A key distinguishing characteristic of public cloud services is multitenancy. The infrastructure serves multiple customers, and in SaaS, even the same virtual machine may serve multiple customers. Sometimes compliance requirements mandate that a service must run on a dedicated infrastructure that is not shared. Such an arrangement eliminates certain security risks, such as escaping virtual machines and spreading an attack to other customers running on the same infrastructure. Many cloud services offer dedicated servers to counter this. Some service providers will even create a dedicated cloud infrastructure, complete with dedicated and isolated provisioning tools, for larger customers on demand.