- Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources such as networks, servers, storage, applications, and services. These resources can be rapidly provisioned and released with minimal management effort or service provider interaction.
- The NIST definition identifies five essential characteristics: on-demand self-service, broad network access, resource pooling, rapid elasticity, and measured service. These characteristics distinguish cloud computing from traditional hosted services and create the foundation for its economic and operational benefits.
- On-demand self-service means consumers can unilaterally provision computing capabilities such as server time and network storage as needed automatically without requiring human interaction with each service provider. This removes the traditional delays associated with procurement and capacity planning.
- Broad network access implies that capabilities are available over the network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms including mobile phones, tablets, laptops, and workstations.
- Resource pooling allows the provider's computing resources to be pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to consumer demand. This creates a sense of location independence where the customer generally has no control over the exact location of the provided resources.
- Rapid elasticity means capabilities can be elastically provisioned and released, in some cases automatically, to scale rapidly outward and inward commensurate with demand. To the consumer, the available capabilities often appear to be unlimited and can be appropriated in any quantity at any time.
- Measured service enables cloud systems to automatically control and optimize resource use by leveraging a metering capability at some level of abstraction appropriate to the type of service such as storage, processing, bandwidth, and active user accounts. Resource usage can be monitored, controlled, and reported, providing transparency for both the provider and consumer.
- The three primary service models are Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS). IaaS provides fundamental computing resources, PaaS offers a platform for developing and deploying applications, and SaaS delivers complete applications over the internet.
- Deployment models include public, private, hybrid, and community clouds. Public clouds are open for public use, private clouds operate solely for one organization, hybrid clouds combine public and private, and community clouds serve a specific community with shared concerns.
- The shared responsibility model outlines which security aspects are managed by the cloud provider and which are managed by the customer. Providers secure the underlying infrastructure, while customers are responsible for protecting their data, identity management, access control, and network configurations.
Pattern: Public Cloud Reference Architecture
Components:
- Frontend: web portals and APIs that allow users to interact with cloud resources.
- Backend: managed services and virtual machines hosting workloads.
- Data: storage buckets, databases, and message queues that persist and exchange information.
- Management: monitoring, logging, and identity services that govern operations.
- Security: network firewalls, encryption keys, and access control policies protecting the environment.
- Cloud computing delivers on-demand IT resources over the internet.
- The five essential characteristics are on-demand self-service, broad network access, resource pooling, rapid elasticity, and measured service.
- Service models include IaaS, PaaS, and SaaS.
- Deployment models include public, private, hybrid, and community clouds.
- The shared responsibility model defines security ownership across customer and provider.