Before discussing the different cloud models we need to fully understand what cloud computing is. The National Institue of Standards and Technology (NIST) has defined cloud computing in a document called SP 800-145. The document is 7 pages but it’s only the last 2 pages that specify the important details. I recommend having a look at the document.
The essential characteristics of a cloud are:
- On-demand self-service
- Broad network access
- Resource pooling
- Rapid elasticity
- Measured service
There are different cloud deployment models that we need to understand the differences between. A public cloud is open and anybody may consume its services. Examples of public clouds are AWS, Azure, and GCP. A private cloud on the other hand is provisioned exclusively for a single organization and is NOT open to the public. A combination of a public cloud and a private cloud is a hybrid cloud that might give you the best of two worlds. A common use case for this is to use the public cloud for bursts of traffic. Another type of cloud is a community cloud which is provisioned for exclusive use by a specific community of consumers.
SP 800-145, The NIST Definition of Cloud Computing | CSRC