virtualization techniques & cloud compting

Download Virtualization Techniques & Cloud Compting

If you can't read please download the document

Upload: ahmed-mekkawy

Post on 16-Apr-2017

16.157 views

Category:

Technology


4 download

TRANSCRIPT

Virtualization Techniques
&
Cloud Computing

Ahmed [email protected]

This presentation is under creative commons BY-NC-SA license

What will talk about

VirtualizationWhat is it?

Why do we use it?

Is it really a new technology?

Virtualization Types

Cloud ComputingWhat is it?

Why to use it?

Is it mature and dependable? Should we use it?

Example: Amazon Web Services

Virtualization

What is Virtualization?

Is it a new technology? No, IBM started it in the 70's (or even 60's).

Is chrooting considered virtualization?Not really, though it does the trick in some situations.

Why Virtualization?

Cost Reduction.

Isolation and creating protected environment.

Testing and evaluation of OS, kernel, or an application.

Teaching.

Ease of duplication.

Relocation (and disaster recovery).

Running Application not supported by the host.

Green IT.

etc.

Virtualization Techniques

Full Virtualization.

OS-level Virtualization.

Partial Virtualization (Historical, not used).

Paravirtualization.

Hardware-assisted Virtualization.

Full Virtualization

Concept: The host OS emulated a hardware layer for each guest OS.

Pros: Stability, comptability, guest OS is not patched.

Cons: resources, porfromance.

OS-Level Virtualization

Concept: Same OS for everyone (host & guest), and isolation is only in the userland. If you run `ps aux` in the host, you will see all guests processes.

Pros: low overhead, highest performance.

Cons: isolation, stability.

Examples: FreeBSD Jails, Solaris Containers, Virtuzzo/OpenVZ.

Paravirtualization

Concept: A thin layer (called the hypervisor, you can think of it as a kernel more than an OS), interfaces the hardware to all OS's (host and guest), Dom0 is called the privilged domain which can issue commands to the hypervisor.

If Dom0 crashed (not the hypervisor), the guest OS still runs fine, anyway you won't be able to control the hypervisor till you reboot.

The hypervisor provides API's to the DomU's kernels, which are not actually real kernels, they only interface these API's to the userland, not real kernels.

Paravirtualization Cont'd

Pros:Stability is very close to the hardware virtualization.

Performance is very good (nothing can beat OS-level virtualizatin in this matter).

Overhead is very low (kernel level only, and not even a complete kernel).

Cons:Not easy to implement (it's getting better these days).

Both host and guest kernels has to be patched.

Maintainability.

Example: Xen

Pros:Stability is very close to the hardware virtualization.

Performance is very good (nothing can beat OS-level virtualizatin in this matter).

Overhead is very low (kernel level only, and not even a complete kernel).

Cons:Not easy to implement (it's getting better these days).

Both host and guest kernels has to be patched.

Maintainability.

Hardware-assisted Virtualization

Sometimes it's called accelerated virtualization or HVM (Hardware Virtual Machines).

Concept: Hardware provides support to run instructions independently for each OS.

Implementation: IBM 370 (1972), Intel VT, AMD-V, UltraSparc, and others.

Examples: linux KVM, Vmware fusion, M$ VirtualPC, Xen, Virtual Box.

Hardware-assisted Cont'd

Pros:Highly reduces (theoritically eleminates) the need to patch the guest OS.

Theoritically optimal performance.

Great Stability.

Cons:Hardware restrictions.

A pure hardware-assisted virtualization approach, using entirely unmodified guest operating systems, involves many VM traps, and thus high CPU overheads; this limits scalability and the efficiency of server consolidation. This performance hit can be mitigated by the use of paravirtualized drivers; the combination has been called hybrid virtualization.

Cloud Computing

So What is Cloud Computing Anyway? Do you find yourself saying "am I the only one that is confused about this?"

Two openions about this:

Cloud is Not a technology

It's just a mechanism of outsourcing Internal infrastructure (IaaS), it just didn't come up with new technologies. It's a marketing hype, nothing more.

Note that this openion from SANS.org

Cloud is a Pradigm Shift

It's a total new technology shift to utilizing new technologies in a more usable and abstract way. It has offered the core technologies in a very practical way.

My Openion? Well those 2 openions are the same.. It's a marketing hype that will drive the techies to make new technologies that didn't exist before, like what always happens...

Cloud Computing Cont'd

Are all clouds are public ones like AWS?Of course not, there are private clouds, check eucalyptus (or ubuntu enterprise cloud), it's an open source (and free software, as speech & as beer) software.

It's also a business hype, everybody is talking about it.

The most known public clouds are Amazon and Rackspace clouds.

Everything is great, it's cheaper, more performant, and sustainable... where's the trick?

Concerns about Clouds

Who said that performance is better? CPU wise?

Stability? Talk to me about it.

Security and privacy... duh!

RMS harsh words about it.. why is all that buzz?

Cloud Pros

Very fast provisioning.

Easy scaling up/down.

Virtually unlimited resources.

Agility.

Cost, on certain situations anyway.

Metering, you pay as you go.

Bottom Line

Cloud is good when you have large scale, variable load application, and you need to minimize the cost.

Cloud is also good in application that are memory intensive but not CPU intensive, e.g RoR applications.

It should be suitable soon, this technology have the potential but it just needs to get more mature.

If you are a system developer, it's a very good chance to enter this hype now, cause later it will be very complicated (if it's not already late).

AWS Overview

Now let's talk about AWS stack, we chose it cause it's one of the most complicated clouds around.

AWS is based on Xen Virtualization.

It contains the following services:Elactic Computer Cloud (EC2): computing.

SimpleDB, Relational DB Services (RDS): Database.

Simple Queue Service (SQS), Simple Notifications Service (SNS): Messaging.

Simple Storage Service (S3): Storage.

Elastic Block Storage (EBS): Storage.

Others: like CloudFront, CloudWatch, AutoScaling, etc.

The minimal stable is EC2 + EBS

EC2

Computing instance, the harddisk is totally volatile if the instance crashed (which happens, rarely but happens).

The smallest instance type is 1.7G RAM, 1 CPU (1~1.2GHz), 32bit OS. The largest is 68.4 G RAM, 8 CPU (3.25~3.9GHz), 64bit OS.

Very Obvious that CPU is the most costy part

2 identical instance with only difference in CPU (1 CPU of 1~1.2GHz Vs. 2CPUs of 2.5~3GHz), both are 1.7G RAM, 32 bit OS. The price difference is exactly double.

EBS & S3

They share that they are redaundant, reliable storage. The maximum that happened before is a blackout, but never a dataloss.

EBS can be mounted to a single EC2, which is bad limitation.

S3 is to be accessed via http protocol, can be a great help in serving static http files from outside your servers.

Thank You

[email protected]

Muokkaa otsikon tekstimuotoa napsauttamalla

Muokkaa jsennyksen tekstimuotoa napsauttamallaToinen jsennystasoKolmas jsennystasoNeljs jsennystasoViides jsennystasoKuudes jsennystasoSeitsems jsennystasoKahdeksas jsennystasoYhdekss jsennystaso