DEV Community

Mohit Kumar for AWS Community Builders

Posted on

What is Cloud Computing?

Day 2 Checklist

  • Understand what are the differences between a private data center and Cloud
  • Understand the NIST definition of Cloud Computing
  • 5-4-3 Model of Cloud Computing
  • Differences between IAAS/PAAS/SAAS
  • (Optional) Enroll in the Cloud Computing Crash course 1

English Video

Hindi Video

NIST Definition of Cloud Computing

The National Institute of Standards and Technology (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." 2

The five essential characteristics of cloud computing according to NIST are:

  1. On-demand self-service
  2. Broad network access
  3. Resource pooling
  4. Rapid elasticity
  5. Measured service

The three service models of cloud computing according to NIST are:

  1. Software as a Service (SaaS)
  2. Platform as a Service (PaaS)
  3. Infrastructure as a Service (IaaS)

The four deployment models of cloud computing according to NIST are:

  1. Public cloud
  2. Private cloud
  3. Community cloud
  4. Hybrid cloud

5 Essential Characteristics

1. On-Demand Self-Service

On-demand self-service allows users to provision computing resources, such as virtual machines, storage, and applications, automatically without requiring human intervention from the service provider. This enables users to quickly and easily access the resources they need to meet their business requirements.

2. Broad Network Access

Broad network access enables users to access cloud computing resources over the Internet or other wide-area networks, using a range of devices, such as desktops, laptops, tablets, and smartphones. This allows users to access cloud computing resources from anywhere in the world, using any device with an Internet connection.

3. Resource Pooling

Resource pooling allows cloud computing providers to serve multiple customers from a shared pool of computing resources. Providers can dynamically assign and reassign resources to customers as needed, based on their business requirements. This enables providers to maximize the efficiency and utilization of their computing resources, while providing customers with high availability and scalability.

4. Rapid Elasticity

Rapid elasticity allows users to quickly and easily scale their computing resources up or down, based on their business requirements. This enables users to respond to changes in demand quickly and efficiently, without incurring the costs and complexity of maintaining their own computing infrastructure.

5. Measured Service

Measured service enables users to pay only for the computing resources they use, on a pay-as-you-go basis. Providers can monitor and measure resource usage automatically, enabling users to pay only for the resources they consume, and to avoid upfront costs and long-term commitments.

Cloud Computing deployment Models

1. Public Cloud

Public cloud refers to cloud computing resources and services that are available to the general public over the Internet. Public cloud providers, such as Amazon Web Services, Microsoft Azure, and Google Cloud, offer a range of computing resources, including virtual machines, storage, databases, and applications, that users can access on a pay-as-you-go basis.

2. Private Cloud

Private cloud refers to cloud computing resources and services that are dedicated to a single organization or business, and are not shared with other organizations or the general public. Private cloud resources are typically hosted on-premises or in a data center, and are managed and maintained by the organization's IT department.

3. Community Cloud

Community cloud refers to cloud computing resources and services that are shared by a specific community of users, such as government agencies, educational institutions, or research organizations. Community cloud resources are typically designed to meet the specific needs of the community, and are managed and maintained by the community members.

4. Hybrid Cloud

Hybrid cloud refers to a combination of two or more cloud computing deployment models, such as public cloud, private cloud, or community cloud. Hybrid cloud enables users to leverage the benefits of multiple cloud computing models, such as scalability and cost-effectiveness, while maintaining control over their sensitive data and applications.

Cloud Computing Service Models

Cloud computing is typically categorized into three models:

1. Infrastructure as a Service (IaaS)

Provides users with access to computing infrastructure, such as virtual machines, storage, and networks, over the Internet. Users can deploy and manage their own software and applications on top of the IaaS infrastructure.

2. Platform as a Service (PaaS)

Provides users with access to a platform for developing, deploying, and managing software and applications, without the need to manage the underlying infrastructure. PaaS provides users with a pre-configured environment for developing and deploying their software and applications.

3. Software as a Service (SaaS)

Provides users with access to software applications and services over the Internet, without the need to install and manage the software locally. SaaS enables users to access software and services on a pay-as-you-go basis, without the need to invest in expensive software licenses.

Cloud Computing Benefits

Cloud computing offers several benefits to users, including:

  • Scalability: Cloud computing enables users to scale their computing resources up or down based on their needs, allowing them to meet their changing business requirements and control costs effectively.
  • Flexibility: Cloud computing provides users with the flexibility to choose the computing resources and services they need, without the need to invest in expensive hardware or software.
  • Security: Cloud computing providers offer robust security features, such as encryption, firewalls, and identity and access management, to protect data and applications from unauthorized access and cyber threats.
  • Reliability: Cloud computing providers offer high availability and fault tolerance, ensuring that applications and services are always up and running.
  • Cost-effectiveness: Cloud computing offers pay-as-you-go pricing models, enabling users to pay only for the computing resources they use, and avoiding upfront costs and long-term commitments.

List of Cloud Service Providers

  1. Amazon Web Services (AWS): https://aws.amazon.com/
  2. Microsoft Azure: https://azure.microsoft.com/
  3. Google Cloud Platform (GCP): https://cloud.google.com/
  4. IBM Cloud: https://www.ibm.com/cloud
  5. Oracle Cloud: https://www.oracle.com/cloud/
  6. Alibaba Cloud: https://www.alibabacloud.com/
  7. DigitalOcean: https://www.digitalocean.com/
  8. Rackspace: https://www.rackspace.com/
  9. Salesforce: https://www.salesforce.com/cloud-computing/
  10. VMware Cloud: https://www.vmware.com/cloud
  11. Heroku: https://www.heroku.com/
  12. Linode: https://www.linode.com/
  13. Red Hat OpenShift: https://www.openshift.com/
  14. Digital Realty: https://www.digitalrealty.com/cloud
  15. SAP Cloud Platform: https://www.sap.com/products/cloud-platform.html
  16. Joyent: https://www.joyent.com/
  17. CenturyLink Cloud: https://www.ctl.io/
  18. OVHcloud: https://www.ovhcloud.com/
  19. Tencent Cloud: https://intl.cloud.tencent.com/
  20. Scaleway: https://www.scaleway.com/en/

Reference Links

Cloud Computing & Cloud Native Fundamentals
NIST SP 800-145


Top comments (0)