Cloud computing is a type of computing that relies on shared computing resources rather than having local servers or personal devices to handle applications.
In its most simple description, cloud computing is taking services (“cloud services”) and moving them outside an organization’s firewall. Applications, storage and other services are accessed via the Web. The services are delivered and used over the Internet and are paid for by the cloud customer on an as-needed or pay-per-use business model.
NIST Cloud Computing Introduction and Definition
The National Institute of Stands and Technology (NIST) has a more comprehensive definition of cloud computing. It describes cloud computing as “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.”
Characteristics of Cloud Environments
According to the NIST, all true cloud environments have five key characteristics:
On-demand self-service: This means that cloud customers can sign up for, pay for and start using cloud resources very quickly on their own without help from a sales agent.
- Broad network access: Customers access cloud services via the Internet.
- Resource pooling: Many different customers (individuals, organizations or different departments within an organization) all use the same servers, storage or other computing resources.
- Rapid elasticity or expansion: Cloud customers can easily scale their use of resources up or down as their needs change.
- Measured service: Customers pay for the amount of resources they use in a given period of time rather than paying for hardware or software upfront. (Note that in a private cloud, this measured service usually involves some form of chargebacks where IT keeps track of how many resources different departments within an organization are using.)
Cloud Delivery Models
Cloud computing can be divided into several sub-categories depending on the physical location of the computing resources and who can access those resources.
Public cloud vendors offer their computing services to anyone in the general public. They maintain large data centers full of computing hardware, and their customers share access to that hardware.
By contrast, a private cloud is a cloud environment set aside for the exclusive use of one organization. Some large enterprises choose to keep some data and applications in a private cloud for security reasons, and some are required to use private clouds in order to comply with various regulations.
Organizations have two different options for the location of a private cloud: they can set up a private cloud in their own data centers or they can use a hosted private cloud service. With a hosted private cloud, a public cloud vendor agrees to set aside certain computing resources and allow only one customer to use those resources.
A hybrid cloud is a combination of both a public and private cloud with some level of integration between the two. For example, in a practice called “cloud bursting” a company may run Web servers in its own private cloud most of the time and use a public cloud service for additional capacity during times of peak use.
A multi-cloud environment is similar to a hybrid cloud because the customer is using more than one cloud service. However, a multi-cloud environment does not necessarily have integration among the various cloud services, the way a hybrid cloud does. A multi-cloud environment can include only public clouds, only private clouds or a combination of both public and private clouds.
Common Cloud Service Models
Cloud services are typically deployed based on the end-user (business) requirements.
The primary services include the following:
- Software as a Service (SaaS)
SaaS is a software delivery method that provides access to software and its functions remotely as a Web-based service. Instead of paying an upfront fee to purchase and/or license software, SaaS customers pay a recurring (often monthly or annual) fee to subscribe to the service. In general, they can access the SaaS from any Internet-connected device, any time day or night. Well-known examples of SaaS include Salesforce.com, Microsoft Office 365, Google G Suite, Dropbox, Adobe Creative Cloud and others.
- Platform as a Service (PaaS)
PaaS is a computing platform being delivered as a service. Here the platform is outsourced in place of a company or data center purchasing and managing its own hardware and software layers. Most PaaSes are designed for developers and aim to simplify the process of creating and deploying software. For example, a Web developer might use a PaaS that includes operating system software, Web server software, a database and related Web development tools. The leading PaaS vendors include Amazon Web Services, Microsoft Azure, IBM and Google Cloud Platform.
- Infrastructure as a Service (IaaS)
Computer infrastructure, such as servers, storage and networking delivered as a service. IaaS is popular with enterprises that appreciate the convenience of having the cloud vendor manage their IT infrastructure. They also sometimes see cost savings as a result of paying only for the computing resources they use. The leading IaaS vendors include Amazon Web Services, Microsoft Azure, IBM and Google Cloud Platform.
While SaaS, PaaS and IaaS are the three most common types of cloud services, cloud computing vendors sometimes also use other “as a service” labels to describe their offerings. For example, some offer database as a service (DBaaS), mobile back-end as a service (MBaaS), functions as a service (FaaS) or others.
Benefits of Cloud Computing
Consumers and organizations have many different reasons for choosing to use cloud computing services. They might include the following:
- Low costs
- Anytime, anywhere access
- High availability