Cloud Computing - KCS713 - UNIT-1 Notes
Cloud Computing - KCS713 - UNIT-1 Notes
Cloud Computing:-
Cloud Computing means storing and accessing the data and programs on remote
servers that are hosted on the internet instead of the computer’s hard drive or local server. Cloud
computing is also referred to as Internet-based computing, it is a technology where the resource is
provided as a service through the Internet to the user. The data that is stored can be files, images,
documents, or any other storable document.
The following are some of the Operations that can be performed with Cloud Computing
Storage, backup, and recovery of data
Delivery of software on demand
Development of new applications and services
Streaming videos and audio
Key Concept: Instead of owning and maintaining physical data centers or servers, businesses can use
cloud computing to access technology services such as computing power, storage, and databases on
an as-needed basis.
1. 1950s:
The term "Cloud Computing" originated to describe services that operated over the internet.
Since then, cloud computing has evolved from basic distributed systems to today’s advanced
internet-based infrastructure.
2. Distributed Systems:
o Composed of multiple independent systems that work together and appear as a
single unit to users.
o Key Characteristics: Scalability, Concurrency, Continuous Availability, and Fault
Tolerance.
o Limitation: All systems needed to be geographically close, leading to advancements
like Mainframe, Cluster, and Grid Computing.
3. Mainframe Computing (1950s):
o Large, powerful, and reliable systems designed for handling bulk data processing and
transactions.
o Known for their high fault tolerance and minimal downtime, but were expensive,
leading to alternatives like Cluster Computing.
4. Cluster Computing (1980s):
o Cheaper alternative to mainframes.
o Machines (nodes) connected through high-bandwidth networks to perform large
computations.
o Scalable and more cost-effective, but geographically restricted, which led to the rise
of Grid Computing.
5. Grid Computing (1990s):
o Systems geographically dispersed but connected via the internet.
o Allowed sharing of resources across different organizations and geographical
locations.
o Challenges: Low bandwidth and other network issues due to the distance between
nodes.
o Cloud computing emerged as the "Successor of Grid Computing".
6. Virtualization:
o Introduced 40 years ago, it allows multiple instances (virtual machines) to run on a
single hardware unit.
o Virtualization forms the backbone of modern cloud platforms like Amazon EC2 and
VMware.
7. Web 2.0 (2004):
o A user-friendly interface enabling interactive and dynamic web applications.
o Examples: Facebook, Twitter, Google Maps.
o Essential for modern cloud services.
8. Service Orientation:
o Cloud computing adopted Service-Oriented Architecture (SOA), focusing on
flexibility and evolvability.
o Key concepts: Quality of Service (QoS) and Software as a Service (SaaS).
9. Utility Computing:
o Provides computing services (like storage, processing, etc.) on a pay-per-use basis,
which is fundamental to cloud computing’s pricing model.
Key Concepts and Advancements
Cloud Characteristics:
On-Demand Self-Service: Users can access resources when needed without human
intervention.
Broad Network Access: Services are available over the internet and can be accessed from
anywhere.
Resource Pooling: Resources are shared dynamically across multiple users (multi-tenancy).
Elasticity: Resources can be scaled up or down automatically based on demand.
Measured Service: Users only pay for what they use.
Processors communicate with each Computer communicate with each other through
5.
other through bus message passing.
1. On-Demand Self-Service
Definition: Users can provision computing resources automatically without requiring human
intervention from service providers.
Examples: Users can access servers, storage, and applications as needed through a web
interface or API, enabling instant deployment.
2. Broad Network Access
Definition: Cloud services are accessible over the network through standard mechanisms,
promoting usage across various platforms (e.g., mobile phones, tablets, laptops).
Examples: Services can be accessed from any device with internet connectivity, enhancing
flexibility and convenience for users.
3. Resource Pooling
Definition: Cloud providers use a multi-tenant model to serve multiple customers using the
same physical resources, which are dynamically allocated based on demand.
Characteristics:
o Location Independence: The exact location of resources is abstracted from the user
(e.g., storage, processing power).
o Efficient Resource Utilization: Resources are optimally allocated and reallocated as
needed, reducing waste and cost.
4. Rapid Elasticity
Definition: Cloud services can scale resources up or down rapidly based on demand, allowing
users to easily adjust their resource allocation.
Examples:
o Automatic Scaling: Applications can automatically scale resources during peak usage
and scale down during off-peak times to optimize costs.
o Elastic Resource Allocation: Users can increase or decrease storage, processing
power, and other resources as needed without manual intervention.
5. Measured Service
Definition: Cloud systems automatically control and optimize resource usage by leveraging a
metering capability. Resource usage can be monitored, controlled, and reported.
Benefits:
o Transparency: Users can see and manage their usage, which helps in cost control.
o Pay-As-You-Go: Users are charged based on their actual resource consumption,
allowing for more efficient budgeting.
6. Multi-Tenancy
Definition: A single instance of a software application serves multiple customers, with each
customer’s data and configurations kept isolated.
Benefits:
o Cost Efficiency: Reduces costs for service providers and customers by sharing
resources.
o Scalability: Allows providers to scale services to a larger user base easily.
7. Security and Privacy
Definition: Cloud providers implement security measures to protect data and applications in
the cloud, ensuring that data privacy and compliance are maintained.
Considerations:
o Data Encryption: Data is often encrypted during transmission and storage to protect
against unauthorized access.
o Access Controls: Robust authentication and authorization mechanisms ensure that
only authorized users can access sensitive data.
8. Resilience and Reliability
Definition: Cloud services are designed to be reliable and resilient, ensuring minimal
downtime and data loss.
Features:
o Backup and Disaster Recovery: Automatic backup solutions and disaster recovery
protocols help maintain service continuity.
o Redundancy: Cloud providers often deploy redundant systems across multiple
locations to ensure availability.
9. Flexibility and Agility
Definition: Cloud computing allows organizations to be more agile, enabling them to quickly
adapt to changing business needs.
Benefits:
o Rapid Deployment: New applications and services can be deployed quickly without
the need for extensive infrastructure planning.
o Experimentation and Innovation: Organizations can easily test new ideas and
technologies without large upfront investments.
Cloud Elasticity
Definition: Elasticity in cloud computing refers to the ability of a cloud service to automatically adjust
its resources in response to fluctuating demands. This means that resources can be dynamically
expanded or contracted based on workload requirements, helping to manage costs effectively.
Key Characteristics:
Dynamic Resource Allocation: When there is an increase in user demand, additional
resources such as computing power, storage, and bandwidth are automatically provisioned.
Conversely, when demand decreases, these resources are scaled back down.
Temporary Demand Handling: Elasticity is particularly useful for scenarios with sudden,
temporary spikes in resource requirements, such as during sales events or holiday seasons.
Pay-Per-Use Model: Most commonly associated with public cloud services, where users pay
only for the resources they consume.
Application Example:
Online Shopping During Festive Seasons: An e-commerce site experiences a spike in
transaction workload during Christmas. Elasticity allows the site to automatically increase
resources to handle the increased traffic and then scale back down after the season ends.
Benefits:
Cost Savings: By utilizing resources only when needed, organizations can minimize
infrastructure costs.
Maximized Resource Utilization: Elasticity ensures that resources are used efficiently,
leading to overall cost savings.
Considerations:
Dependent on Environment: Elasticity is most beneficial in environments with fluctuating
workloads. However, it may not be ideal for applications requiring consistent, guaranteed
performance
On-Demand Provisioning in Cloud Computing
Definition: On-demand provisioning refers to the ability to allocate and manage cloud resources as
needed, rather than in advance. This approach allows users to quickly access computing resources—
such as storage, processing power, and applications—when required, and to scale them down when
they are no longer needed. This feature is a fundamental characteristic of cloud computing services.
Key Characteristics:
1. Immediate Access:
o Users can provision resources instantly, often through a self-service portal, without
the need for manual intervention from IT personnel.
2. Scalability:
o Resources can be scaled up or down easily to accommodate changes in demand,
ensuring optimal performance and cost efficiency.
3. Pay-As-You-Go Model:
o Users are typically billed based on their actual usage of resources. This model allows
for cost savings since organizations only pay for what they consume.
4. Automation:
o On-demand provisioning often involves automated systems that can detect workload
changes and adjust resources accordingly.
5. Flexibility:
o Organizations can quickly adapt to changing business needs, such as launching new
applications or handling traffic spikes.
Benefits:
1. Cost Efficiency:
o By paying only for the resources used, organizations can reduce costs associated with
idle resources and over-provisioning.
2. Increased Agility:
o Businesses can respond quickly to market changes or customer demands by rapidly
provisioning resources without lengthy procurement processes.
3. Enhanced Resource Utilization:
o Resources can be allocated dynamically based on current needs, improving overall
utilization rates.
4. Reduced Time to Market:
o New applications and services can be deployed faster, allowing businesses to
capitalize on opportunities more effectively.
5. Risk Mitigation:
o By using resources on an on-demand basis, organizations can reduce the risk
associated with investing in infrastructure that may become obsolete or
underutilized.
Use Cases:
1. Startups and Small Businesses:
o On-demand provisioning is ideal for startups that may not have predictable
workloads and want to minimize upfront costs.
2. Development and Testing:
o Developers can quickly provision resources for development, testing, and staging
environments without long lead times.
3. Seasonal Businesses:
o Retailers can scale their resources up during peak shopping seasons and scale down
afterward.
4. Disaster Recovery:
o Organizations can provision backup resources quickly in response to unexpected
failures or disasters.
5. Data Processing:
o Businesses that analyze large datasets can provision resources as needed for
processing and then scale down once the tasks are complete.
Challenges:
1. Management Complexity:
o While on-demand provisioning offers flexibility, it can also lead to management
challenges, particularly if organizations do not have robust monitoring and
governance practices in place.
2. Cost Overruns:
o Without careful monitoring, users may inadvertently incur high costs due to
unexpected usage spikes.
3. Resource Sprawl:
o The ease of provisioning can lead to resource sprawl, where organizations lose track
of what has been provisioned and are unable to manage it effectively.
4. Security Concerns:
o Rapid provisioning may lead to insufficient security measures being implemented,
increasing the risk of data breaches or compliance issues.
2. Deployment Models
Cloud computing can be deployed in different environments depending on an organization’s needs:
a. Public Cloud
Definition: Cloud infrastructure and services are provided to multiple customers over the
internet by third-party providers.
Key Features: Cost-effective, scalable, and managed by the provider.
Examples: AWS, Microsoft Azure, Google Cloud Platform.
Use Case: Suitable for businesses that need scalable resources without investing in on-
premises infrastructure.
b. Private Cloud
Definition: Cloud infrastructure is used exclusively by a single organization, either hosted
internally or by a third party.
Key Features: Provides greater control, security, and customization but requires higher costs
and maintenance.
Examples: VMware Cloud Foundation, OpenStack.
Use Case: Suitable for organizations with specific security or regulatory requirements.
c. Hybrid Cloud
Definition: Combines both public and private cloud environments, allowing data and
applications to be shared between them.
Key Features: Provides flexibility to leverage the benefits of both public and private clouds.
Examples: Microsoft Azure with on-premises infrastructure.
Use Case: Ideal for organizations needing to balance sensitive workloads and scalable cloud
resources.
d. Community Cloud
Definition: A cloud shared by several organizations with similar needs, typically in specific
industries.
Key Features: Offers shared infrastructure while meeting specific industry compliance or
security needs.
Examples: Cloud services for government agencies or healthcare sectors.
3. Essential Characteristics
Cloud computing must meet specific characteristics to be classified as a cloud service:
a. On-Demand Self-Service: Users can provision computing resources like server time and network
storage without human intervention.
b. Broad Network Access: Resources are available over the network and accessed through standard
mechanisms such as mobile devices, laptops, or workstations.
c. Resource Pooling: Cloud resources are pooled to serve multiple users using a multi-tenant model,
dynamically allocating resources based on demand.
d. Rapid Elasticity: Resources can be quickly scaled up or down based on current demand, giving the
illusion of unlimited capacity.
e. Measured Service: Cloud systems automatically control and optimize resource use by leveraging a
metering capability, typically billed on a pay-per-use basis.