0% found this document useful (0 votes)
15 views

cc_unit1 notes

Uploaded by

Shwetank Rai
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views

cc_unit1 notes

Uploaded by

Shwetank Rai
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

1.

Definition of Cloud Computing

Cloud Computing is a model for delivering a variety of computing services over the internet
(“the cloud”). It allows users to access data, applications, storage, and other resources on remote
servers instead of on local computers or devices.

 Key Characteristics:

o On-Demand Self-Service: Users can provision computing resources as needed,


without requiring human interaction.

o Broad Network Access: Services are available over the internet and can be
accessed from various devices like smartphones, tablets, and computers.

o Resource Pooling: Resources (such as storage, processing power) are pooled to


serve multiple customers dynamically.

o Rapid Elasticity: Resources can be scaled up or down quickly, allowing flexible use
according to demand.

o Measured Service: Cloud systems automatically control and optimize resource


usage, often billed as per actual consumption (pay-as-you-go).

 Cloud Service Models:

o Infrastructure as a Service (IaaS): Provides virtualized computing resources over


the internet (e.g., AWS EC2).

o Platform as a Service (PaaS): Offers a platform allowing customers to develop, run,


and manage applications (e.g., Google App Engine).

o Software as a Service (SaaS): Delivers software applications over the internet,


accessible via web browsers (e.g., Google Workspace, Microsoft Office 365).

2. Evolution of Cloud Computing

The development of cloud computing spans several decades, driven by the need for scalable,
accessible computing resources. Here’s an overview of its evolution:

1960s: Early Concepts

 Mainframe Computing: Large organizations used centralized mainframes, where users


accessed computing power through terminals (a precursor to cloud concepts).

 Virtualization: IBM developed virtualization, allowing mainframe resources to be divided


into separate “virtual machines” that users could access independently.

1990s: Emergence of Networked Computing

 Telecom and Network Expansion: The growth of the internet and improved networking
laid the groundwork for remote computing.

 Application Service Providers (ASPs): Companies started to host applications for other
businesses, similar to SaaS. However, they lacked the scalability and efficiency of modern
cloud services.
2000s: Rise of Modern Cloud Computing

 Amazon Web Services (AWS): In 2006, Amazon launched AWS, offering storage and
computation services (S3, EC2). This marked the official beginning of commercial cloud
computing.

 Virtualization Advances: Technologies like VMware allowed multiple operating systems to


run on a single physical server, increasing hardware utilization and enabling flexible
resource management.

2010s–Present: Expansion and Innovation

 Hybrid and Multi-Cloud Models: Organizations now combine private and public clouds
(hybrid cloud) and use multiple cloud providers (multi-cloud) to optimize performance and
reliability.

 Edge and Serverless Computing: Recent advancements have led to edge computing
(processing closer to data sources) and serverless computing, where applications run in
response to events without dedicated server infrastructure.

3. Underlying Principles of Parallel and Distributed Computing

Parallel and Distributed Computing are foundational principles for cloud computing, enabling
large-scale processing and resource sharing across multiple systems.

Parallel Computing

Parallel computing involves dividing tasks into smaller subtasks that can be processed
simultaneously on multiple processors within the same system.

 Key Principles:

o Concurrency: Tasks run concurrently, with each processor performing a different part
of the overall computation.

o Data Parallelism: The same operation is performed on different data segments


simultaneously (e.g., processing large data sets in segments).

o Task Parallelism: Different tasks or functions are executed in parallel, typically


involving complex, interdependent processes.

 Benefits:

o Speed: By splitting workloads, tasks complete faster.

o Efficiency: Better utilization of CPU resources, reducing idle time.

Distributed Computing

Distributed computing involves multiple computers (often over a network) working together to
achieve a common goal. It’s the basis of cloud computing, where tasks are distributed across
many servers.

 Key Principles:

o Resource Sharing: Resources (like storage, processing power) are shared across
networked systems.
o Scalability: Distributed systems can easily add resources to handle growing
workloads.

o Fault Tolerance: Distributed systems can continue functioning even if some nodes
fail, ensuring higher reliability.

o Decentralization: Unlike centralized systems, control is distributed, with no single


point of failure.

 Benefits:

o Resilience: High fault tolerance and reliability.

o Scalability: Easy to scale up or down by adding or removing nodes.

Diagram: Parallel vs. Distributed Computing

A simple diagram would show:

 Parallel Computing: Multiple processors within the same system, each handling a segment
of the same task.

 Distributed Computing: Multiple systems working together over a network, each possibly
running different tasks.

4. Cloud Characteristics

Cloud computing has unique characteristics that distinguish it from traditional computing models.
These characteristics help make the cloud a flexible, cost-effective, and scalable solution for
computing needs.

Key Characteristics:

1. On-Demand Self-Service:

o Users can automatically provision computing resources without requiring manual


setup or intervention by cloud providers.

2. Broad Network Access:

o Cloud services are accessible over the internet and can be used from various devices,
such as laptops, mobile phones, and tablets.

3. Resource Pooling:

o Cloud providers use multi-tenant models, where resources (CPU, memory, storage) are
pooled and dynamically assigned to users based on demand.

4. Rapid Elasticity:

o Cloud resources can scale up or down quickly, allowing users to accommodate


fluctuating demands. This is particularly valuable for applications with variable
workloads.

5. Measured Service:
o Resources are automatically monitored and controlled, allowing for pay-as-you-go
pricing. Users pay only for the resources they actually consume.

6. Multi-Tenancy:

o Multiple customers can share the same physical infrastructure while maintaining data
security and isolation, making efficient use of resources.

5. Elasticity in Cloud

Elasticity in cloud computing refers to the ability of a cloud system to automatically scale
resources up or down based on demand. It is a key characteristic of cloud computing that allows
businesses to handle varying workloads efficiently, without having to permanently invest in
hardware or resources.

Key Aspects of Elasticity:

 Scalability: Cloud systems can scale their resources dynamically, adding or removing
computing resources (e.g., virtual machines, storage) as needed.

 Automatic Resource Adjustment: The cloud infrastructure monitors workloads in real


time and adjusts resource allocation accordingly.

 Cost Efficiency: By only using the necessary amount of resources, elasticity helps in
reducing unnecessary costs. You pay only for what you use.

Types of Elasticity:

 Vertical Scaling (Scaling Up/Down): Involves increasing or decreasing the resources (like
CPU or memory) of a single instance (virtual machine).

o Example: Upgrading a virtual machine from 4GB to 8GB RAM.

 Horizontal Scaling (Scaling Out/In): Involves adding or removing instances of virtual


machines or containers across a network of machines.

o Example: Adding more web servers to handle increased traffic during peak hours.

Benefits of Elasticity:

 Cost-Effective: Avoids overprovisioning or underprovisioning of resources, optimizing


operational costs.

 High Availability: It ensures that cloud services are always available, even during spikes in
demand.

 Resource Optimization: Cloud providers optimize resource allocation across a pool,


ensuring optimal performance and efficiency.

Example:

 A website may experience high traffic during certain events. Elasticity allows the website to
automatically scale up the number of virtual machines (VMs) when needed and scale down
when traffic reduces.

6. On-Demand Provisioning
On-demand provisioning is the capability of cloud services to provide computing resources
when they are requested, typically through a self-service portal or API. This allows users to
provision resources instantly without needing to wait for manual intervention.

Key Features:

 Instant Availability: Cloud resources are made available on request, which reduces wait
times and enables rapid deployment of applications.

 Self-Service: Users can provision, monitor, and scale resources independently without
needing to rely on cloud administrators.

 Automated Management: Cloud providers manage and automate many tasks, such as
resource allocation, system updates, and load balancing, so that users can focus on using
the resources rather than managing them.

How It Works:

 Provisioning Resources: When a user needs a virtual machine, storage, or other services,
they can initiate the request via the cloud console or API. The cloud platform responds by
allocating resources automatically.

 Scaling: On-demand provisioning often works alongside elasticity, where resources are
dynamically adjusted based on user-defined rules.

Benefits:

 Flexibility: Users can easily scale up or down without committing to a long-term


infrastructure plan.

 Cost Efficiency: Resources are used only when needed, minimizing the need for upfront
investment and ongoing costs.

 Faster Time-to-Market: Developers can quickly deploy and test applications by


provisioning resources as needed.

Example:

 Amazon EC2: You can launch an EC2 instance (virtual machine) within minutes and shut it
down when no longer required, paying only for the time the instance is running.

You might also like