CLOUD COMPUTING MODULE 1
Definition of Cloud
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. This cloud model is composed of five
essential characteristics, three service models and four deployment models.
Five Essential Characteristics of Cloud Computing
1. On-Demand Self-Service
2. Broad Network Access
3. Resource Pooling
4. Rapid Elasticity
5. Measured Service
Three Cloud Service Models
1. Infrastructure as a Service (IaaS)
2. Platform as a Service (PaaS)
3. Software as a Service (SaaS)
Four Cloud Deployment Models
1. Public Cloud
2. Private Cloud
3. Hybrid Cloud
4. Community Cloud
High Performance Computing (HPC)
Definition: High Performance Computing (HPC) involves a pool of processors or cpus connected
with other resources such as memory, storage, and input/output devices. The deployed software
is designed to run across the entire system of interconnected computers, enabling the execution
of complex computational tasks efficiently. HPC systems range from small groups of computers to
large supercomputers.
Applications:
• Scientific Research: HPC is used to solve complex scientific problems, such as simulations
and modeling in various scientific fields.
Key Concepts in HPC
1. Parallel Computing
o Description: A problem is divided into discrete parts that can be solved
concurrently. Each part is executed simultaneously on different processors.
o Purpose: Increases computational speed and efficiency by processing multiple
tasks in parallel.
2. Distributed Computing
o Description: Computing resources can be geographically dispersed and connected
via a wide area network (WAN).
o Features: Offers scalability and redundancy or replication by leveraging distributed
resources across different locations.
3. Cluster Computing
o Description: Involves a set of multiple computers, called a cluster, that work
together as a single entity, or node, to perform tasks.
o Benefits: Enhances throughput, scaling speed, and processing power by
combining the capabilities of multiple machines.
4. Grid Computing
o Description: Utilizes underutilized computing resources from various
organizations to increase return on investment (ROI) in computing infrastructure.
o Purpose: Leverages excess computing power for specific operations, enabling
more efficient use of available resources.
Each concept addresses different aspects of computing efficiency, scalability, and resource
utilization, contributing to the overall effectiveness of HPC systems in solving complex and large-
scale problems.
CLIENT-SERVER MODEL
Definition: The Client-Server Model is a network architecture where tasks and workloads are
distributed between service providers (servers) and service requesters (clients). In this model,
servers provide resources, services, or data to clients, which request and use these services. The
client-server model is fundamental to networked applications and services.
Key Components:
1. Client:
o Role: Initiates requests for services or resources from the server.
o Characteristics: Clients are typically end-user devices or applications that request
data, services, or processing capabilities from servers. Examples include web
browsers, email clients, and mobile apps.
2. Server:
o Role: Provides resources, services, or data to clients.
o Characteristics: Servers are powerful machines or systems designed to handle
multiple client requests, manage resources, and provide responses. Examples
include web servers, database servers, and file servers.
Features:
• Centralized Resources: Servers host and manage centralized resources, making it easier
to maintain and secure them.
• Scalability: Servers can handle multiple client requests simultaneously, and additional
servers can be added to manage increased loads.
• Resource Sharing: Clients access shared resources (e.g., files, applications) provided by
servers, enabling collaborative work and data access.
• Security: Centralized management of resources allows for more effective security
measures and access control.
Applications:
• Web Services: Web browsers (clients) request web pages from web servers.
PEER-TO-PEER (P2P) MODEL
Definition: The Peer-to-Peer (P2P) model is a decentralized network architecture where each
participant (peer) has equal authority and can act as both a client and a server. In a P2P network,
peers directly share resources and data with each other without relying on a central server.
Key Features:
1. Decentralization:
o Description: Unlike client-server models, P2P networks do not have a central
server or authority. Each peer can connect directly to other peers and share
resources.
2. Equality:
o Description: All peers in the network have equal status and capabilities. Each peer
can both provide and consume resources, such as files or processing power.
3. Resource Sharing:
o Description: Peers share their own resources, such as files, bandwidth, and
processing power, with other peers in the network.
4. Scalability:
o Description: P2P networks can scale easily as more peers join the network. Each
new peer adds additional resources and capabilities to the network.
5. Fault Tolerance:
o Description: The decentralized nature of P2P networks provides redundancy and
fault tolerance. If one peer fails, the network can continue to function using other
peers.
Applications:
1. File Sharing:
o Example: Networks like BitTorrent allow users to share and download files directly
from other users’ computers.
2. Cryptocurrencies:
o Example: Bitcoin and other cryptocurrencies use P2P networks to enable
decentralized transactions and ledger maintenance.
3. Communication:
o Example: P2P communication platforms like Skype use a decentralized approach
to enable voice and video calls between users.
IMPACT OF CLOUD COMPUTING ON BUSINESS
1. Cost Savings:
• Description: Reduces capital expenditure on hardware and infrastructure by using a pay-
as-you-go model for cloud services. Businesses only pay for the resources they use, which
lowers operational costs.
2. Scalability and Flexibility:
• Description: Allows businesses to scale resources up or down based on demand, enabling
them to handle varying workloads efficiently and respond to changing business needs
quickly.
3. Enhanced Collaboration:
• Description: Facilitates collaboration among teams by providing access to shared tools
and data from anywhere, which can improve productivity and streamline workflows.
4. Innovation and Agility:
• Description: Provides access to advanced technologies and services that can drive
innovation. Businesses can experiment with new ideas and technologies without
significant upfront investment.
5. Disaster Recovery and Business Continuity:
• Description: Offers robust backup and disaster recovery solutions, ensuring data
protection and continuity of operations in case of disruptions or failures.
6. Global Reach:
• Description: Enables businesses to deploy applications and services globally, reaching
new markets and customers without the need for physical infrastructure in different
regions.
7. Security and Compliance:
• Description: Cloud providers often offer advanced security measures and compliance
certifications that can enhance data protection and regulatory compliance.
8. Resource Management:
• Description: Simplifies the management of IT resources by outsourcing infrastructure and
platform management to cloud service providers, allowing businesses to focus on core
activities.
CLOUD DEPLOYMENT MODELS
1. Public Cloud:
o Description: Cloud services are delivered over the internet and shared among
multiple organizations or users. Resources are owned and operated by third-party
cloud providers.
o Examples: Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform
(GCP).
o Advantages: Cost-effective, scalable, and managed by the service provider. No
need for local infrastructure.
o Disadvantages: Less control over resources and security compared to private
clouds.
2. Private Cloud:
o Description: Cloud infrastructure is used exclusively by a single organization. It can
be hosted on-premises or by a third-party provider but is dedicated solely to one
entity.
o Examples: VMware vSphere, Microsoft Azure Stack, OpenStack.
o Advantages: Greater control, customization, and security. Suitable for
organizations with specific compliance or data privacy requirements.
o Disadvantages: Higher costs and resource management responsibilities.
3. Hybrid Cloud:
o Description: A combination of public and private clouds, allowing data and
applications to be shared between them. It enables businesses to leverage both
environments for different needs.
o Examples: Integration of AWS with on-premises systems, using Microsoft Azure for
public cloud services while maintaining a private cloud for sensitive data.
o Advantages: Flexibility to move workloads between public and private clouds,
optimizing cost and performance. Provides a balance between control and
scalability.
o Disadvantages: Complexity in managing and integrating different cloud
environments.
4. Community Cloud:
o Description: Cloud infrastructure is shared by several organizations with common
interests or requirements, such as regulatory compliance or similar mission
objectives.
o Examples: Government agencies’ shared cloud environments, collaborative
research networks.
o Advantages: Cost-sharing among organizations with similar needs. Improved
compliance and collaboration within a specific community.
o Disadvantages: Less control compared to private clouds and potential complexity
in managing shared resources.
CLOUD COMPUTING SERVICES
1. Infrastructure as a Service (IaaS):
o Description: Provides virtualized computing resources over the internet, such as
virtual machines, storage, and networks. Users manage operating systems,
applications, and data while the provider handles the underlying hardware.
o Examples: Amazon EC2, Microsoft Azure Virtual Machines, Google Compute
Engine.
o Use Case: Hosting websites, running applications, data storage, and backup.
2. Platform as a Service (PaaS):
o Description: Offers a platform that includes hardware and software tools for
application development and deployment. Users focus on building and managing
applications without worrying about the underlying infrastructure.
o Examples: Google App Engine, Microsoft Azure App Services, Heroku.
o Use Case: Developing and deploying web applications, databases, and
development frameworks.
3. Software as a Service (SaaS):
o Description: Delivers software applications over the internet, where users access
the software via a web browser or application interface. The provider manages
infrastructure, platform, and application.
o Examples: Google Workspace, Microsoft Office 365, Salesforce.
o Use Case: Email, customer relationship management (CRM), and productivity
tools.
DESIRED FEATURES OF CLOUD COMPUTING
1. Scalability:
o Description: The ability to easily scale resources up or down based on demand,
ensuring that the infrastructure can handle varying workloads and grow with
business needs.
2. Flexibility and Agility:
o Description: Rapid provisioning and deployment of resources and applications,
allowing businesses to quickly adapt to changing requirements and market
conditions.
3. Cost Efficiency:
o Description: Pay-as-you-go pricing models that help minimize capital expenditure
and reduce operational costs by charging only for the resources used.
4. Reliability and Availability:
o Description: High availability of services with minimal downtime, often achieved
through redundant systems and data replication across multiple locations.
5. Security:
o Description: Robust security measures including data encryption, access controls,
and compliance with industry standards to protect data and applications
When to Avoid Public Cloud
While public cloud services offer numerous advantages, there are scenarios where using a public
cloud may not be ideal. Here are some situations where avoiding a public cloud might be
advisable:
1. Regulatory and Compliance Requirements:
o Description: If your organization operates in an industry with stringent regulatory
or compliance requirements (e.g., healthcare, financial services), and the public
cloud provider cannot meet these requirements, it may be better to use a private
cloud or on-premises solutions.
o Examples: HIPAA compliance for healthcare data, PCI-DSS for payment card
information.
2. Sensitive or Confidential Data:
o Description: For highly sensitive or classified data, where there are concerns about
data security and privacy, a private cloud or on-premises infrastructure might offer
better control and security.
o Examples: National security data, proprietary research data.
3. Performance and Latency Issues:
o Description: If your applications require low latency and high performance that
cannot be guaranteed by a public cloud provider due to geographic or network
limitations, an on-premises or private cloud solution might be more appropriate.
o Examples: Real-time trading systems, high-frequency trading applications.
4. Data Residency and Sovereignty:
o Description: When your data must reside within a specific geographic location due
to legal or policy constraints, and the public cloud provider cannot guarantee data
residency requirements.
o Examples: Data localization laws in certain countries or regions.