0% found this document useful (0 votes)
25 views45 pages

Cloud Computing

Cloud computing delivers computing services over the Internet, allowing on-demand access to resources without the need for physical infrastructure. It relies on distributed system models, including client-server, peer-to-peer, and cluster computing, and offers various deployment models such as public, private, hybrid, and community clouds. Key benefits include scalability, cost-effectiveness, and improved agility, while challenges involve security, manageability, and performance optimization.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views45 pages

Cloud Computing

Cloud computing delivers computing services over the Internet, allowing on-demand access to resources without the need for physical infrastructure. It relies on distributed system models, including client-server, peer-to-peer, and cluster computing, and offers various deployment models such as public, private, hybrid, and community clouds. Key benefits include scalability, cost-effectiveness, and improved agility, while challenges involve security, manageability, and performance optimization.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 45

CLOUD COMPUTING

WHAT IS CLOUD COMPUTING?

Cloud computing is the delivery of computing services—including


servers, storage, databases, networking, software, analytics, and
intelligence—over the Internet ("the cloud").

This allows for the on-demand usage of these resources without the
need to purchase, manage, and maintain them within your own physical
datacenters.
DISTRIBUTED SYSTEM MODELS AND CLOUD COMPUTING

➢ Cloud computing relies on distributed system models to


function.
➢ These models define how resources are shared and accessed
across a network.
➢ Understanding these models is crucial for grasping the
fundamental principles of cloud architecture.
DISTRIBUTED SYSTEM MODELS

1. Client-Server Model:

This is the most common model, where dedicated servers provide resources and
services to clients.
Clients make requests to servers, which process the requests and send back
responses.
2. Peer-to-Peer (P2P) Model:

In this decentralized model, all nodes (peers) can act as both clients and
servers.
Peers share resources and services directly with each other, without a
central server.
3. Cluster Computing Model:

A group of interconnected computers (nodes) work together as


a single unit, providing high processing power for large tasks.
Nodes are typically similar in functionality and share the
workload amongst themselves.
CLOUD COMPUTING
WHAT IS CLOUD COMPUTING?

Cloud computing is the delivery of computing services—including


servers, storage, databases, networking, software, analytics, and
intelligence—over the Internet ("the cloud").

This allows for the on-demand usage of these resources without the
need to purchase, manage, and maintain them within your own physical
datacenters.
KEY CHARACTERISTICS:

On-demand self-service: Users can provision and access


resources as needed, without going through a lengthy approval
process.
Scalability and elasticity: Resources can be rapidly increased or
decreased to match fluctuating demand.
Pay-as-you-go pricing: You only pay for what you use, leading to
cost savings compared to traditional IT infrastructure
investments.
Broad network access: Cloud services can be accessed from
anywhere with an internet connection.
CLOUD DEPLOYMENT MODELS

Cloud deployment models define how the infrastructure and


resources of a cloud are managed and delivered to users.

➢ Public
➢ Private
➢ Hybrid
➢ Community
1. PUBLIC CLOUD:

Description: Shared cloud infrastructure owned and operated by third-party


providers, available to the general public on a pay-as-you-go basis.

Benefits:
Cost-effective: Pay only for what you use, eliminating upfront hardware investments.
Scalable and elastic: Easily adjust resources up or down to meet changing demands.
Broadly accessible: Accessible from anywhere with an internet connection.

Drawbacks:
Security concerns: Data resides on a shared infrastructure, requiring careful security
considerations.
Vendor lock-in: Switching providers can be complex if your applications become
heavily reliant on the specific features of the platform.
Less control: Limited control over the underlying infrastructure compared to private
clouds.
2. PRIVATE CLOUD:

Description: Dedicated cloud infrastructure used by a single organization,


hosted either on-premises or by a third-party provider.

Benefits:
Increased security: Provides greater control and isolation of data and
applications.
Customization: Tailored to meet specific organizational needs and compliance
requirements.
Predictable performance: Dedicated resources ensure consistent performance.

Drawbacks:
Higher cost: Requires upfront investment in hardware and software, and ongoing
maintenance.
Less scalability: Scaling resources may involve acquiring additional hardware,
which can be slower than in public clouds.
Management complexity: Requires internal expertise to manage the
infrastructure.
3. HYBRID CLOUD:

Description: Combines public and private cloud resources, allowing for data and
applications to move between the two environments based on specific needs.

Benefits:
Leverages the strengths of both models: Offers scalability and cost-effectiveness of
public cloud alongside the security and control of private cloud.
Flexibility: Enables on-demand access to additional resources from the public cloud
to handle spikes in demand.

Drawbacks:
Increased complexity: Managing two separate environments adds complexity and
requires orchestration tools.
Data security considerations: Requires careful planning to ensure consistent
security across both environments.
4. COMMUNITY CLOUD:

Description: Shared cloud infrastructure owned and operated by a group of


organizations with similar interests or needs.

Benefits:
Cost-effective: Lower costs compared to private clouds due to shared resources.
Specialized services: Can cater to specific needs of the member organizations.

Drawbacks:
Limited availability: Not as widely available as public clouds.
Less control: Less control over the infrastructure compared to private clouds.
CLOUD SERVICE MODELS

Cloud service models define the type and level of service offered by cloud
providers. These models determine what the provider manages and what
the responsibility of the user is, allowing you to select the most suitable
option for your specific needs.

➢ IaaS
➢ PaaS
➢ SaaS
1. INFRASTRUCTURE AS A SERVICE (IAAS):

Description: IaaS provides the fundamental building blocks of computing,


including virtualized servers, storage, networking, and operating systems.

User Responsibilities:
Users manage the operating system, applications, and data on the virtualized
resources.
They are responsible for security patching, configuration, and resource
management.

Benefits:
Highly customizable: Users have full control over the underlying infrastructure,
allowing for tailored configurations suited to specific needs.
Cost-effective: Pay only for the resources you use, eliminating upfront hardware
costs.
Scalability: Easily scale resources up or down to meet fluctuating demands.
2. PLATFORM AS A SERVICE (PAAS):

Description: PaaS provides a development and deployment


environment in the cloud, including operating systems, middleware,
databases, and development tools.

User Responsibilities:
Users focus on developing, deploying, and managing their
applications on the platform.
The provider takes care of the underlying infrastructure, operating
system, and middleware.

Benefits:
Reduced development time and complexity: Streamlines the
development process by providing pre-configured tools and services.
Faster time-to-market: Allows rapid deployment and scaling of
applications.
Managed infrastructure: Reduces the burden of managing and
maintaining the underlying infrastructure.
3. SOFTWARE AS A SERVICE (SAAS):

Description: SaaS delivers complete, ready-to-use software applications over


the internet, accessible through a web browser or mobile app.

User Responsibilities:
Users subscribe to the service and access it through the internet, with minimal
to no configuration required.
The provider manages all aspects of the application, including infrastructure,
platform, software updates, and security.

Benefits:
Easy to use and manage: Requires minimal technical expertise, allowing rapid
adoption with low overhead.
Scalability: Automatically scales to accommodate changes in user base and
demand.
Cost-effective: Pay only for the features you use, typically on a subscription
basis.
NIST Cloud Computing Reference Architecture

➢ The National Institute of Standards and Technology (NIST) developed


the Cloud Computing Reference Architecture (RA) to provide a common
framework for understanding and discussing various aspects of cloud
computing

➢ The RA focuses on defining and describing the components and service


offerings of cloud computing, not providing specific design or
implementation instructions. It acts as a common language for
discussing cloud concepts.

➢ Stakeholder Roles
➢ Cloud Service Models and Deployment Models
➢ Security and Compliance
NIST ccra document Link

https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication500-292.pdf
CLOUD INFRASTRUCTURE

Cloud infrastructure is the foundation of cloud computing, providing the essential


building blocks to operate applications and store data

Core Components :
➢ Hardware
➢ Networking
➢ Storage
CORE COMPONENTS:

1. Hardware: The physical foundation, encompassing servers, network devices,


storage systems, and data centers housing the entire infrastructure.

Servers: The workhorses, offering processing power for running applications and
storing data.

-- Bare Metal Servers


-- Virtual Servers
-- Dedicated Hosts

Data centers: Secure physical locations housing all hardware, ensuring optimal
environmental conditions and security.
2. Networking:

Virtual networks: Software-defined networks (SDN) offer control over network


configuration, security, and traffic routing within the cloud.

Internet connectivity: High-bandwidth connections enable communication with


the outside world and user access to cloud services.
3. Storage:

Block storage: Provides raw storage volumes functioning like virtual hard
drives for VMs.

Object storage: Stores data as objects with associated metadata, ideal


for unstructured data and large-scale storage.

File storage: Offers shared file systems accessible through network


protocols for collaboration and data organization.
ARCHITECTURAL DESIGN OF COMPUTE CLOUD

A compute cloud is a component of broader cloud computing systems that


provides on-demand, scalable access to computing resources. These
resources primarily include:

Compute Power (CPUs): Provided by virtual machines of varying sizes and


capabilities.
Memory (RAM): For running applications and processing data.
1. Layers of Abstraction

Physical Hardware: The foundation of the compute cloud includes physical servers,
network switches, power infrastructure, etc., housed in data centers.

Virtualization: Key enabling technology that decouples the underlying hardware


resources from the operating systems and applications. Hypervisors manage the
creation of virtual machines (VMs) which encapsulate these software elements.

Resource Pools: Virtualization allows the aggregation of hardware resources (CPU,


memory, network) into pools. These pools are then dynamically allocated to VMs
as needed.

Orchestration and Management: A software layer automates the provisioning,


scaling, monitoring, and management of VMs and underlying resources. This layer
is crucial for efficiency and self-service.
2. Key Components

Frontend:
Client Interfaces: Web portals, command-line interfaces (CLIs), or APIs that give users
access to interact with the cloud.

Identity and Access Management (IAM): Systems for authentication and authorization of
users and resources within the cloud.

.
Backend:
Virtual Machines (VMs): The core unit of cloud computing, consisting of
virtualized CPUs, memory, storage (often ephemeral), and network interfaces.

Hypervisors: Software like VMware ESXi, KVM, and Hyper-V that create, run,
and manage VMs.

Networking: Software-defined networking (SDN) for flexibility in configuring


virtual networks, security, and routing traffic.

Storage: Options ranging from ephemeral VM storage, block storage


(volumes), object storage (buckets), and file storage.

Management and Orchestration Layer: Tools like OpenStack, Kubernetes, and


cloud provider-specific management services
3. Design Principles

Scalability: The ability of the compute cloud to handle increasing or decreasing


workloads by dynamically allocating or releasing resources.

Elasticity: Closely related to scalability, this is the ability to adapt quickly to changes
in demand.

Resilience: Design for high availability and fault tolerance, often through redundancy,
self-healing mechanisms, and distribution across availability zones or geographic
locations.

Security: Multi-layered security at physical, network, virtualization, and application


levels is paramount.

Pay-As-You-Go Model: Users are charged for the resources they consume, minimizing
upfront investment.
ARCHITECTURAL DESIGN OF STORAGE CLOUD

What is a Storage Cloud?

A storage cloud provides a scalable, distributed, and highly available


storage solution accessible over a network (usually the internet). Its
goal is to abstract away the complexity of managing physical storage
and provide a flexible pool of storage resources to users on demand.
KEY ARCHITECTURAL COMPONENTS

❖ Storage Hardware: At the foundation are physical storage devices like


hard disk drives (HDDs), solid-state drives (SSDs), and potentially even
tape drives, organized within data centers.

❖ Storage Virtualization: A software layer that aggregates and presents


the underlying physical storage as a unified, logical storage pool.

❖ Storage Services: The heart of the storage cloud, providing different


models of data storage:

➢ Block Storage: Raw storage volumes presented to VMs, like virtual hard
drives
➢ Object Storage: Storing data as objects with associated metadata for
massive scalability and easy retrieval via APIs. Ideal for unstructured data
➢ File Storage: Hierarchical storage, providing shared file systems accessible
through network protocols
❖ Data Management and Orchestration: A software layer
responsible for:

Provisioning: Creating and allocating storage resources.


Data Replication: Copying data across multiple locations for redundancy.
Data Encryption: Protecting data at rest and in transit.
Snapshotting: Point-in-time copies for backup and recovery.
Security and Access Control: Managing access permissions.
ARCHITECTURAL DESIGN PRINCIPLES

Scalability: The storage cloud must expand or contract seamlessly to match


unpredictable demand.

Availability: Data should be accessible at all times, with safeguards against


hardware failures and site outages.

Durability: Mechanisms like replication and erasure coding ensure data integrity
and prevent loss.

Performance: Factors like storage tiering, intelligent caching, and network


optimization contribute to meeting performance expectations.

Security: Data must be protected through encryption, strict access controls, and
robust security protocols.
DESIGN CHALLENGES IN CLOUD COMPUTING

While cloud computing offers numerous advantages, several design challenges


require careful consideration during implementation:

1. Security and privacy:

Data security: Ensuring user data remains confidential and protected


from unauthorized access, breaches, and insider threats.

Shared responsibility model: Balancing the responsibility between cloud


providers and users for securing data and resources.

Compliance with regulations: Adhering to various data privacy


regulations like GDPR and HIPAA, which can be complex in a cloud
environment.
2. Multi-cloud and hybrid cloud environments:

Complexity of managing multiple clouds: Coordinating configurations, security


policies, and data management across different cloud providers can be intricate.

Vendor lock-in: Avoiding becoming dependent on a specific cloud provider, hindering


portability and flexibility.

Interoperability challenges: Ensuring seamless communication and data exchange


between different cloud platforms and services.
3. Performance and Scalability:

Network latency: Minimizing the impact of network distance and bandwidth limitations
on application performance.

Resource contention: Effectively managing resource utilization to avoid performance


degradation when multiple users share resources.

Scalability limitations: Addressing potential constraints in scaling resources up or down


quickly to meet changing demands.
4. Cost optimization:

Optimizing resource allocation: Choosing the right combination of cloud


resources (e.g., VM size, storage type) to balance cost and performance
needs.

Monitoring and managing costs: Utilizing cloud-provided cost management


tools to track and control cloud spending effectively.

Avoiding hidden costs: Being aware of additional fees associated with data
transfer, egress charges, and API calls.
5. Manageability and monitoring:

Complexity of managing distributed resources: Efficiently monitoring and


managing resources spread across various cloud services and regions.

Standardization and automation: Implementing consistent configurations and


automating routine tasks to streamline cloud management.

Lack of visibility: Gaining full visibility and control over cloud resources and
activities can be challenging, especially in complex environments.
BENEFITS OF CLOUD COMPUTING:

Increased agility and speed: Faster deployment of new IT resources and


faster time-to-market for new applications.
Cost reduction: Convert capital IT expenditure (like buying hardware) to
operating costs. Avoid upfront investments and pay only for what you use.
Improved scalability: Easily adjust resources up or down to match
changing business needs.
Reliability and disaster recovery: Cloud providers invest heavily in
redundancy and backups, ensuring business continuity.
Global access: Collaborate from anywhere, supporting remote teams and
worldwide business expansion.

You might also like