2. What will talk about
•
Virtualization
–
–
Why do we use it?
–
Is it really a new technology?
–
•
What is it?
Virtualization Types
Cloud Computing
–
What is it?
–
Why to use it?
–
Is it mature and dependable? Should we use
it?
–
Example: Amazon Web Services
3. Virtualization
•
What is Virtualization?
•
refers the act of creating a virtual (rather
than actual) version of something, including
but not limited to a virtual computer
hardware platform, operating system (OS),
storage device, or computer network
resources.
•
Is it a new technology?
–
No, IBM started it in the 70's (or even
60's).
4. 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.
6. 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.
7. 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.
8.
9. 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.
10.
11. Paravirtualization Cont'd
•
Pros:
–
–
Performance is very good (nothing can beat OSlevel virtualizatin in this matter).
–
•
Stability is very close to the hardware virtualization.
Overhead is very low (kernel level only, and not
even a complete kernel).
Cons:
–
–
Both host and guest kernels has to be patched.
–
•
Not easy to implement (it's getting better these
days).
Maintainability.
Example: Xen project by Linux
13. 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.
14. Hardware-assisted Cont'd
•
Pros:
–
–
Theoritically optimal performance.
–
•
Highly reduces (theoritically eleminates) the need to
patch the guest OS.
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”.
16. 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
Cloud is a Pradigm Shift
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.
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...
17. 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?
18. Cloud Pros
•
Very fast provisioning.
•
Easy scaling up/down.
•
Virtually unlimited resources.
•
Agility.
•
Cost, on certain situations anyway.
•
Metering, you pay as you go.
19. 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).
20. 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:
–
–
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.
–
•
Elactic Computer Cloud (EC2): computing.
Others: like CloudFront, CloudWatch, AutoScaling, … etc.
The minimal stable is EC2 + EBS
21. 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.
22. 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.