Cloud Computing
Cloud Computing
Cloud Computing
(First Module)
Cloud Computing is referred to the accessing and storing of data and providing services
related to computing over the internet. It is simply referred to as remote services on the
internet to manage and access data online rather than any local drives. The data can be
anything like images, videos, audio, documents, files, etc.
What is Cloud Computing?
4
Clouds are a large pool of easily usable and accessible virtualized resources (such as
hardware, development platforms, and/or services). These resources can be
dynamically reconfigured to adjust to a variable load (scale), allowing also for
optimum resource utilization. This pool of resources is typically exploited by a pay-
per-use model in which guarantees are offered by the Infrastructure Provider by means
of customized Service Level Agreements.
What is Cloud Computing?
5
traditional that of traditional utilities, like gas and electricity - you pay
for what you would want!
Essential Characteristics
6
• On-demand self-service
• A consumer can unilaterally provision computing capabilities, such as server
time and network storage, as needed automatically without requiring human
interaction with each service provider.
• Resource pooling
• The provider’s computing resources are pooled to serve multiple consumers
using a multi-tenant model, with different physical and virtual resources
dynamically assigned and reassigned according to consumer demand.
Essential Characteristics
7
• Measured Service
– Cloud systems automatically control and optimize resource use by leveraging a
metering capability at some level of abstraction appropriate to the type of
service (e.g., storage, processing, bandwidth, and active user accounts).
Resource usage can be monitored, controlled, and reported, providing
transparency for both the provider and consumer of the utilized service.
• Rapid elasticity
– Capabilities can be elastically provisioned and released, in some cases
automatically, to scale rapidly outward and inward commensurate with demand.
To the consumer, the capabilities available for provisioning often appear to be
unlimited and can be appropriated in any quantity at any time.
Common Characteristics
8
• Massive Scale- Computer systems where processing power, memory, data storage, and networks are assembled
at scale to tackle computational tasks beyond the capabilities of everyday computers.
• Resilient Computing- Resiliency is the ability of your system to react to failure and still remain functional.
It's not about avoiding failure, but accepting failure and constructing your cloud-native services to respond to it.
• Homogeneity- One where everything is from the same vendor.
• Geographic Distribution- By spanning multiple data centers at different geographical locations, can provide
a cloud platform with much larger capacities.
• Virtualization- Virtual representations of servers, storage, networks, and other physical machines.
• Service Orientation- Each service provides a business capability, and services can also communicate with
each other across platforms and languages.
• Low-Cost Software
• Advanced Security
History of Cloud Computing
9
• Before Computing came into existence, client Server Architecture was used
where all the data and control of the client resides on the Server side. If a single
user wants to access some data, firstly user needs to connect to the server, and after
that user will get appropriate access. But it has many disadvantages.
• So, After Client Server computing, Distributed Computing was come into
existence, in this type of computing all computers are networked together with the
help of this, user can share their resources when needed. It also has certain
limitations. So in order to remove limitations faced in a distributed system, cloud
computing emerged.
History of Cloud Computing
10
• In 1961, John MacCharty delivered his speech at MIT that “Computing Can be sold
as a Utility, like Water and Electricity.” According to John MacCharty, it was a
brilliant idea. But people at that time don’t want to adopt this technology. They
thought the technology they are using was efficient enough for them. So, this
concept of computing was not appreciated much so, and very less will research on
it. But as time fleet technology caught the idea after a few years this idea is
implemented. So, this is implemented by Salesforce.com in 1999.
• This company started delivering an enterprise application over the internet and this
way the boom of Cloud Computing was started.
• In 2002, Amazon started Amazon Web Services (AWS), and Amazon started
providing storage and computation over the internet. In 2006 Amazon launched
Elastic Compute Cloud Commercial Service which is open for Everybody to use.
History of Cloud Computing
11
• After that in 2009, Google Play also started providing Cloud Computing Enterprise
Applications, as the other companies see the emergence of cloud Computing, they
also started providing their cloud services. Thus, in 2009, Microsoft launched
Microsoft Azure and after that other companies like Alibaba, IBM, Oracle, and
HP also introduces their Cloud Services. Today Cloud Computing become a very
popular and important skill.
Disadvantages of Client-Server Architecture
12
• Maintenance Difficulty: When the servers are put in place, they will run
continuously, which implies they need to receive the necessary care. If there are any
mistakes, they must be fixed right away without further delay. As a result, a
qualified network manager should be hired to look after the server.
• Unacquirable Resources: Not all of the resources on the server are available for
acquisition. For instance, you cannot immediately print a document from the web or
change any information stored on the client's hard drive.
Disadvantages of Distributed Computing
14
• The consumer does not manage or control the underlying cloud infrastructure
including network, servers, operating systems, storage, or even individual
application capabilities, with the possible exception of limited user-specific
application configuration settings.
• E.g.: Google Spread Sheet
Cloud Services Models
17
The capability provided to the consumer is to deploy onto the cloud infrastructure
consumer-created or acquired applications created using programming languages,
libraries, services, and tools supported by the provider.
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 and possibly configuration settings for the application-hosting
environment.
Cloud Services Models
18
Private cloud.
Community cloud
Public cloud.
The cloud infrastructure is provisioned for open use by the general public. It may be
owned, managed, and operated by a business, academic, government organization, or
some combination of them. It exists on the premises of the cloud provider.
Types of Cloud (Deployment Models)
23
Hybrid cloud.
•Improved performance:
– With a few large programs hogging your computer's memory, you will see
better performance from your PC.
– Computers in a cloud computing system boot and run faster because they have
fewer programs and processes loaded into memory.
•Reduced software costs:
– Move to a portable device, and your applications and documents are still
available.
Disadvantages of Cloud Computing
Data Loss
Data loss is the most common cloud security risk of cloud computing. It is also
known as data leakage. Data loss is the process in which data is deleted, corrupted,
and unreadable by a user, software, or application. In a cloud computing
environment, data loss occurs when our sensitive data is in somebody else’s hands,
one or more data elements can not be utilized by the data owner, the hard disk is not
working properly, and the software is not updated.
Data Breach
Data Breach is the process in which confidential data is viewed, accessed, or stolen
by a third party without any authorization, so an organization's data is hacked by
hackers.
Vendor lock-in
Vendor lock-in is the of the biggest security risks in cloud computing. Organizations
may face problems when transferring their services from one vendor to another. As
different vendors provide different platforms, that can cause difficulty moving from
one cloud to another.
Increased complexity strains IT staff 34
Migrating, integrating, and operating the cloud services is complex for the IT staff.
IT staff must require the extra capability and skills to manage, integrate, and
maintain the data in the cloud.
Risk in Cloud Computing
Spectre & Meltdown
Spectre & Meltdown allows programs to view and steal data that is currently
processed on the computer. It can run on personal computers, mobile devices, and in
the cloud. It can store the password, and your personal information such as images,
emails, and business documents in the memory of other running programs.
Denial of Service (DoS) attacks
Denial of service (DoS) attacks occur when the system receives too much traffic to
buffer the server. Mostly, DoS attackers target web servers of large organizations
such as banking sectors, media companies, and government organizations. To
recover the lost data, DoS attackers charge a great deal of time and money to handle
35
the data.
Account hijacking
Account hijacking is a serious security risk in cloud computing. It is the process in
which an individual user's or organization's cloud account (bank account, e-mail
account, and social media account) is stolen by hackers. The hackers use the stolen
account to perform unauthorized activities.
Applications of Cloud Computing
•Via storing heavy multimedia content in cloud storage systems, social networks help
improves Internet usability. Vendors of cloud computing, such as Salesforce and
Amazon, currently provide numerous services, including Customer Relationship
Management (CRM) and Enterprise Resource Planning (ERP). When they deliver
these items through cloud storage, without buying standalone software or hardware,
consumers can use the simplicity and scalability of the system.
•Cloud storage is useful in the event of a catastrophe by reducing the expense of data
backup and recovery. 37
•Social networks and messaging applications such as Snapchat rely on anonymity and
will potentially use these tools to provide their users with a more reliable and faster
service.
39
Source: http://www.microsoft.com/en-us/news/presskits/telecom/docs/SMBCloud.pdf
Benefits for the end user while using public
cloud
• High utilization
• High scalability
• No separate hardware procurement
• No separate power cost
• No separate IT infrastructure administration/maintenance required
• Public clouds offer user friendly SLA by offering high availability (~99%) and
40
also provide compensation in case of SLA miss
• Users can rent the cloud to develop and test prototypes before making major
investments in technology
Benefits for the end user while using
public cloud
• Cost of 1 server with 12 cores and 12 GB RAM is far lower than the cost
of 12 servers having 1 core and 1 GB RAM.
• Confidentiality of data is preserved
• Virtual machines are cheaper than actual machines 42
• Virtual machines are faster to provision than actual machines
Economics of PaaS vs
IaaS
• No need for the user to handle scaling and load balancing of requests
among virtual machines
• PaaS clouds also provide a web-based Integrated Development
Environment for the development and deployment of applications on the
PaaS cloud.
• Easier to migrate code from the development environment to the actual
production environment. 44
46
Factors driving investment in cloud
47
Source:
http://www.cloudtweaks.com/2012/01/infographic-whats-driving-investment-in-cloud-
Factors driving investment in cloud
48
Source:
http://www.cloudtweaks.com/2012/01/infographic-whats-driving-investment-in-cloud-computing/
Purpose of cloud computing in
organizations
Source:
http://askvisory.com/research/key-drivers-of-cloud-computing-activity/
Amazon Web Services (AWS)
50
Amazon.com Web Services launched its first web services in 2002 from the internal
infrastructure that Amazon.com built to handle its online retail operations. In 2006, it
began offering its defining IaaS services. AWS was one of the first companies to
introduce a pay-as-you-go cloud computing model that scales to provide users with
computing, storage, or throughput as needed.
Amazon Web Services (AWS)
Using Amazon EC2 eliminates your need to invest in hardware upfront, so you can
develop and deploy applications faster.
You can use Amazon EC2 to launch as many or as few virtual servers as you need,
configure security and networking, and manage storage. 53
•Various configurations of CPU, memory, storage, and networking capacity for your
instances, known as instance types
•Secure login information for your instances using key pairs (AWS stores the public
key, and you store the private key in a secure place) 54
•Storage volumes for temporary data that are deleted when you stop, hibernate, or
terminate your instance, known as instance store volumes
•Persistent storage volumes for your data using Amazon Elastic Block Store
(Amazon EBS), known as Amazon EBS volumes
Features of Amazon EC2
• Multiple physical locations for your resources, such as instances and Amazon EBS
volumes, known as Regions and Availability Zones
• A firewall that enables you to specify the protocols, ports, and sources IP ranges
that can reach your instances using security groups
• Static IPv4 addresses for dynamic cloud computing, known as Elastic IP addresses
• Metadata, known as tags, that you can create and assign to your Amazon EC2 55
resources
• Virtual networks you can create that are logically isolated from the rest of the AWS
Cloud and that you can optionally connect to your own network, known as virtual
private clouds (VPCs)
Assignment Question
56
(Second Module)
Cloud Computing
Architecture
58
Source:
http://www.sei.cmu.edu/library/assets/presentations/Cloud%20Computing%20Architecture%20-%20Gerald%20Kaefer.pdf
Context: High Level Architectural
Approach
Technical Architecture
60
XaaS Stack views: Customer view vs
Provider view
61
Source:
http://www.sei.cmu.edu/library/assets/presentations/Cloud%20Computing%20Architecture%20-%20Gerald%20Kaefer.pdf
Microsoft Azure vs Amazon EC2
62
Source:
http://www.sei.cmu.edu/library/assets/presentations/Cloud%20Computing%20Architecture%20-%20Gerald%20Kaefer.pdf
Architecture for elasticity
63
Source: http://www.sei.cmu.edu/library/assets/presentations/Cloud%20Computing%20Architecture%20-%20Gerald
%20Kaefer.pdf
Service Models (XaaS)
65
Service Models (XaaS)
66
Source: Cloud Security and Privacy: An Enterprise Perspective on Risks and Compliance by Tim Mather and Subra
Kumaraswamy
Service Models (XaaS)
• Increase productivity
• Increase end user satisfaction
• Increase innovation
• Increase agility 68
Service Models (XaaS)
Source: Understanding the Cloud Computing Stack: PaaS, SaaS, IaaS © Diversity
Limited, 2011
Classical Service Model
Simplified IT Simplified IT
Stack Stack
End-user devices End-user devices
Application Application
72
Client Server Architecture
73
Source:Wikiped
ia
Client Server Architecture
75
Source:
Wikipedia
Client Server model vs. Cloud
model
77
Source :
http://www.opengroup.org/soa/source-book/socci/extend.htm#figure2
Cloud service models
78
Source: http://www.cs.helsinki.fi/u/epsavola/seminaari/Cloud%20Service
Simplified description of cloud service
models
SaaS applications are designed for end users and are delivered over the web
PaaS is the set of tools and services designed to make coding and deploying
applications quickly and efficiently
IaaS is the hardware and software that powers it all – servers, storage,
network, operating systems
79
Source:
http://broadcast.rackspace.com/hosting_knowledge/whitepapers/Understanding-the-
Transportation Analogy
• By itself, infrastructure isn’t useful – it just sits there waiting for someone to
make it productive in solving a particular problem. Imagine the Interstate
transportation system in the U.S. Even with all these roads built, they
wouldn’t be useful without cars and trucks to transport people and goods. In
this analogy, the roads are the infrastructure and the cars and trucks are the
platforms that sit on top of the infrastructure and transport the people and
goods. These goods and people might be considered software and
information in the technical realm. 80
Source: http://broadcast.rackspace.com/hosting_knowledge/whitepapers/Understanding-the-Cloud-Computing-Stack.pdf
Software as a Service
• SaaS is defined as software that is deployed over the internet. With SaaS,
a provider licenses an application to customers either as a service on
demand, through a subscription, in a “pay-as-you-go” model, or
(increasingly) at no charge when there is an opportunity to generate
revenue from streams other than the user, such as from advertisement or
user list sales.
81
Source: http://broadcast.rackspace.com/hosting_knowledge/whitepapers/Understanding-the-Cloud-Computing-
Stack.pdf
SaaS characteristics
Source: http://broadcast.rackspace.com/hosting_knowledge/whitepapers/Understanding-the-Cloud-Computing-
Stack.pdf
Applications where SaaS is used
Source:
http://broadcast.rackspace.com/hosting_knowledge/whitepapers/Understanding-the-
Cloud-Computing-Stack.pdf
Applications where SaaS may not be
the best option
Source:
http://broadcast.rackspace.com/hosting_knowledge/whitepapers/Understanding-the-
Cloud-Computing-Stack.pdf
Platform as a Service
• Platform as a Service (PaaS) brings the benefits that SaaS bought for
applications, but over to the software development world. PaaS can be
defined as a computing platform that allows the creation of web
applications quickly and easily and without the complexity of buying and
maintaining the software and infrastructure underneath it.
• PaaS is analogous to SaaS except that, rather than being software delivered
over the web, it is a platform for the creation of software, delivered over
the web. 85
Source:
http://broadcast.rackspace.com/hosting_knowledge/whitepapers/Understanding-the-
Cloud-Computing-Stack.pdf
Characteristics of PaaS
Services to develop, test, deploy, host, and maintain applications in the same
integrated development environment. All the varying services needed to
fulfill the application development process.
Web-based user interface creation tools help to create, modify, test, and
deploy different UI scenarios.
Multi-tenant architecture where multiple concurrent users utilize the same
development application.
Built in the scalability of deployed software including load balancing and
failover. 86
Integration with web services and databases via common standards.
Support for development team collaboration – some PaaS solutions include
project planning and communication tools.
Tools to handle billing and subscription management
Source: http://broadcast.rackspace.com/hosting_knowledge/whitepapers/Understanding-the-Cloud-Computing-Stack.pdf
Scenarios where PaaS is used
Source:
http://broadcast.rackspace.com/hosting_knowledge/whitepapers/Understanding-the-
Cloud-Computing-Stack.pdf
Infrastructure as a Service
Source:
http://broadcast.rackspace.com/hosting_knowledge/whitepapers/Understanding-the-
Cloud-Computing-Stack.pdf
Characteristics of IaaS
90
Source:
http://broadcast.rackspace.com/hosting_knowledge/whitepapers/Understanding-the-
Cloud-Computing-Stack.pdf
Scenarios where IaaS makes
sense
Where demand is very volatile – any time there are significant spikes
and troughs in terms of demand for the infrastructure
For new organizations without the capital to invest in hardware
Where the organization is growing rapidly and scaling hardware would be
problematic
Where there is pressure on the organization to limit capital expenditure
91
and move to operating expenditure
For specific lines of business, trial, or temporary infrastructural needs
Scenarios where IaaS may not be the best
option
93
Source: http://www.cs.helsinki.fi/u/epsavola/seminaari/Cloud%20Service
%20Models.pdf
Feature comparison of PaaS
providers
94
Source: http://www.cs.helsinki.fi/u/epsavola/seminaari/Cloud%20Service
%20Models.pdf
Feature comparison of IaaS providers
95
Source: http://www.cs.helsinki.fi/u/epsavola/seminaari/Cloud%20Service
%20Models.pdf
XaaS
96
Role of Networking in cloud
computing
98
Source: http://www.slideshare.net/alexamies/networking-concepts-and-tools-for-
the-cloud
Deployment Models
• Public Cloud
• Private Cloud
• Hybrid Cloud
• Community Cloud
99
Public Cloud
Cloud infrastructure is provisioned for open use by the general public. It may
be owned, managed, and operated by a business, academic, government
organization, or some combination of them. It exists on the premises of the
cloud provider.
Source: LeeBadger, and Tim Grance “NIST DRAFT Cloud Computing Synopsis and
Recommendations “
Public Cloud
• Contrary to popular belief, a private cloud may exist off-premises and can be
managed by a third party. Thus, two private cloud scenarios exist, as follows:
• On-site Private Cloud
– Applies to private clouds implemented at a customer’s premises.
• Outsourced Private Cloud
– Applies to private clouds where the server side is outsourced to a hosting
company.
On-site Private Cloud
Source: LeeBadger, and Tim Grance “NIST DRAFT Cloud Computing Synopsis and
Recommendations “
On-site Private Cloud
Source: LeeBadger, and Tim Grance “NIST DRAFT Cloud Computing Synopsis and
Recommendations “
On-site Community Cloud
Source: LeeBadger, and Tim Grance “NIST DRAFT Cloud Computing Synopsis and
Recommendations “
Outsourced Community Cloud
Source: LeeBadger, and Tim Grance “NIST DRAFT Cloud Computing Synopsis and
Recommendations “
Hybrid Cloud
Virtualization assigns a logical name for a physical resource and then provides a
pointer to that physical resource when a request is made.
Virtualization provides a means to manage resources efficiently because the
mapping of virtual resources to physical resources can be both dynamic and
facile.
Virtualization is dynamic in that the mapping can be assigned based on rapidly
changing conditions, and it is facile because changes to a mapping assignment
can be nearly instantaneous.
Virtualization
136
Access: A client can request access to a cloud service from any location.
Application: A cloud has multiple application instances and directs requests to
an instance based on conditions.
CPU: Computers can be partitioned into a set of virtual machines with each
machine being assigned a workload. Alternatively, systems can be virtualized
through load-balancing technologies.
Storage: Data is stored across storage devices and often replicated for
redundancy. To enable these characteristics, resources must be highly
configurable and flexible.
Virtualization
137
Properties
14
0
Source: LeeBadger, and Tim Grance “NIST DRAFT Cloud Computing Synopsis and Recommendations
“
IaaS Component Stack and Scope of Control
14
1
Source: LeeBadger, and Tim Grance “NIST DRAFT Cloud Computing Synopsis and Recommendations
“
IaaS Component Stack and Scope of
Control
14
4
Source: LeeBadger, and Tim Grance “NIST DRAFT Cloud Computing Synopsis and Recommendations
“
IaaS Cloud
Architecture
• Cloud Manager is the public access point to the cloud where subscribers sign
up for accounts, manage the resources they rent from the cloud, and access
data stored in the cloud.
• Cloud Manager has mechanism for:
– Authenticating subscribers
– Generating or validating access credentials that subscriber uses when
communicating with VMs. 14
7
– Top-level resource management.
• For a subscriber’s request cloud manager determines if the cloud has enough
free resources to satisfy the request
Data Object Storage (DOS)
14
8
Operation of the Cluster Managers
• At the lowest level in the hierarchy computer manger runs on each computer
system and uses the concept of virtualization to provide Virtual Machines to
subscribers
• Computer Manger maintains status information including how many virtual
machines are running and how many can still be started
15
• Computer Manager uses the command interface of its hypervisor to start, stop,
1
System App. B
Virtualization Layer
App. D
Hardware 15
2
Hardware
Virtualized system
‘Non-virtualized’ system
A single OS controls all hardware It makes it possible to run multiple Virtual Containers on
platform resources a single physical platform
Source: www.dc.uba.ar/events/eci/2008/courses/n2/Virtualization-
Virtualization
• Virtualization is way to run multiple operating systems and user applications on the
same hardware
– E.g., run both Windows and Linux on the same laptop
• How is it different from dualboot?
– Both OSes run simultaneously
• The OSes are completely isolated from each other
15
3
Hypervisor or Virtual Machine
Monitor
Source: www.dc.uba.ar/events/eci/2008/courses/n2/Virtualization-Introduction.ppt
Hypervisor or Virtual Machine
Monitor
Popek and Goldberg describe (and give formal proof of) the requirements for the CPU's
instruction set to allow these properties. The main idea here is to classify instructions into
•privileged instructions, which cause a trap if executed in user mode, and
•sensitive instructions, which change the underlying resources (e.g. doing I/O or changing
the page tables) or observe information that indicates the current privilege level (thus
exposing the fact that the guest OS is not running on the bare hardware).
•The former class of sensitive instructions is called control sensitive and the latter
behavior sensitive in the paper, but the distinction is not particularly important.
What Popek and Goldberg show is that we can only run a virtual machine with all three
15
desired properties if the sensitive instructions are a subset of the privileged instructions.
5 If
this is the case, then we can run most instructions directly, and any sensitive instructions
trap to the hypervisor which can then emulate them (hopefully without much slowdown).
VMM and VM
Equivalence Resource
Control Efficiency
Privileged instructions
Control sensitive
Behavior sensitive
Source: www.dc.uba.ar/events/eci/2008/courses/n2/Virtualization-Introduction.ppt
Load Balancing and Virtualization
Source: www.dc.uba.ar/events/eci/2008/courses/n2/Virtualization-Introduction.ppt
Load BalancingMechanism
• When a request from a client or service requester arrives, the load balancer
uses a scheduling algorithm to assign where the request is sent.
15
• Typical scheduling algorithms in use today are round robin and weighted round
9
robin, fastest response time, least connections and weighted least connections,
and custom assignments based on other factors.
Load Balancing Mechanism
• Without this session record or persistence, a load balancer would not be able to
correctly failover a request from one resource to another.
• Other methods can use the client's browser to store a client-side cookie or the
use of a rewrite engine that modifies the URL.
Load Balancing Mechanism
• Of all these methods, a session cookie stored on the client has the least amount
of overhead for a load balancer because it allows the load balancer an
independent selection of resources.
• The algorithm can be based on a simple round-robin system where the next
system in a list of systems gets the request. 16
1
16
2
Evolution of Software Solutions
• 1st Generation: Full 2nd Generation: • 3rd Generation: Silicon-
virtualization
• (Binary Para-virtualization based (Hardware-
rewriting) – Cooperative assisted) virtualization
– Software Based virtualization – Unmodified guest
– VMware and – Modified guest – VMware and Xen on
Microsoft – VMware, Xen virtualization-
Virtual
… Virtual
… aware hardware
Machine Machine VM VM
platforms
Virtual
Machine …
Virtual
Machine
Dynamic Translation Hypervisor
Hypervisor
Operating System
Hardware Hardware
Hardware 16
Virtualization Logic
3
Full Virtualization
Virtual Machine
Guest OS
Device Drivers
• Emulation layer
– Isolates VMs from the host OS and from each other
– Controls individual VM access to system resources, preventing an unstable
VM from impacting system performance
• Total VM portability
– By emulating a consistent set of system hardware, VMs have the ability to
transparently move between hosts with dissimilar hardware without any
problems 16
5
• It is possible to run an operating system that was developed for another
architecture on your own architecture
• A VM running on a Dell server can be relocated to a Hewlett-Packard
server
Source: www.dc.uba.ar/events/eci/2008/courses/n2/Virtualization-Introduction.ppt
Full Virtualization - Drawbacks
Source: www.dc.uba.ar/events/eci/2008/courses/n2/Virtualization-Introduction.ppt
Para-Virtualization
Virtual Machine
Guest OS
• Guest OS is modified and thus run kernel- Device Drivers
Server virtualization
• VMM is responsible for handling the approaches
virtualization
requests and putting them to the hardware
Para-Virtualization
Today, VM guest operating systems are para-virtualized using two different approaches:
–Recompiling the OS kernel
• Para-virtualization drivers and APIs must reside in the guest operating system kernel
• You do need a modified operating system that includes this specific API, requiring a compiling
operating system to be virtualization aware
– Some vendors (such as Novell) have embraced para-virtualization and have provided para-virtualized
OS builds, while other vendors (such as Microsoft) have not
–Installing para-virtualized drivers
• In some operating systems it is not possible to use complete para-virtualization, as it requires a
specialized version of the operating system 16
8
• To ensure good performance in such environments, para-virtualization can be applied for
individual devices
• For example, the instructions generated by network boards or graphical interface cards can be
modified before they leave the virtualized machine by using para-virtualized drivers
Source: www.dc.uba.ar/events/eci/2008/courses/n2/Virtualization-Introduction.ppt
Hardware-assisted virtualization Server virtualization approaches
Virtual Machine
Guest OS
Device Drivers
Specialized API
• Guest OS runs at ring 0 Virtual Machine Monitor
• Pros
– It allows to run unmodified OSs (so legacy OS can be run without
problems)
• Cons
– Speed and Flexibility
• An unmodified OS does not know it is running in a virtualized17
environment and so, it can’t take advantage of any of the0
virtualization features
– It can be resolved using para-virtualization partially
Network Virtualization
• Business Model
• Architecture
• Design Principles
• Design Goals
17
4
Architectur
e
34
Design Principles
Inheritance of architectural
Service Provider 0
attributes Virtual Network 0
Infrastructure
🞑 Promotes value-addition Provider 1
Revisitation of virtual nodes
🞑 Simplifies network operation and Infrastructure
management Provider 0
35
Design Goals (1)
• Flexibility
– Service providers can choose
• arbitrary network topology,
• routing and forwarding functionalities,
• customized control and data planes
– No need for co-ordination with others
• IPv6 fiasco should never happen again
• Manageability
– Clear separation of policy from mechanism
– Defined accountability of infrastructure and service
providers 17
7
– Modular management
Design Goals (2)
• Scalability
– Maximize the number of co-existing virtual networks
– Increase resource utilization and amortize CAPEX and OPEX
• Programmability
– Of network elements e.g. routers
– Answer “How much” and “how”
– Easy and effective without being vulnerable to threats
• Heterogeneity
– Networking technologies 17
9
• Optical, sensor, wireless etc.
– Virtual networks
Design Goals (4)
• Legacy Support
– Consider the existing Internet as a member of the collection of
18
multiple virtual Internet 0
– Very important to keep all concerned parties satisfied
Definition
• Networking technology
– IP, ATM
• Layer of virtualization
• Architectural domain
– Network resource management, Spawning networks
18
• Level of virtualization 2
– Node virtualization, Full virtualization