Introduction to Cloud Computing
- Cloud computing is more than just remote servers—it provides extensive functionality and advantages
over traditional on-premises data centers.
- Key characteristics include:
- Global deployment: Host applications and services anywhere in the world.
- Scalability: Access virtually unlimited
CPU,
storage, and network resources from public cloud providers.
- Rapid deployment: Launch entire application instances instantly, unlike
physical data centers that require hardware procurement, setup, and configuration.
- Flexibility: Scale resources up or down based on demand, reducing costs and
improving efficiency.
Cloud Deployment Models
- Public Cloud:
- Hosted by third-party providers (e.g., Amazon Web Services (AWS),
Microsoft Azure, Google Cloud).
- Accessible via the internet from anywhere.
- Ideal for applications requiring global reach or variable demand.
- Private Cloud:
- Deployed in an organization’s own data center with dedicated hardware and infrastructure.
- Offers greater control over data and security but requires upfront investment.
- Commonly used for internal applications or sensitive workloads.
- Hybrid Cloud:
- Combines public and private clouds, allowing organizations to leverage both models.
- Example: Running internal apps on a private cloud while using public cloud for
customer-facing services.
- Community Cloud:
- Shared infrastructure among multiple organizations with similar needs (e.g.,
industry-specific requirements).
- Reduces costs by distributing expenses across participants.
Cloud Service Models
- Infrastructure as a Service (IaaS):
- Also called Hardware as a Service (HaaS).
- Provider supplies
hardware (CPU, storage, networking), while the customer
manages operating systems, applications, and data.
- Example: Renting a virtual server from a cloud provider and installing your own OS and
software.
- Use case: Web hosting, development environments.
- Pros: High control and security; Cons: High management overhead.
- Platform as a Service (PaaS):
- Provider supplies a development platform (e.g.,
runtime environments,
databases, middleware).
- Customer focuses on building and deploying applications without managing underlying
infrastructure.
- Example: Salesforce Platform, Google App Engine.
- Use case: Custom application development, API hosting.
- Pros: Faster development; Cons: Less control over infrastructure.
- Software as a Service (SaaS):
- Fully managed applications delivered over the internet (e.g., Google
Workspace, Microsoft 365).
- No installation or maintenance required—users access via a web browser.
- Example: Email services, collaboration tools.
- Use case: End-user applications with minimal IT overhead.
- Pros: No maintenance; Cons: Limited customization.
Cloud Responsibility Matrix
- Defines which components are managed by the provider vs. the customer.
- On-Premises: Customer manages everything (data, applications, OS, hardware,
networking).
- IaaS:
- Provider: Physical data center, hardware, networking.
- Customer: OS, applications, data, security.
- PaaS:
- Provider: Platform (runtime, middleware, OS), infrastructure.
- Customer: Applications, data.
- SaaS:
- Provider: Everything (application, data, OS, infrastructure).
- Customer: User access, authentication, devices.
Advantages of Cloud Computing
- Cost Efficiency:
- Pay-as-you-go model eliminates upfront hardware costs.
- Reduce expenses by scaling resources based on demand (e.g., seasonal workloads).
- Geographical Flexibility:
- Deploy applications in regions closest to users for better performance (e.g., Europe-based
services for European customers).
- Disaster Recovery and Redundancy:
- Built-in backup and failover capabilities across multiple data centers.
- Automation and Speed:
- Instant provisioning and deprovisioning of resources via APIs or dashboards.