Community Submission - Author: Anonymous

In computer science, the term cloud refers to a shared pool of resources, which are made available to multiple users through the Internet. Such resources are usually related to data storage and computing power, but may also include different types of services, applications, networks, and servers.

Typically, cloud-based resources are easily and conveniently accessible and can be reconfigured dynamically to fit multiple purposes, with varying levels of scalability. Today, cloud computing technology is widely spread across several areas of human life. Several services and applications are built over a cloud.

For instance, on-demand streaming services like Netflix are leveraging cloud computing capabilities to scale efficiently and provide the best user experience possible. Popular online messaging and voice call applications, such as Skype and WhatsApp, are also using cloud computing to allow high-quality communication between their users. Other examples include the cloud-based solutions provided by Microsoft Office 365 and Google G Suite, which are helping millions of people worldwide, making it easy to work and collaborate in real-time from anywhere and at any time.

Peter Mell and Timothy Grance of the US National Institute of Standards and Technology (NIST) describe cloud computing as a technology composed of three service models, and four deployment models.

The three cloud computing service models include:

  • Infrastructure as a service (IaaS): offers fundamental computing resources like data processing, data storage, and networking capabilities. These can be based on cloud computing services like Amazon EC2, Microsoft Azure, and Google Compute Engine.
  • Platform as a service (PaaS): provides platforms allowing customers to develop and deploy acquired or consumer-created applications to a cloud computing platform. AWS Elastic Beanstalk, Heroku, and Google App Engine are some examples of PaaS models.
  • Software as a service (SaaS): combines infrastructure and software running in the cloud. The users get access to a provider‚Äôs software applications and databases, while the cloud provider fully manages the underlying infrastructure and platforms that run the applications. Salesforce, Microsoft Office 365, and Slack are examples of SaaS models.

The four cloud computing deployment models include:

  • Public cloud: a cloud that may be owned and operated by businesses, governmental institutions, or other third-party cloud service providers. Public clouds are designed for open use by the public.
  • Private cloud: a cloud that virtualizes and distributes the IT infrastructure for exclusive use by a single organization and its consumers or business units (i.e., not open to the general public).
  • Community cloud: a cloud that virtualizes and distributes the IT infrastructure for a particular group or community of consumers, which have the compatible goals and concerns (e.g., security requirements, policy, compliance considerations, etc.).
  • Hybrid cloud: a combination of two or more different cloud infrastructures (public, community, or private).