Foundations of Cloud Computing
Understand cloud computing fundamentals, core service models (IaaS, PaaS, SaaS), and emerging paradigms such as edge, microservices, and cloud‑native architectures.
Summary
Read Summary
Flashcards
Save Flashcards
Quiz
Take Quiz
Quick Practice
How is cloud computing defined as a paradigm?
1 of 17
Summary
Cloud Computing: Definition, Characteristics, and Core Concepts
Introduction
Cloud computing represents a fundamental shift in how organizations and individuals access computing resources. Rather than maintaining expensive, specialized hardware and software on-site, cloud computing allows users to access computing capabilities over the internet on demand, paying only for what they use. This paradigm has become central to modern IT infrastructure because it enables organizations to focus on their core business while reducing the burden of managing complex technical infrastructure.
What Is Cloud Computing?
Cloud computing is a model that enables network access to a scalable and elastic pool of shareable computing resources—both physical and virtual—that can be provisioned and released on demand with minimal effort.
The key insight here is the shift from ownership to access. Instead of buying and maintaining servers, storage devices, and software licenses, users can rent these capabilities from cloud providers whenever needed.
The Five Essential Characteristics
The National Institute of Standards and Technology (NIST) defines cloud computing through five essential characteristics that distinguish it from traditional computing models:
On-demand self-service means users can automatically provision computing resources—such as server time and storage—without waiting for human intervention from the provider. Think of it like turning on a light switch rather than calling an electrician each time you need power.
Broad network access ensures that cloud capabilities are accessible from anywhere over the internet through diverse devices. Whether you're using a smartphone, tablet, laptop, or desktop computer, you can access the same cloud services consistently. This heterogeneity is crucial for modern, distributed work environments.
Resource pooling allows cloud providers to serve multiple users simultaneously using a multi-tenant model. The provider's physical and virtual resources are dynamically assigned to different customers based on demand. This is more efficient than each customer maintaining their own dedicated infrastructure, similar to how a shared apartment building is more efficient than everyone owning a separate house.
Rapid elasticity means the cloud can automatically scale resources up or down in response to demand. When you need more computing power temporarily, the cloud expands capacity. When demand drops, resources are released. To users, this appears as unlimited capacity, though resources are actually being managed dynamically behind the scenes.
Measured service implements metering and monitoring of cloud usage. Users receive detailed reports about their consumption of storage, processing power, bandwidth, and active accounts. This transparency enables fair billing and helps users optimize their spending—similar to how utilities bill you for electricity based on actual consumption.
Fundamentals: How Cloud Computing Works
The Enabling Technology: Virtualization
Virtualization is the technological foundation that makes cloud computing practical. Virtualization separates a single physical computing device (like a server) into multiple independent virtual devices that operate as if they were separate machines. Each virtual machine can run its own operating system and applications independently, even though they share the underlying physical hardware.
Operating-system level virtualization is particularly important for cloud efficiency. It creates many lightweight, independent virtual environments that can be managed separately. This allows providers to allocate unused computing resources efficiently—if one application isn't using its allocated processor time, that capacity can be dynamically reassigned to another application. Without virtualization, this kind of flexible, efficient resource sharing would be impossible.
From Vision to Practice: Autonomic Computing and Utility Models
Autonomic computing automates the provisioning and management of resources on demand, minimizing the need for human intervention. Rather than manually requesting resources from IT staff, users simply specify what they need, and the cloud automatically allocates appropriate resources.
Utility computing adopts the billing model of traditional utilities like electricity or water. You pay for what you consume, measured precisely through metering. This contrasts sharply with traditional IT, where organizations purchase expensive equipment upfront whether they fully use it or not. Cloud computing's utility model significantly reduces both capital expenses and the burden of managing underutilized hardware.
Cloud Service Types and Architecture
Understanding the Service Models
Cloud services are typically organized into three primary types, distinguished by how much responsibility the provider versus the customer assumes:
Software-as-a-Service (SaaS) delivers complete, ready-to-use applications over the internet. Users access these applications through a web browser without installing anything locally. Examples include email services, document collaboration tools, and customer relationship management (CRM) software. With SaaS, users never worry about infrastructure, operating systems, or even basic software maintenance—the provider handles everything.
Platform-as-a-Service (PaaS) provides a development platform where developers can build and deploy their own applications. Think of it as renting a complete development environment in the cloud. Developers get databases, programming runtimes, development tools, and deployment infrastructure without managing the underlying servers or storage systems. PaaS is ideal for teams building custom applications.
Infrastructure-as-a-Service (IaaS) provides the raw computing resources: virtual machines, storage systems, and networking capabilities. Users can install and run any operating system and application they choose on these virtual resources. IaaS offers the most flexibility and control but requires users to manage more aspects of their systems.
The image above illustrates a crucial concept: as you move up from IaaS to PaaS to SaaS, the provider manages more of the stack (shown in black), while the customer's management responsibilities decrease. On-premises computing represents the opposite extreme—customers manage everything themselves.
Cloud Architecture and Organization
Cloud architecture defines how computing components (applications, platforms, infrastructure, and data centers) are organized and how they interact. The diagram above shows the layered nature of cloud systems: applications sit at the top, platforms provide development environments, infrastructure supplies raw computing resources, and data centers provide the physical foundation.
Security and Data Protection in the Cloud
Cloud security encompasses the measures and practices that protect data, applications, and infrastructure within cloud environments. This is a CRITICAL concern because data security doesn't disappear when you move to the cloud—it just shifts some responsibility to the provider while you retain responsibility for other aspects.
Common security considerations include:
Data encryption both in transit (moving to/from the cloud) and at rest (stored on cloud servers)
Access controls ensuring only authorized users can access specific resources
Compliance with industry regulations and standards
Incident response and data backup procedures
Shared responsibility where both provider and customer contribute to security
The key challenge students often struggle with: understanding that cloud security is not "provider's problem" alone. Users must still secure their credentials, configure access controls appropriately, and maintain responsibility for their own data governance.
Cloud Deployment Models
While cloud service types (SaaS, PaaS, IaaS) describe what you're getting, deployment models describe where those resources are located and who manages them:
Public cloud infrastructure is owned and operated by a cloud provider and shared across multiple organizations. This offers maximum cost efficiency and scalability but gives you less control over security and infrastructure specifics.
Private cloud infrastructure is dedicated to a single organization. It may be managed by the organization itself or by a third-party provider. Private clouds offer greater control and security but require more management effort and investment.
Hybrid cloud combines public and private cloud resources, allowing organizations to use public cloud for flexible, scalable workloads while maintaining sensitive operations on private infrastructure.
The diagram illustrates how these can be combined: on-premises/internal resources can integrate with public cloud services to create a hybrid environment.
<extrainfo>
Additional Concepts
Cloud Service Brokers
A cloud broker mediates between cloud service providers and consumers, helping customers select, integrate, and manage cloud services from multiple providers. Brokers solve the complexity problem when organizations need to use multiple cloud services together.
Edge and Distributed Computing
Edge computing processes data close to where it's generated rather than sending everything to centralized cloud data centers. This reduces latency (delay) and bandwidth consumption, which is critical for real-time applications and IoT devices.
Distributed computing spreads computational workloads across multiple networked computers to improve overall performance and system resilience. While related to cloud computing, it's a broader concept predating cloud technology.
Emerging Cloud Paradigms
Microservices architecture decomposes applications into small, independently deployable services that communicate over the network. This contrasts with monolithic applications where all functionality is tightly integrated. Microservices enable faster development and deployment.
Cloud-native computing designs applications specifically for cloud environments, emphasizing scalability, fault tolerance, and automated management. Cloud-native applications are designed to take advantage of cloud benefits from the ground up, rather than migrating traditional applications to the cloud.
Cloud Integration and Interoperability
Cloud-to-cloud integration connects services across different cloud providers, enabling data and workflow sharing. This is increasingly important as organizations use multiple cloud providers.
Cloudlets are small, nearby data centers that provide low-latency cloud resources to mobile devices. They bridge the gap between mobile clients and distant cloud data centers.
Cloud Management and Observability
Cloud management tools automate provisioning, monitoring, and scaling of cloud resources, reducing manual administration work.
Cloud observability provides insight into system health and performance through metrics, logs, and traces. It answers the critical question: "What is happening in my cloud systems right now?" This is essential for maintaining reliability and diagnosing problems.
</extrainfo>
Flashcards
How is cloud computing defined as a paradigm?
A model enabling network access to a scalable and elastic pool of shareable resources with self-service provisioning on demand.
What are the five essential characteristics of cloud computing according to NIST?
On-demand self-service
Broad network access
Resource pooling
Rapid elasticity
Measured service
What does the characteristic of 'on-demand self-service' allow a consumer to do?
Automatically provision computing capabilities like server time without human interaction.
What is the purpose of 'broad network access' in a cloud environment?
To provide capabilities over the network to heterogeneous client platforms like mobiles, tablets, and workstations.
How does 'resource pooling' serve multiple consumers?
By using a multi-tenant model with dynamic assignment of physical and virtual resources.
What is the primary benefit of 'rapid elasticity' for the consumer?
Capabilities can be automatically scaled outward and inward with demand, appearing unlimited.
What is meant by 'measured service' in cloud systems?
The system automatically controls and optimizes resources through metering, monitoring, and reporting usage.
What is the fundamental function of virtualization?
It separates a physical computing device into one or more independent virtual devices.
How does cloud computing implement utility-computing concepts?
By metering services similarly to traditional utilities like electricity.
What does Software-as-a-Service (SaaS) deliver to users?
Complete applications delivered over the internet.
What is provided by the Platform-as-a-Service (PaaS) model?
A development platform for building and deploying applications.
What resources are supplied in the Infrastructure-as-a-Service (IaaS) model?
Virtualized compute, storage, and networking resources on demand.
How is cloud architecture defined?
The organization and interaction of components like compute, storage, networking, and management.
What is the primary goal of edge computing?
To process data near the source to reduce latency and bandwidth use.
How do microservices structure an application?
By decomposing it into small, independently deployable services that communicate over networks.
What is a cloudlet?
A small, nearby data center providing low-latency resources to mobile devices.
Through what three elements does cloud observability provide insight into system health?
Metrics
Logs
Traces
Quiz
Foundations of Cloud Computing Quiz Question 1: What does Software‑as‑a‑Service (SaaS) deliver?
- Complete applications over the internet (correct)
- Only operating system environments for developers
- Virtualized compute, storage, and networking resources on demand
- A platform for building and deploying custom applications
What does Software‑as‑a‑Service (SaaS) deliver?
1 of 1
Key Concepts
Cloud Computing Concepts
Cloud computing
NIST essential characteristics of cloud computing
Cloud observability
Cloud‑native computing
Cloud Service Models
Infrastructure as a Service (IaaS)
Platform as a Service (PaaS)
Software as a Service (SaaS)
Supporting Technologies
Virtualization
Edge computing
Microservices
Definitions
Cloud computing
A paradigm delivering scalable, on‑demand network access to shared virtualized resources.
NIST essential characteristics of cloud computing
Five attributes (on‑demand self‑service, broad network access, resource pooling, rapid elasticity, measured service) that define cloud services.
Virtualization
Technology that abstracts physical hardware into multiple independent virtual machines.
Infrastructure as a Service (IaaS)
Cloud service model providing virtualized compute, storage, and networking resources.
Platform as a Service (PaaS)
Cloud service model offering a development platform for building and deploying applications.
Software as a Service (SaaS)
Cloud service model delivering complete applications over the internet.
Edge computing
Processing of data near its source to reduce latency and bandwidth consumption.
Microservices
Architectural style that structures applications as a collection of small, independently deployable services.
Cloud‑native computing
Design approach for building applications that fully exploit cloud environments’ scalability and resilience.
Cloud observability
Practice of using metrics, logs, and traces to monitor and understand the health of cloud systems.