Cloud service providers deliver computing services to their customers over the Internet.
Here's a more formal definition of cloud computing from the *National Institute of Standards and Technology*:
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.
The resources provided by the cloud are available to customers wherever they may be. Many of the key benefits of the cloud derive from the fact that it *uses a shared pool of resources* that may be configured for different purposes by different users.
This sharing allows **oversubscription** because not everyone will use all their resources at the same time and it achieves economies of scale. The fact that many different users share resources in the same cloud infrastructure is known as **multitenancy**.
In most cases, you can provision and de-provision cloud resources in a few minutes with a few clicks. You can acquire new cloud resources almost immediately when you need them and you can turn them off when they are no longer required.
The rapid provisioning and releasing of cloud services also takes place with minimal management effort and service provider interaction.
### Benefits of the Cloud
- **On-demand self-service computing**. Cloud resources are *available when and where you need them*. This provides developers and technologists with incredible agility, reducing cycle times and increasing the speed of deployment.
- **[[Scalability]]**. As the demand for a cloud-based service increases, customers can manually or automatically *increase the capacity of their operations*. In some cloud environments, the cloud service provider may do this in a manner that is completely transparent to the customer.
![[Horizontal vs Vertical Scaling.png]]
- **Elasticity**. Elasticity and scalability are closely related. Scalability is focused on rapidly increasing capacity. Elasticity says that *capacity should expand and contract as needs* change to optimise costs. If your website starts to experience a burst in activity, elasticity allows you to automatically add servers until that capacity is met and then remove those servers when the capacity is no longer needed.
- **Measured service**. Everything you do in the cloud is *measured by the provider*. Providers track the number of seconds of processing time you consume, the amount of storage you occupy, the number of log entries that you generate, and many other measures.
- **Agility and flexibility**. The speed to *provision cloud resources* and the *ability to use them for short periods* of time lends tremendous agility and flexibility to technology organisations. Developers and engineers who wish to try a new idea can rapidly spin up a test environment, evaluate the approach, and decide whether to move it into production with minimal effort and cost.
### [[Cloud Roles]]
### [[Cloud Service Models]]
### [[Cloud Deployment Models]]
### [[Shared Responsibility Model]]
### [[Cloud Standards and Guidelines]]
### [[Cloud Security]]