Cloud Computing
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.
Key Characteristics:
- On-demand self-service: A consumer can unilaterally provision computing capabilities, such as server time and network storage, as needed automatically without requiring human interaction with each service’s provider.
- Broad network access: Capabilities are available over the network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms (e.g., mobile phones, tablets, laptops, and workstations).
- Resource pooling: The provider’s computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to consumer demand.
- Rapid elasticity: Capabilities can be elastically provisioned and released, in some cases automatically, to rapidly scale out and in commensurate with demand. To the consumer, the capabilities available for provisioning often appear to be unlimited and can be appropriated in any quantity at any time.
- Measured service: Cloud systems automatically control and optimize resource use by leveraging a metering capability at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency for both the provider and consumer of the utilized service.
Service Models:
Cloud computing is defined by five essential characteristics, three service types, and four deployment strategies.
1. Software as a Service (SaaS):
The capability provided to the consumer is to use the provider’s applications running on a cloud infrastructure. The applications are accessible from various client devices through a web browser or application interface. Users don't manage the underlying infrastructure or the application itself.
Examples: Gmail, Salesforce, Microsoft 365.
2. Platform as a Service (PaaS):
The capability provided to the consumer is to deploy onto the cloud infrastructure consumer-created or acquired applications that are created, built on, supported by, and made available on the cloud platform. Users manage their applications and data, but not the operating systems, hardware, or network.
Examples: Google App Engine, Heroku, AWS Elastic Beanstalk.
3. Infrastructure as a Service (IaaS):
The capability provided to the consumer is to provision processing, storage, networks, and other fundamental computing resources where the consumer is able to deploy and run arbitrary software, which can include operating systems and applications. Users have the most control but also the most responsibility.
Examples: Amazon Web Services (AWS) EC2, Microsoft Azure Virtual Machines, Google Compute Engine.
Deployment Models:
- Public Cloud: Resources are owned and operated by a third-party cloud service provider and delivered over the internet.
- Private Cloud: Resources are used exclusively by a single business or organization. It can be physically located on the company’s on-premises datacenter or hosted by a third-party service provider.
- Hybrid Cloud: Combines public and private clouds, bound together by technology that allows data and applications to be shared between them.
- Community Cloud: Infrastructure is shared by several organizations and caters to a specific community that has shared concerns (e.g., security, compliance, jurisdiction).
Understanding cloud computing is fundamental in today's digital landscape, enabling innovation and agility for businesses and individuals alike.
Explore More Concepts