Department of Computer Science & Engineering
Course : Cloud Computing
SYLLABUS: UNIT – I
Introduction: Evolution of Cloud Computing –Underlying Principles of
Parallel and Distributed Computing,
Cloud Fundamentals: Cloud Definition, Evolution, Architecture,
Cloud Characteristics –
Elasticity in Cloud – On-demand Provisioning, Applications,
Deployment models - Public, Private and Hybrid Clouds,
Service models - Infrastructure as a Service (IaaS) –
Resource Virtualization: Server, Storage,Network.
Platform as a Service (PaaS) - Cloud platform & Management :
Computation,Storage.
Software as a Service (SaaS) - Anything as a service (XaaS).
Evolution of Cloud Computing –Underlying
Principles of Parallel and Distributed
Computing
High-Performance Computing
A pool of processors connected (networked) with other resources
like memory, storage, and input and output devices, and the
deployed software is enabled to run in the entire system of
connected components.
It is required to use or solve scientific problems.
Parallel Computing
A set of processors work cooperatively to solve a computational
problem. These processor machines or CPUs are mostly of
homogeneous type.
Serial & Parallel Computing
Serial or Sequential computers:
It runs on a single computer/processor machine having a single
CPU.
A problem is broken down into a discrete series of instructions.
Instructions are executed one after another.
Parallel Computing
It is run using multiple processors (multiple CPUs).
A problem is broken down into discrete parts that can be solved
concurrently.
Each part is further broken down into a series of instructions.
Instructions from each part are executed simultaneously on different
processors.
Distributed Computing
A Computing System that consists of multiple computers or
processor machines connected through a network,
Which can be homogeneous or heterogeneous, but run as
a single system.
Distributed computing systems are advantageous over
centralized systems
1. Scalability: It is the ability of the system to be easily
expanded by adding more machines as needed.
2. Redundancy or replication: Here, several machines can
provide the same services, so that even if one is
unavailable (or failed), work does not stop.
Cloud Fundamentals
“Cloud is a parallel and
distributed computing system
consisting of a collection of
inter-connected and
virtualized computers
that are dynamically
provisioned and presented as
one or more unified
computing resources
based on service-level
agreements (SLA) established
through negotiation between
the service provider and
consumers.”
Cloud Fundamentals Essentials Parameters
(i) pay-per-use (no ongoing commitment, utility prices)
(ii) elastic capacity and the illusion of infinite resources
(iii) self-service interface; and
(iv) resources that are abstracted or virtualized.
Cloud Computing In Simple Terms:-
storing and accessing data and programs over the Internet
from a remote location or computer instead of our
computer’s hard drive.
This so called remote
location has several properties such as scalability,
Cloud Computing in a
Nutshell
• This model brings benefits to both
consumers and providers of IT
services.
• Consumers can attain reduction on
IT-related costs by choosing to obtain
cheaper services from external
providers as opposed to heavily
investing on IT infrastructure and
personnel hiring.
• The “on-demand” component of this
model allows consumers to adapt
their IT usage to rapidly increasing or
Five Essential Characteristics
Cloud Computing Stack
LAYERS AND TYPES OF CLOUDS
Cloud computing services are divided into three classes
(1)Infrastructure as a Service
(2)Platform as a Service
(3)Software as a Service
Infrastructure as a Service
A cloud infrastructure enables on-demand provisioning of servers running
several choices of operating systems and a customized software stack.
Infrastructure services are considered to be the bottom layer of cloud
computing systems
Example: Amazon Web Services mainly offers IaaS, which in the case of its
LAYERS AND TYPES OF CLOUDS
Platform as a Service
A cloud platform offers an environment on which developers create and deploy
applications and do not necessarily need to know how many processors or how
much memory that applications will be using.
Example: Google AppEngine, an example of Platform as a Service, offers a
scalable environment for developing and hosting Web applications,
Software as a Service
A way of delivering applications over the Internet—as a service. Instead of
installing and maintaining software, you simply access it via the Internet, freeing
yourself from complex software and hardware management.
Example: Google Workspace, Dropbox.
Comparison of Cloud Layers &
Services
Deployment Models
Deployment Models
Public cloud as a “cloud made available in a pay-as-you-go manner to the
general public” and
private cloud as “internal data center of a business or other organization,
not made available to the general public.”
A community cloud is “shared by several organizations and supports a
specific community that has shared concerns.
A hybrid cloud takes shape when a private cloud is supplemented with
computing capacity from public clouds
Cloud Architecture
Cloud Computing
Architecture is divided
into two parts, i.e.,
front-end and back-
end. Front-end and
back-end
communicate via a
network or internet.
Cloud Architecture
Front End
The front end refers to the client part of cloud computing system. It consists of interfaces and
applications that are required to access the cloud computing platforms,
Example - Web Browser.
Back End
• The back End refers to the cloud itself.
• It consists of all the resources required to provide cloud computing services.
• It comprises of huge data storage, virtual machines, security mechanism, services,
deployment models, servers, etc.
• It is the responsibility of the back end to provide built-in security mechanism, traffic control
and protocols.
• The server employs certain protocols known as middleware, which help the connected devices
to communicate with each other.
Hardware Virtualization
Hardware Virtualization
Cloud computing services are usually backed by large-scale data centers composed of
thousands of computers.
The idea of virtualizing a computer system’s resources, including processors, memory,
and I/O devices, has been well established for decades, aiming at improving sharing and
utilization of computer systems
Hardware virtualization allows running multiple operating systems and software stacks on
a single physical platform
several innovative technologies—multi-core chips, para virtualization, hardware-assisted
virtualization, and live migration of VMs has contributed to an increasing adoption of
virtualization on server systems
Hardware Virtualization
• Hardware virtualization allows running multiple operating systems and software
stacks on a single physical platform.
• Virtual machine monitor (VMM), also called a hypervisor, mediates access to the
physical hardware presenting to each guest operating system a virtual
machine(VM),
• Three basic capabilities which is a set of virtual platform interfaces management
of workload in a virtualized system.
Isolation:- Workload isolation is achieved since all program instructions are fully
confined inside a VM, which leads to improvements in security.
Consolidation:- consolidation of several individual and heterogeneous workloads
onto a single physical platform leads to better system utilization
Hardware Virtualization
Migration:-facilitating hardware maintenance, load balancing, and disaster recovery.
It is done by encapsulating a guest OS state within a VM and allowing it to be
suspended, fully serialized, migrated to a different platform, and resumed
immediately or preserved to be restored at a later date
Example: VMWare, Xen, and KVM,
• VMWare ESXi. VMware is a pioneer in the virtualization market. Its ecosystem of
tools ranges from server and desktop virtualization to high-level management
• tools
Xen. The Xen hypervisor started as an open-source project and has served as a
base to other virtualization products, both commercial and open-source. It has
pioneered the para-virtualization concept, on which the guest operating system
• KVM. The kernel-based virtual machine (KVM) is a Linux virtualization
Server Virtualization
CLOUD INFRASTRUCTURE MANAGEMENT
IaaS providers face when building a cloud infrastructure is
managing physical and virtual resources, namely servers,
storage, and networks, in a holistic fashion.
The process of managing the resources must be performed in a
way to rapidly and dynamically provision resources to
application.
The software toolkit responsible for this orchestration is called a
virtual infrastructure manager (VIM).
The first category—cloud toolkits—includes those that “expose a
remote and secure interface for creating, controlling and
monitoring virtualize resources,” but do not specialize in VI
management.
Tools in the second category—the virtual infrastructure
managers—provide advanced features such as automatic load
balancing and server consolidation, but do not expose remote
cloud-like interfaces.
VIMs Features
Virtualization Support
Self-Service, On-Demand Resource Provisioning.
Multiple Backend Hypervisors.
Storage Virtualization
Interface to Public Clouds
Virtual Networking.
Dynamic Resource Allocation
Virtual Clusters.
Reservation and Negotiation Mechanism.
High Availability and Data Recovery.
Challenges in IAAS PASS & SAAS
IAAS PAAS SAAS
No control over
One size does
Security the
not fit all
infrastructure.
Compatibility
Unpredictable costs Vendor lock-in and
integrations.
Financial
Training Vendor lock-in
viability
Little to no
Lack of Support
customization
Regulatory
Security
Uncertainty
Features
INFRASTRUCTURE AS A SERVICE PROVIDERS
Geographic Presence
User Interfaces and Access to Servers
Advance Reservation of Capacity
Automatic Scaling and Load Balancing
Service-Level Agreement
Hypervisor and Operating System Choice
Service Models of Cloud
PLATFORM AS A SERVICE PROVIDERS
Features
Programming Models, Languages, and Frameworks
Persistence Options.
DESIRED FEATURES OF A CLOUD
(i) self-service-: -Consumers of cloud computing services expect on-demand, nearly
instant access to resources. To support this expectation, clouds must allow self-
service access so that customers can request, customize, pay, and use services
without intervention of human operators
(ii) per-usage metered and billed :- Cloud computing eliminates up-front
commitment by users, allowing them to request and use only the necessary amount.
(iii) elastic:-Cloud computing gives the illusion of infinite computing resources
available on demand
(iv) customizable:- In the case of infrastructure services, customization means
allowing users to deploy specialized virtual appliances and to be given privileged
(root) access to the virtual servers.
The following list highlights eight reasons to adapt the
cloud for upgraded Internet applications and web
services:
1. Desired location in areas with protected space and higher energy
efficiency
2. Sharing of peak-load capacity among a large pool of users, improving
overall utilization
3. Separation of infrastructure maintenance duties from domain-specific
application development
4. Significant reduction in cloud computing cost, compared with traditional
computing paradigms
5. Cloud computing programming and application development
6. Service and data discovery and content/service distribution
7. Privacy, security, copyright, and reliability issues
8. Service agreements, business models, and pricing policies
CHALLENGES AND RISKS
Security, Privacy, and Trust
Data Lock-In and Standardization
Availability, Fault-Tolerance, and Disaster Recovery
Resource Management and Energy-Efficiency
Question Bank:
1. Explain the Cloud computing and its importance of use in the industry.
2. Define the underline principles of Parallel and Distributed computing.
3. Define Distributed Computing, Cloud Computing and Serial Computing.
4. Explain the importance of convergence of different domain in formation of cloud
computing.
5. Describe the Cloud Architecture and its characteristics in detailed.
6. Explain the different deployments models available in cloud computing
7. Explain the different service level models of cloud computing
8. Describe the benefit of hardware virtualization and its importance in cloud computing.
9. Explain the working of Hypervisor in virtualization of hardware.
10. Explain the different features of VIMs.
11. Explain the different types of challenges faced by client in different service models of
cloud.
12. Explain the features of IAAS, PAAS and SAAS.
13. Explain the challenges and risks involved in cloud computing
14. Explain the desired features of cloud computing.