Cloud Computing Characteristics
Cloud services, particularly public cloud services share certain characteristics that are expected from all cloud service providers.
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 (
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.
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.
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.
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.