Cloud Computing Fundamentals

This is my cloud computing study guide.

Cloud Computing Fundamentals: A Comprehensive Study Guide

Cloud computing has revolutionized the way businesses and individuals access, manage, and deploy computing resources. This guide explores the fundamental aspects of cloud computing, including terminology, service models, deployment strategies, key characteristics, and the roles involved in cloud ecosystems.

Cloud Terminology: Understanding Key Concepts

The term "cloud" is widely used in modern technology, often with varying interpretations. Broadly speaking, cloud computing refers to the delivery of on-demand computing services—including storage, processing power, networking, and software—over the internet. These services are provided through a scalable, shared infrastructure, allowing users to access resources without direct hardware management.

Essential Cloud Computing Terms

  • Cloud Application: A software application that operates on remote servers rather than on a user’s local device. Users interact with these applications via a network connection (typically the internet).

  • Cloud Application Portability: The capability to transfer a cloud-based application from one cloud provider to another without significant reconfiguration.

  • Cloud Data Portability: The ability to seamlessly migrate data between different cloud service providers while maintaining integrity and accessibility.

  • Cloud Deployment Model: The framework defining how cloud services are provisioned, configured, and delivered. The primary models include publicprivate, and hybrid clouds.

  • Infrastructure as a Service (IaaS): A cloud service model where providers deliver fundamental computing resources (servers, storage, networking) over the internet, allowing users to deploy and manage virtualized infrastructure.

  • Measured Services: A billing model where cloud resources are monitored, controlled, and billed based on actual usage (e.g., pay-per-use for CPU, storage, or bandwidth).

  • Multitenancy: A cloud architecture where multiple customers (tenants) share the same underlying infrastructure while remaining logically isolated for security and privacy.

  • On-Demand Self-Service: A key cloud feature enabling users to provision computing resources (e.g., virtual machines, storage) automatically without requiring manual intervention from the provider.

  • Platform as a Service (PaaS): A cloud model where providers supply a managed platform (including runtime environments, development tools, and middleware) for developing, testing, and deploying applications.

  • Resource Pooling: The aggregation of computing resources (e.g., CPU, memory, storage) that are dynamically allocated to multiple customers based on demand.

  • Reversibility: The ability for a cloud customer to completely withdraw their data and applications from a provider’s environment, ensuring no residual data remains.

  • Software as a Service (SaaS): A cloud offering where fully functional applications are hosted and maintained by the provider, accessible to users via the internet (e.g., Gmail, Microsoft 365).

  • Tenant: A cloud customer or group of customers sharing access to a common pool of cloud resources while maintaining logical separation from other tenants.

Roles in Cloud Computing

Various stakeholders participate in cloud ecosystems, each with distinct responsibilities:

  • Cloud Auditor: An independent entity responsible for evaluating cloud services for compliance, security, and performance.

  • Cloud Service Broker: An intermediary that assists customers in selecting, negotiating, and managing cloud services from different providers.

  • Cloud Service Customer: An organization or individual that contracts cloud services from a provider (e.g., a business using AWS for hosting).

  • Cloud Service Partner: A third-party vendor (e.g., consultants, integrators) that supports either cloud providers or customers in deploying and optimizing cloud solutions.

  • Cloud Service Provider (CSP): A company offering cloud-based services (e.g., AWS, Microsoft Azure, Google Cloud).

  • Cloud Service User: An end-user who interacts with cloud applications (e.g., an employee accessing a SaaS-based CRM system).

Core Characteristics of Cloud Computing

For a system to be classified as a cloud environment, it must exhibit the following essential attributes:

  1. On-Demand Self-Service

    • Users can instantly provision computing resources (e.g., virtual machines, storage) via automated interfaces (e.g., web portals, APIs) without human intervention.

    • Example: A developer spinning up a new server in AWS within minutes.

  2. Broad Network Access

    • Cloud services are accessible over standard network protocols (e.g., HTTP, SSH) from diverse devices (laptops, smartphones, tablets).

    • Example: Accessing Google Drive from both a desktop browser and a mobile app.

  3. Resource Pooling

    • Providers utilize a shared infrastructure to serve multiple customers, dynamically allocating resources based on demand.

    • Example: A single physical server hosting multiple virtual machines for different clients.

  4. Rapid Elasticity

    • Resources can be scaled up or down quickly to accommodate workload fluctuations.

    • Example: An e-commerce site scaling server capacity during a holiday sale.

  5. Metered Service

    • Usage is monitored, and customers are billed based on consumption (e.g., per GB of storage, per hour of compute time).

    • Example: Paying only for the Azure virtual machines used in a given month.

  6. Multitenancy

    • Multiple customers share the same physical infrastructure while maintaining logical isolation.

    • Example: Different companies using Salesforce without accessing each other’s data.

Virtualization: The Backbone of Cloud Computing

Virtualization is the foundational technology enabling cloud computing. It abstracts physical hardware into virtual instances, allowing multiple virtual machines (VMs) or containers to run on a single physical server.

How Virtualization Powers the Cloud

  • Efficient Resource Utilization: Maximizes hardware usage by running multiple workloads on the same machine.

  • Dynamic Allocation: Resources (CPU, RAM, storage) can be adjusted on-the-fly without physical changes.

  • Isolation & Security: Virtualization ensures workloads remain segregated, enhancing security.

Popular virtualization platforms include VMware, Hyper-V, and KVM.

Cloud Service Categories

Cloud services are typically categorized into three models, each offering varying levels of control and management:

1. Infrastructure as a Service (IaaS)

  • What It Provides: Virtualized computing resources (servers, storage, networking).

  • Customer Responsibility: OS, middleware, applications, data.

  • Use Case: Businesses needing full control over their infrastructure (e.g., hosting custom applications on AWS EC2).

2. Platform as a Service (PaaS)

  • What It Provides: Pre-configured development environments (e.g., databases, runtime environments).

  • Customer Responsibility: Applications and data.

  • Use Case: Developers focusing on coding without managing underlying infrastructure (e.g., deploying apps on Heroku).

3. Software as a Service (SaaS)

  • What It Provides: Fully managed applications accessible via the internet.

  • Customer Responsibility: Configuration and user management.

  • Use Case: Organizations using cloud-based email (e.g., Gmail) or collaboration tools (e.g., Slack).

Cloud Deployment Models

1. Public Cloud

  • Definition: Services offered to the general public over the internet (e.g., AWS, Google Cloud).

  • Advantages: Cost-effective, scalable, no hardware maintenance.

  • Example: A startup hosting its website on DigitalOcean.

2. Private Cloud

  • Definition: Dedicated infrastructure for a single organization (on-premises or hosted).

  • Advantages: Enhanced security, customization, compliance control.

  • Example: A bank running sensitive transactions on its own private cloud.

3. Hybrid Cloud

  • Definition: A mix of public and private clouds, often with orchestration between them.

  • Advantages: Flexibility, cost optimization, disaster recovery.

  • Example: A company using AWS for web hosting while keeping customer data in a private data center.

Conclusion

Cloud computing continues to evolve, offering businesses unprecedented flexibility, scalability, and cost efficiency. By understanding its core principles—terminology, service models, deployment strategies, and key roles—organizations can make informed decisions when adopting cloud solutions. Whether leveraging IaaS for full control, PaaS for streamlined development, or SaaS for turnkey applications, the cloud provides a powerful foundation for modern digital transformation.