Cloud Computing
Prepared by
Ms. Anjana S
Assistant Professor – Senior scale
Dept of CSE
Faculty cabin 06, 1st floor, AB5
Email Id: [email protected]
Aug 20, 2025 Cloud Computing 1
About the Course
• Subject Name: Cloud Computing (PE – 6)
• Credits : 3
• Sub code : CSE 4063
• Text book:
Rajkumar Buyya, James Broberg, Andrzej Goscinski
“Cloud Computing Principles and Paradigms” Wiley
Publications , 2013 (Text Book 1)
Aug 20, 2025 Cloud Computing 2
Course Objectives & Outcomes
• Course objectives: This course will enable students
· To gain competence in cloud computing properties, characteristics, and service models
· To gain knowledge in cloud programming model and management.
· To understand the importance of security and privacy issues in the cloud.
• Course Outcomes: After studying this course, students will have the:
1. Ability to distinguish between conventional computing systems and cloud computing
systems.
2. Ability to learn role of virtualization in Infrastructure as a service
3. Ability to understand issues related to service oriented architecture
4. Ability to learn cloud management and develop applications using cloud programming model.
5. Ability to identify security threats for a given cloud application.
Aug 20, 2025 Cloud Computing 3
Unit -6 (INTRODUCTION TO CLOUD COMPUTING)
Cloud Computing in a Nutshell
Roots of Cloud Computing Rajkumar Buyya, James Broberg, Andrzej Goscinski “Cloud
Computing Principles and Paradigms” Wiley Publications , 2013
(Text Book 3)
Layers and Types of Clouds
Desired Features of a Cloud
Cloud Infrastructure Management
Infrastructure as a Service Providers , Platform as a Service
Providers ,Challenges and Risks, public clouds, private clouds, hybrid clouds.
(Chapter 1 Sections 1.1 to 1.8 of Text Book 3 ) (4Hrs)
Unit -6 (INTRODUCTION TO CLOUD COMPUTING)
1.1 Cloud Computing in a Nutshell
1.2 Roots of Cloud Computing
1.2.1 Mainframe to clouds ,
1.2.2 SOA, Web Services, Mashups
1.2.3 Grid Computing
1.2.4 Utility Computing
1.2.5 Hardware Virtualization
1.2.7 Autonomic Computing
1.3Layers and Types of Clouds
1.3.1 Infrastructure as Service
1.3.2 Platform as a Service
1.3.3 Software as Service
1.3.4 Deployment Models
Unit -6 (INTRODUCTION TO CLOUD COMPUTING)
1.4 Desired Features of a Cloud
1.4.1 Self Service
1.4.2 Per Usage Metering and Billing
1.4.3 Elasticity
1.4.4 Customization
• Cloud Infrastructure Management
• Infrastructure as a Service Providers , Platform as a Service Providers ,Challenges and
Risks, public clouds, private clouds, hybrid clouds.
• What is Cloud Computing ?
• Different perspectives
• Properties and characteristics
• Benefits from cloud computing
• Service and deployment models
• Three service models
• Four deployment models
What is Cloud Computing ?
What is cloud computing…..
Cloud computing is the delivery of computing services—
servers, storage, databases, networking, software and
more—over the Internet (“the cloud”).
Companies offering these computing services are called
cloud providers and typically charge for cloud
computing services based on usage, similar to how you
are billed for water or electricity at home.
Cloud Computing In A Nutshell
• Virtualization means delivering useful functions while hiding how internals
work
• Cluster, grid, and now, cloud computing, have all aimed at allowing access to large
amounts of computing power in a fully virtualized manner
• By aggregating resources
• By offering a single system view
Cloud Computing In A Nutshell (cont.)
• Delivering computing as a utility
• A business model for on-demand delivery of computing power
• Consumers pay providers based on usage
• Pay-as-you-go
• Similar to services from traditional public utility services
• e.g., water, electricity, gas, and telephony
• A category of sophisticated on-demand computing services initially offered
by commercial providers
• e.g., Amazon, Google, and Microsoft
Cloud Computing In A Nutshell (cont.)
• Cloud computing providers usually offer a broad range of software
services
• In addition to raw computing and storage
• Include APIs and development tools
• Allow developers to build seamlessly scalable applications upon their services
• Allow customers to run their everyday IT infrastructure “in the cloud”
• Delivering computing as a utility has been realized with the advent of cloud
computing
• The main technological advancements
• Public clouds, management tools, and development frameworks
• So the main aim of this computing model is offering computing, storage and
software as a service.
• Definition from Buyya
A Cloud is a type of parallel and distributed system consisting of
a collection of interconnected and virtualized computers that are
dynamically provisioned and presented as one or more unified
computing resources based on service-level agreements
established through negotiation between the service provider and
consumers.
Cloud provisioning is the allocation of a cloud provider's resources to
a customer.
Cloud Definitions
• Definition from NIST
(National Institute of Standards and
Technology)
Cloud computing is a model for enabling 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 promotes availability and is composed of some
essential characteristics, three service models, and four
deployment models.
Cloud Definitions
•• Definition
Definitionfrom from
Wikipedia
Wikipedia
•
Cloud
Cloud
computing is Internet-based computing, whereby shared
computing
resources, software,isand
Internet-based
information arecomputing, whereby shared
provided to computers and
resources,
other devicessoftware,
on demand, andlikeinformation
the electricityare
grid.provided to computers
and other
• Cloud devices
computing is aon demand,
style like the
of computing in electricity grid. scalable
which dynamically
and often
Cloud virtualizedisresources
computing a style of are providedin
computing aswhich
a service over the
dynamically
Internet.
scalable and often virtualized resources are provided as a
service over the Internet.
Cloud Definitions
•• Definition
Definitionfrom from
Berkeley
Berkeley
• Cloud Computing refers to both the applications delivered as services
over theComputing
Cloud Internet andrefers to both the
the hardware andapplications delivered
systems software in the as
services over
datacenters that the Internet
provide those and the hardware and systems
services.
software in the datacenters that provide those services.
• When a Cloud is made available
in a pay-as-you-go
When manner
a Cloud is made to the in a pay-as-you-go manner to the
available
public…… The service being sold is Utility Computing.
public…… The service being sold is Utility Computing.
A data center (or datacenter) is a facility composed of networked computers and storage that
businesses or other organizations use to organize, process, store and disseminate large
amounts of data
Data centers serve as the principal repositories for all manner of IT equipment, including
servers, storage subsystems, networking switches, routers and firewalls, as well as the cabling
and physical racks used to organize and interconnect the IT equipment
Cloud Definitions
A report from the University of California Berkeley summarized the key characteristics
of cloud computing as:
(1) the illusion of infinite computing resources;
(2) the elimination of an up-front commitment by cloud users;
(3) the ability to pay for use . . . as needed . . .”
• Common characteristics among the notable cloud definition
• Pay per use
• Elastic capacity and illusion of infinite resources
• Self service interface
• Resources that are abstracted or virtualised
Elasticity is defined as "the degree to which a system is able to adapt to workload
changes by provisioning and de-provisioning resources in an autonomic manner
Self-service means that the consumer performs all the actions needed to acquire the
service himself/herself, instead of going through an IT department
Roots of Cloud Computing
• Roots of cloud computing can be tracked by observing the advancement in
technologies….
1. hardware (virtualization, multi-core chips)
2. Internet technologies (Web services, service-oriented architectures, Web
2.0)
3. distributed computing (clusters, grids)
4. systems management (autonomic computing, data center automation).
Roots Of Cloud Computing (cont.)
Hardware
Hardware Virtualization
Multi-core chips
Distributed Computing
Internet Technologies
SOA
Utility & Web 2.0
Cloud
Grid Web Services
Computing
Computing Mashups
Autonomic Computing
Data Center Automation
Systems Management
Mainframe Computers
• Mainframes are a type of computer that generally are known for their large
size, amount of storage, processing power and high level of reliability.
• A single mainframe can replace dozens or even hundreds of smaller servers.
• Widely used area are banking, finance, health care, insurance, public utilities,
government etc
• Mainframes are able to handle large workloads, and their reliability, scalability
and performance make them the system of choice for many organizations for
bulk processing, handling transactions and for maintaining vital business
records.
Mainframes to Clouds
• Mainframes had to operate at very high utilization rates and were very
expensive.
• The mainframe era collapsed with the advent of fast and inexpensive
microprocessors .
• Next Cloud Computing have sprung up, allowing applications to be run via
third-party infrastructure that requires little or no hardware investment and
services to be paid for as they are needed.
• The advent of fast fiber optic networks , helped enabling sharing of
computing power over great distances.
SOA, Web Services, Web 2.0, and Mashups :
Service-oriented architecture (SOA) is an evolution of distributed computing
based on the request/reply design paradigm for synchronous and
asynchronous applications
• What's key to these services is their loosely coupled nature; i.e., the service
interface is independent of the implementation.
• For example, a service can be implemented either in .Net or J2EE, and the
application consuming the service can be on a different platform or language.
SOA, Web Services, Web 2.0, and Mashups
• WS standards have been created on top of HTTP and
XML
• Providing a common mechanism for delivering services
• Making them ideal for implementing a service-oriented
architecture (SOA)
• Web services can glue together applications running on
different messaging product platforms
Enabling information from one application to be made available to
others
SOA, Web Services, Web 2.0, and Mashups
• SOA usually linked to Web Services Description Language (WSDL
) and Simple Object Access Protocol (SOAP) specifications.
• The WS model of SOA uses the
WSDL to connect interfaces with services
SOAP to define procedure or component APIs.
• RESTful web service -- is based on representational state transfer
(REST) technology, an architectural style and approach for
communications used in web services development.
SOA, Web Services, Web 2.0, and Mashups
• REST technology is generally preferred to the more
robust technology because REST leverages less
bandwidth, making it more suitable for internet usage.
• Many service providers make their service
APIs publicly accessible using standard
protocols like SOAP and REST
• Amazon, Facebook, and Google
SOA, Web Services, Web 2.0, and Mashups :
• In the consumer Web, information and services may be
programmatically aggregated
• Acting as building blocks of complex compositions,
called service mashups
• Services like user authentication, e-mail, payroll
management, and calendars are examples
• Can be reused and combined in a business solution
• Popular APIs are combined to produce a variety of
interesting solutions
• Google Maps, youtube, Amazon ecommerce, and Twitter
• A mashup is a Web page or application that uses and combines data,
presentation or functionality from two or more sources to create new
services.
• Combination with Google Maps HousingMaps: combines rental listings
(American classified advertisements website with sections devoted to jobs,
housing, personals, for sale, items wanted, services, community and
discussion forums.) with Google Maps for a visual representation of local
apartments for rent.
• Wikipediavision: combines Google Map and a Wikipedia API
Grid Computing
• Grid Computing enables aggregation of distributed resources .
• It is a type of parallel and distributed system that
enables the sharing, exchange, selection, & aggregation of geographically
distributed resources depending on their availability, capability, cost, and user
QoS requirements.
• Open Grid Service Architecture(OGSA) – helps in standardization by
defining a set of core capabilities and behaviors.
• Issues in grid
Guaranteeing execution time for critical applications
Availability of resources with diverse configuration
Virtualization technology helped in finding the solution of some of the issues.
• Some characteristics of Grid…
• numerous
• owned and managed by different, multiple
organisations and individuals.
• have different security requirements and policies
• heterogeneous
• connected by heterogeneous, multilevel networks
• have different resource management policies
• Likely to be geographically separated
Utility Computing
• In utility computing environments, users assign a “utility” value to their jobs,
where utility is a fixed or time-varying valuation that captures various QoS
constraints (deadline, importance, satisfaction).
• The valuation is the amount they are willing to pay a service provider to
satisfy their demands.
• Utility computing is a computing business model in which the provider owns,
operates and manages the computing infrastructure and resources, and the
subscribers accesses it as and when required on a rental or metered basis.
Hardware Virtualization
• Cloud computing services are usually backed by large-scale data centers composed of
thousands of computers.
• Such data centers are built to serve many users and host many disparate applications.
• For this purpose, hardware virtualization can be considered as a perfect fit to overcome most
operational issues of data center building and maintenance.
• Virtualization enhances :sharing and utilization of computer systems
VM1 VM2 VM3
• H/w virtualization allows running multiple OS and a s/w stacks on a single
physical platform
• VMM (virtual machine monitor) also called hypervisor mediates access to
physical hardware presenting each guest OS a VM
• A number of VMM platforms like VMWare, Xen…. that are the basis of many
utility or cloud computing environments.
• Benefits
Sharing and utilization
Better manageability
Higher reliability
Three basic capabilities regarding management of workload:
• Workload isolation-A virtual machine should not be able to read RAM that is
in use by another virtual machine. It also should not be able to access
another virtual machine’s disk.
• Workload migration - encapsulating guest OS system state within VM and
allowing it to suspend or migrate to different platforms and resumed
immediately…( facilitates h/w maintenance, load balancing and disaster
recovery).
• Workload consolidation – Consolidation of several individual and
heterogenous workloads onto a single platform leads to better system
utilization.
Autonomic Computing
• The increasing complexity of computing systems has motivated research on autonomic computing,
which seeks to improve systems by decreasing human involvement in their operation.
• In other words, systems should manage themselves, with high-level guidance from humans
• Autonomic, or self-managing, systems rely on monitoring probes and gauges (sensors), on an
adaptation engine (autonomic manager) for computing optimizations based on monitoring data, and
on effectors to carry out changes on the system
• The large data centers of cloud computing providers must be managed in an efficient way. In this
sense, the concepts of autonomic computing inspire software technologies for data center
automation, which may perform tasks such as:
management of service levels of running applications; management of data center capacity;
proactive disaster recovery;
automation of VM provisioning
Service Models
Choose the service you need.
A Simple Analogy
Say, you just moved to a city
and you are looking for a
place to live.
What is your choice ?
Build a new house ?
Buy an empty house ?
Live in a hotel ?
Let’s build a new house !!
You can fully control everything you like
your new house to have. But that is a
hard work …
If you buy an empty house ?
You can customize some part of
your house. But never change
the original architecture.
How about live in a hotel ?
Live in a hotel will be a good idea if the
only thing you care is enjoy your life!!
There is nothing you can do with the
house except living in it.
Let’s translate to
Cloud Computing !!
Service Models Overview
• What if you want to have an IT department ?
• Similar to build a new house in previous analogy
• You can rent some virtualized infrastructure and build up your own IT
system among those resources, which may be fully controlled.
• Technical speaking, use the Infrastructure as a Service (IaaS)
solution.
• Similar to buy an empty house in previous analogy
• You can directly develop your IT system through one cloud platform,
and do not care about any lower level resource management.
• Technical speaking, use the Platform as a Service (PaaS) solution.
• Similar to live in a hotel in previous analogy
• You can directly use some existing IT system solutions, which were
provided by some cloud application service provider, without knowing
any detail technique about how these service was achieved.
• Technical speaking, use the Software as a Service (SaaS) solution.
Continued…..
• Infrastructure as a Service (IaaS): hardware is provided by an external provider and managed for
the customers
• Platform as a Service (PaaS): in addition to hardware, your operating system layer is managed …..
• Software as a Service (SaaS): further to the above, an application layer is provided and managed
for you
Service Models
Infrastructure as a Service
Platform as a Service
Software as a Service
Infrastructure as a Service
• Infrastructure as a Service – IaaS
• The capability provided to the consumer is to provision processing,
storage, networks, and other fundamental computing resources where
the consumer is able to deploy and run arbitrary software, which can
include operating systems and applications.
• The consumer does not manage or control the underlying cloud
infrastructure but has control over operating systems and deployed
applications, and possibly limited control of networking components .
• The cloud computing service provider manages the infrastructure, -
customers - install, configure and manage their own software like —
operating systems, middleware and applications
Examples :
• Amazon EC2 - Amazon Elastic Compute Cloud (EC2) - allowing users to rent
virtual computers on which to run their own computer applications.
• OpenNebula - OpenNebula is a cloud computing platform for managing
heterogeneous distributed data center infrastructures
• Amazon Web Services (AWS) and Google Cloud Platform (GCP) are
examples of independent IaaS providers
Service Models
Infrastructure as a Service
Platform as a Service
Software as a Service
Platform as a Service
• Platform as a Service - PaaS
• The consumer does not manage or control the underlying cloud
infrastructure including network, servers, operating systems, or storage,
but has control over the deployed applications.
• Apart from servers, storage and networking—it also includes
middleware, development tools, business intelligence (BI) services,
database management systems and more…
• Can avoid the expense and complexity of buying software licenses, and
managing the underlying application infrastructure and middleware or
the development tools and other resources
Examples :
• Microsoft Windows Azure - Microsoft Azure is a growing
collection of cloud services for building, deploying and managing
applications through global network of datacentres.
• Google App Engine- Google App Engine is a fully managed
platform that completely abstracts away infrastructure so user can focus
only on code.
• Hadoop- Hadoop is an open source, Java-based programming
framework that supports the processing and storage of extremely large
data sets in a distributed computing environment.
Service Models
Infrastructure as a Service
Platform as a Service
Software as a Service
Software as a Service
A layer on top on PAAS
• The capability provided to the consumer is to use the provider’s applications
running on a cloud infrastructure. The applications are accessible from
various client devices through a thin client interface such as a web browser
(e.g., web-based email).
• Often referred to as "on-demand software".
• Don’t want to worry about the installation, setup and running of the
application. Service provider will do that.
Examples :
• Google Apps (e.g., Gmail, Google Docs, Google sites, …etc)
• Google Apps, Microsoft Office 365.
• Applications like email (Gmail, Yahoo mail etc), Social Networking sites
(Facebook etc)
Deployment models
How to deploy a cloud system ?
Deployment Model
• There are four primary cloud deployment models :
• Public Cloud
• Private Cloud
• Community Cloud
• Hybrid Cloud
Public Cloud
• Public cloud definition
• The cloud infrastructure is made available to the general public or a large
industry group and is owned by an organization selling cloud services.
• Also known as external cloud or multi-tenant cloud, this model essentially
represents a cloud environment that is openly accessible.
• Basic characteristics :
• Homogeneous infrastructure
• Common policies
• Shared resources and multi-tenant
• Leased or rented infrastructure
• Economies of scale - because infrastructure costs are spread across
all users, thus allowing each individual client to operate on a low-cost
Examples of public clouds include
• Amazon Elastic Compute Cloud (EC2),
• IBM’s Blue Cloud,
• Sun Cloud,
• Google AppEngine and
• Windows Azure Services Platform.
• Most of the google services
• Gmail, Google Doc, Spreadsheet
A public cloud is one based on the standard cloud computing model,
in which a service provider makes resources, such as virtual machines
(VMs), applications or storage, available to the general public over the
internet. Public cloud services may be free or offered on a pay-per-
usage model.
Private Cloud
• Private cloud definition
• The cloud infrastructure is operated solely for an organization. It may be
managed by the organization or a third party and may exist on premise
or off premise.
• Also referred to as internal cloud or on-premise cloud, a private cloud
intentionally limits access to its resources to service consumers that
belong to the same organization that owns the cloud.
• Basic characteristics :
• Heterogeneous infrastructure
• Customized and tailored policies
• Dedicated resources
• In-house infrastructure
• End-to-end control
Community Cloud
• Community cloud definition
• The cloud infrastructure is shared by several organizations and supports a specific community
that has shared concerns (e.g., mission, security requirements, policy, and compliance
considerations).
Community clouds are
often designed for
businesses and
organizations working
on joint projects,
applications, or
research, which requires
a central cloud
computing facility for
building, managing and
Hybrid Cloud
• Hybrid cloud definition
• The cloud infrastructure is a composition of two or more clouds (private,
community, or public) that remain unique entities but are bound together
by standardized or proprietary technology that enables data and
application
portability (e.g., cloud bursting
for load-balancing between
clouds).
An example of a hybrid cloud solution
is an organization that wants to keep
confidential information secured on
their private cloud, but make more
general, customer-facing content on a
public cloud.
Cloud bursting is an application
deployment model in which an application
runs in a private cloud and burst into a
public cloud when the demand for
computing capacity spikes.
Features of Cloud
• Self Service
• Per usage metering and billing
• Elasticity
• customization
Self-Service
• Consumers of cloud computing services expect on-demand
• Nearly instant access to resources
• Clouds must allow self-service access
• Customers can request, customize, pay, and use services without intervention of
human operators
Per-Usage Metering and Billing
• Cloud computing eliminates up-front commitment by users
• Allowing them to request and use only the necessary amount
• Services must be priced on a short-term basis, e.g., by the hour
• Allowing users to release (and not pay for) resources as soon as they are not needed
• Clouds must allow efficient trading of service
• Such as pricing, accounting, and billing
• Metering should be done accordingly for different types of service
• e.g., storage, processing, and bandwidth
• Usage is promptly reported
• Thus providing greater transparency
Elasticity
• Cloud computing gives the illusion of infinite computing resources
available on demand
• Users expect clouds to rapidly provide resources in any quantity at any time
• The additional resources can be
• Provisioned, possibly automatically, when an application load increases
• Released when load decreases
• Scale up and down
Customization
• A multi-tenant cloud often reveals a great disparity between user needs
• Resources rented from the cloud must be highly customizable
• Infrastructure services allow users
• To deploy specialized virtual appliances
• To be given privileged (root) access to the virtual servers
• PaaS and SaaS offer less flexibility
• Not suitable for general-purpose computing
• Still expected to provide a certain level of customization
Cloud Infrastructure Management
Features available in Virtual Infrastructure Manager(VIM):
• 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
Features
Virtualization Support
• The multi-tenancy aspect of clouds requires multiple
customers with disparate requirements to be served by a
single hardware infrastructure
• Virtualized resources (CPUs, memory, etc.) Can be sized and resized with certain
flexibility
• Hardware virtualization
• The ideal technology to create a virtual infrastructure that partitions a data center
among multiple tenants
Features (cont.)
Self-Service, On-Demand Resource Provisioning
• Enables users to directly obtain services from
clouds
• e.g., spawning the creation of a server
• Tailoring its software, configurations, and security policies
• Without interacting with a human system administrator
• Eliminates the need for more time-consuming,
labor-intensive, human-driven procurement
processes
• Users can easily interact with the system
Features (cont.)
Multiple Backend Hypervisors
• Some VI managers provide a uniform management layer regardless of the
virtualization technology used
• Usually provide pluggable drivers to interact with multiple
hypervisors
Features (cont.)
• Storage Virtualization
• Abstracting logical storage from physical storage
• Consolidating all available storage devices in a data center to create virtual disks
independent from device and location
• Storage devices are commonly organized in a storage area network
(SAN) attached to servers
• Via protocols such as Fibre Channel, ISCSI, and NFS
• A storage controller provides the layer of abstraction between virtual
and physical storage
Features (cont.)
• Interface to Public Clouds
• Extends the capacity by borrowing resources from public clouds
• Make good use of the available resources
• In case of spikes in demand, extra load can be offloaded to rented resources
• A VI manager can be used in a hybrid cloud setup
• Offers a driver to manage the life cycle of virtualized resources obtained from external
cloud providers
• Must ideally be transparent
Features (cont.)
• Virtual Networking
• Virtual networks allow creating an isolated network on top of a physical infrastructure
• independently from physical topology and locations
• A virtual LAN (VLAN) allows isolating traffic that shares a switched network
• Allowing VMs to be grouped into the same broadcast domain
• Can be configured to block traffic originated from VMs from other networks
• The VPN (virtual private network) concept is a secure and private overlay network on
top of a public network
• Most commonly the public Internet
• VI managers support creating and configuring virtual networks to group VMs placed
throughout a data center
Features (cont.)
• Dynamic Resource Allocation
• Increased awareness of energy consumption in data centers has encouraged
dynamic consolidating VMs in a fewer number of servers
• Applications have variable and dynamic needs
• Also reallocates available resources among VMs according to application needs
• Energy consumption reduction and better management of SLAs can be achieved
• By dynamically remapping VMs to physical machines at regular intervals
• Machines that are not assigned any VM can be turned off or put on a low power state
Features (cont.)
• Virtual Clusters
• Several VI managers can holistically manage groups of VMs
• Useful for provisioning computing virtual clusters on demand
• Interconnecting VMs for multi-tier Internet applications
Features (cont.)
• Reservation and Negotiation Mechanism
• Requests are termed advance reservations (AR)
• Users request computational resources to be available at a
specific time
• In contrast to best-effort requests
• Users request resources whenever available
• The provider can offer a distinct slot that is still satisfactory to the
user
• OpenPEX( Open Provisioning and execution
system) incorporates a bilateral negotiation
protocol
• OpenPEX, a system that allows users to provision resources
ahead of time through advance reservations
• Allows users and providers to come to an alternative agreement
by exchanging offers and counter offers
Features (cont.)
High Availability (HA) and Data Recovery
• High availability feature minimizing application
downtime and preventing business disruption
• Providing a failover mechanism
• Detects failure of both physical and virtual servers and
restarts VMs on healthy physical servers
• Protects failures from host
• Frequent backup of a large number of VMs should be
done with minimal interference in the systems
performance
• Each one is attached with multiple virtual disks
IaaS Features:
• Geographic presence (build data centers)
• User Interface and access to users
• Advance reservation of capacity
• Automatic Scaling and Load Balancing
• Service level Agreement
Features (cont.)
• Geographic Presence
• A provider of worldwide services would typically build several data
centers distributed around the world
• To improve availability and responsiveness
Features (cont.)
User Interfaces and Access to Servers
• A public IaaS provider must provide multiple access means to its
cloud
• For various users and their preferences
• Different types of user interfaces (UI) provide different levels of
abstraction
• The most common being graphical user interfaces (GUI), command-line
tools (CLI), and Web service (WS) APIs
• GUIs are preferred by end users who need to launch, customize,
and monitor a few virtual servers
• Do not necessary need to repeat the process several times
• WS APIs offer programmatic access to a cloud using standard HTTP
requests
• Allowing complex services to be built on top of IaaS clouds
Features (cont.)
Advance Reservation of Capacity
• Allow users to reserve resources for a specific time frame in the future
• Cloud resources will be available at that time
• Most clouds only support best-effort requests
• Users requests are served whenever resources are available
• Amazon Reserved Instances is a form of advance reservation of capacity
• Allowing users to pay a fixed amount of money in advance to guarantee resource availability at
anytime during an agreed period
• Then paying a discounted hourly rate when resources are in use
• Only long periods of 1 to 3 years are offered
• Users cannot express their reservations in finer granularities, e.g., hours or days
Features (cont.)
Automatic Scaling and Load Balancing
• Elasticity is a key characteristic of the cloud
• Applications often need to scale up and down to meet varying load
conditions
• Automatic scaling is a highly desirable feature of IaaS
clouds
• Allow users to set conditions for when they want their applications to
scale up and down
• Based on application-specific metrics such as transactions per
second, number of simultaneous users, request latency, etc.
• Incoming traffic must be automatically distributed
among the available servers
• Enables applications to promptly respond to traffic increase while
also achieving greater fault tolerance
Features (cont.)
Service-Level Agreement
• Offered by IaaS providers to express their commitment to delivery of a
certain QoS
• To customers it serves as a warranty
• Include availability and performance guarantees
• Metrics must be agreed upon by all parties as well as penalties for
violating these expectations
PaaS Features:
• Programming Models, Languages and Frameworks – how user can express their application and
how efficiently they run in cloud platform.
• Persistence Options – to record their states and recover in case of crashes
Features
Programming Models, Languages, and Frameworks
• Programming models made available by IaaS
providers
• Define how users can express their applications using higher levels
of abstraction and efficiently run them on the cloud platform
• The most common activities that require specialized
models are
• MapReduce model: Processing of large dataset in clusters of
computers
• Development of request-based Web services and applications
• High-performance distributed execution of various computational
tasks
• PaaS providers usually support multiple programming
languages
• Python and Java (e.g., Google appengine)
• .NET languages (e.g., Microsoft Azure)
• Ruby (e.g., Heroku)
Features (cont.)
Persistence Options
• A persistence layer is essential to allow applications to
record their state
• Recover it in case of crashes
• Also store user data
• Web and enterprise application developers have
chosen relational databases as the preferred
persistence method
• Offer fast and reliable structured data storage and transaction
processing
• May lack scalability to handle several petabytes (250) of data stored
in commodity computers
• Distributed storage technologies have emerged
• Seek to be robust and highly scalable
• At the expense of relational structure and convenient query
languages
Challenges and Risk:
Security , Privacy and Trust
Data Lock in and standardization
Availability , Fault Tolerance and Disaster Recovery
Resource Management and Energy
Challenges And Risks
• A significant number of challenges and risks are inherent to
cloud computing
• User privacy, data security
• Availability of service, disaster recovery
• Performance, scalability, energy-efficiency
• Programmability
Security, Privacy, and Trust
• Information security is a main issue
• Current cloud offerings are essentially public
• Exposing the system to more attacks
• Need to make cloud computing environments as secure as
in-house IT systems
• e.g., data encryption, VLANs, and firewalls
• The trust toward providers is fundamental
• To ensure the desired level of privacy for applications hosted in the cloud
Security, Privacy, and Trust (cont.)
• Legal and regulatory issues also need attention
• Providers may choose to locate data anywhere
• The physical location of data centers determines the set of laws applied to the
management of data
• Specific cryptography techniques can not be used
• They are not allowed in some countries
• Country laws can impose that sensitive data are to be stored within
national borders
• e.g., patient health records
Data Lock-In and Standardization
• A major concern of cloud computing users
• Having their data locked-in by a certain provider
• Users may want to move data and applications out from a provider that does not
meet their requirements
• Cloud computing infrastructures and platforms do not employ standard methods
of storing user data and applications.
• User data are not portable
Data Lock-In and Standardization (cont.)
Open Virtual Format (OVF)
• OVF is a specification that describes an open-
standard, secure, efficient, portable and
extensible format for packaging and distributing
software for virtual machines.
• Hardware virtualization
• Aims at facilitating packing and distribution of software
to be run on VMs
• Virtual appliances can be made portable
• Seamlessly run on hypervisor of different vendors
• The OVF standard is independent of any particular hypervisor or
processor architecture.
Availability, Fault-Tolerance, and Disaster
Recovery
• Users will have certain expectations about the service level to be provided
• Once their applications are moved to the cloud
• Availability of the service, its overall performance
• What measures are to be taken when something goes wrong in the system or its
components
• Users seek for a warranty before they can comfortably move their business to the
cloud
• SLAs must be ideally set up between customers and cloud computing
providers
• To act as warranty
Availability, Fault-Tolerance, and Disaster
Recovery (cont.)
• Including QoS requirements
• Specifies the details of the service to be provided
• Including availability and performance guarantees
• Metrics must be agreed upon by all parties
• Penalties for violating the expectations must also be approved
Resource Management and Energy-Efficiency
• One important challenge is the efficient management of virtualized
resource pools
• Physical resources like CPU cores, disk space, and network bandwidth
must be sliced and shared among virtual machines
• Running potentially heterogeneous workloads
• Dimensions to be considered include
• Number of CPUs, amount of memory, size of virtual disks, and network bandwidth
Resource Management and Energy-Efficiency
(cont.)
• Data centers consume large amounts of electricity
• 100 server racks can consume 1.3 MW of power
• Another 1.3 MW are required by the cooling system
• Costing USD 2.6 million per year
• Data centers significantly impact the environment
• In terms of CO2 emissions from the cooling systems