8 - virtualization & cloud computing...2019/12/08  · cloud computing cloud computing is a...

15
virtualization cloud computing &

Upload: others

Post on 05-Jun-2020

12 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 8 - Virtualization & Cloud Computing...2019/12/08  · cloud computing Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of

virtualization

cloud computing

&

Page 2: 8 - Virtualization & Cloud Computing...2019/12/08  · cloud computing Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of

learn about the virtualization approach learn about the cloud computing approach learn how those two approaches relate

virtualization

develop

deploy

operate

learning objectives

develop

deploy

operate

Page 3: 8 - Virtualization & Cloud Computing...2019/12/08  · cloud computing Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of

virtualization can exist at various levels in computing, e.g., hardware, applications, complete machinesmachines

virtualizationin computing, virtualization refers to the act of creating a virtual (rather than actual) version of something […]*

reality (physical resources)

abstraction (virtual resources)

CPU n parallel cores m concurrent threads, with m ≫ n

memorysubset of 2k addressable memory

on a k bits machine, e.g., for k = 64, this is typically 8 to 32 gigabytes

full 2k addressable memory for k = 64, this is 16 exabytes

≅ 16 × 106 terabytes ≅ 16 × 109 gigabytes

in addition, each thread can access the full 2k addressable memory as if it was for its exclusive use

storage hard disk drive (hdd), solid state drive (ssd), usb keys, etc... file system offering persistency

network i network interfaces, e.g., wifi, ethernet j network connections, with with j ≫ i

*wikipedia.org

Page 4: 8 - Virtualization & Cloud Computing...2019/12/08  · cloud computing Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of

virtualization

hardware

hypervisor*

operating system (os)

app app app app app

operating system (os)

1960: first concept & implementation in the IBM S/360 operating system

*also called virtual machine monitor

hardware

hypervisor

host os (macos)

guest os (linux)

app app app app app

guest os (windows)

VirtualBox

since 1999: rebirth of this concept applying it to the Intel processor architecture

machinesvirtual

Page 5: 8 - Virtualization & Cloud Computing...2019/12/08  · cloud computing Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of

virtualizationcontainerized applications

containervirtual machine

hardware

guest OSguest OS guest OS

hypervisor

app 1 app 2 app 3

bin/libs bin/libs bin/libs

hardware

container support

host os

app 1 app 2 app 3

bin/libs bin/libs bin/libs

machinesvirtual

• small memory footprint (tens of megabytes) • deployment is very quick • supports only one operating system on the same hardware

• large memory footprint (tens of gigabytes) • deployment is rather slow • supports different operating systems on the same hardware

app containerization is a lightweight variant of virtualization supporting faster deployment

it is particularly well suited for the fast deployment and redeployment of microservices

Page 6: 8 - Virtualization & Cloud Computing...2019/12/08  · cloud computing Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of

on-premises vs cloud computingwith on-premises computing, hardware and software resources are located within the physical boundaries of an organization, usually in it s internally operated data center, and the services they provide can be accessed via the organization's intranet

cloud computing

with cloud computing, hardware and software resources are moved outside the physical boundaries of an organization,

in a data center operated by a cloud provider, and the services they provide must be accessed via the Internet

Page 7: 8 - Virtualization & Cloud Computing...2019/12/08  · cloud computing Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of

cloud computingCloud computing is a model for enabling ubiquitous, 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.

The NIST Definition of Cloud Computing Peter M. Mell, Timothy Grance

https://dx.doi.org/10.6028/NIST.SP.800-145

NIST = National Institute of Standards and Technology, U.S. Department of Commerce

Page 8: 8 - Virtualization & Cloud Computing...2019/12/08  · cloud computing Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of

cloud computing

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 NIST Definition of Cloud Computing Peter M. Mell, Timothy Grance

https://dx.doi.org/10.6028/NIST.SP.800-145

NIST = National Institute of Standards and Technology, U.S. Department of Commerce

Infrastructure as a Service (IaaS)

Page 9: 8 - Virtualization & Cloud Computing...2019/12/08  · cloud computing Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of

cloud computing

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 NIST Definition of Cloud Computing Peter M. Mell, Timothy Grance

https://dx.doi.org/10.6028/NIST.SP.800-145

NIST = National Institute of Standards and Technology, U.S. Department of Commerce

Platform as a Service (PaaS)

Page 10: 8 - Virtualization & Cloud Computing...2019/12/08  · cloud computing Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of

cloud computing

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

either a thin client interface, such as a web browser (e.g., web-based email), or a program interface.

The NIST Definition of Cloud Computing Peter M. Mell, Timothy Grance

https://dx.doi.org/10.6028/NIST.SP.800-145

NIST = National Institute of Standards and Technology, U.S. Department of Commerce

Software as a Service (SaaS)

Page 11: 8 - Virtualization & Cloud Computing...2019/12/08  · cloud computing Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of

cloud computing

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)why buy when you can rent and scale? example: Amazon Web Services EC2

give me a nice api with a solid implementation! example: Amazon Web Services Lambda

run it for me and make it accessible anywhere! example: google docc

Page 12: 8 - Virtualization & Cloud Computing...2019/12/08  · cloud computing Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of

cloud computingfrom pizza…

🍕

pizza dough

cheese

tomato sauce

toppings

oven

electricity

drinks

dining table

forks & knives

home made

your

resp

onsi

bilit

y

pizza dough

cheese

tomato sauce

toppings

oven

electricity

drinks

dining table

forks & knives

take & bake

your

resp

onsi

bilit

y

vendor’s responsibility pizza dough

cheese

tomato sauce

toppings

oven

electricity

drinks

dining table

forks & knives

pizza deliveryyo

ur re

spon

sibi

lity

vendor’s responsibility

pizza dough

cheese

tomato sauce

toppings

oven

electricity

drinks

dining table

forks & knives

dining out

vendor’s responsibility

Page 13: 8 - Virtualization & Cloud Computing...2019/12/08  · cloud computing Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of

data center

network

servers & storage

virtualization

systems

databases

frameworks

applications

security

your

resp

onsi

bilit

y

data center

network

servers & storage

virtualization

systems

databases

frameworks

applications

security

your

resp

onsi

bilit

y

cloud provider’s responsibility data center

network

servers & storage

virtualization

systems

databases

frameworks

applications

security

your

resp

onsi

bilit

y

cloud provider’s responsibility data center

network

servers & storage

virtualization

systems

databases

frameworks

applications

security

cloud provider’s responsibilitycloud computing…to the cloud!

on-premises (no cloud)

Infrastructure as a Service (IaaS)

Platform as a Service (PaaS)

Software as a Service (SaaS)

Page 14: 8 - Virtualization & Cloud Computing...2019/12/08  · cloud computing Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of

cloud computing

private grey areapublic

1’000 servers 100’000 servers

startups

when to go for the cloud?

the number of servers is not the only criterion in the decision to go for the cloud or not

the security and privacy of your data is also a key factor

Page 15: 8 - Virtualization & Cloud Computing...2019/12/08  · cloud computing Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of

cloud computing

ex–

Watson

Cloud

and counting…