virtualize or containerize

32
Open Source Bridge Summer 2009 Thanks, Open Source Bridge organizers + volunteers

Upload: andy-d

Post on 22-Jun-2015

1.910 views

Category:

Technology


0 download

DESCRIPTION

Choosing between containerization and virtualization.

TRANSCRIPT

Page 1: Virtualize or Containerize

Open SourceBridgeSummer2009

Thanks, Open Source Bridge organizers + volunteers

Page 2: Virtualize or Containerize

Virtualize or Containerize?

Open SourceBridgeSummer2009

cyberstalk : irc / twitter/ identica: irvingpop, thesethings web: cloudest.com/slides

irving + andy

Page 3: Virtualize or Containerize

Open SourceBridgeSummer2009

irc / twitter/ identica: irvingpop, thesethings web: cloudest.com/slides

Virtualize or Containerize?

Agenda1. Why we're here2. Act I -  Virtualize or Containerize (aka "So, you're a provider...")

1. Define and Differentiate2. State of the Art -> dealbreakers + dealmakers

3. Act II - The Trouble with Clouds (aka "So you're looking to buy?")

1. A Market for Lemons 2. How it's hurting consumers3. Wouldn't it be cool if...

4. Further resources5. Get in touch...

Page 4: Virtualize or Containerize

Open SourceBridgeSummer2009

irc / twitter/ identica: irvingpop, thesethings web: cloudest.com/slides

Virtualize or Containerize?

Containerization: Now you can handle the truth

Now that we all know + love virtualization, it's easier to wrap our brains around containerization

• Reminder: Virtualization is everywhere, even when you don't know it. 

• Amazon EC2, Xen, Vmware... Perhaps you've heard of them?

• Containerization branding chaos.

Page 5: Virtualize or Containerize

Open SourceBridgeSummer2009

irc / twitter/ identica: irvingpop, thesethings web: cloudest.com/slides

Virtualize or Containerize?

Why we're here

Irving said blasphemous things about virtualization in IRC.

Page 6: Virtualize or Containerize

Open SourceBridgeSummer2009

irc / twitter/ identica: irvingpop, thesethings web: cloudest.com/slides

Virtualize or Containerize?

Containerization:Is that even a thing?

Page 7: Virtualize or Containerize

Open SourceBridgeSummer2009

irc / twitter/ identica: irvingpop, thesethings web: cloudest.com/slides

Virtualize or Containerize?

Rollcall

Virtualization users and their admirers

Page 8: Virtualize or Containerize

Open SourceBridgeSummer2009

irc / twitter/ identica: irvingpop, thesethings web: cloudest.com/slides

Virtualize or Containerize?

Rollcall

Containerization users and their admirers

Page 9: Virtualize or Containerize

Open SourceBridgeSummer2009

irc / twitter/ identica: irvingpop, thesethings web: cloudest.com/slides

Virtualize or Containerize?

Act IVirtualize vs. Containerize:

Define + Differentiate

 So, you're a provider...

Page 10: Virtualize or Containerize

Open SourceBridgeSummer2009

irc / twitter/ identica: irvingpop, thesethings web: cloudest.com/slides

Virtualize or Containerize?

Before we begin, assumptionsOur focus:    x86 Server Market    Open Source Operating Systems    Open Source & Web Application stacks    Yes, we know that:    Virtualization actually kicked off in the 1970s    Mainframe world.    Things are different when you bring Windows into the    picture.

If you want to discuss Windows, Mainframes, etc, you may be at the wrong talk.

Page 11: Virtualize or Containerize

Open SourceBridgeSummer2009

irc / twitter/ identica: irvingpop, thesethings web: cloudest.com/slides

Virtualize or Containerize?

Virtualization ExplainedVirtualization in a Nutshell: A software technique used to separate an Operating

System from Physical Resources The virtualization "host" presents a complete set of

hardware (CPU, memory, disk, devices) to the "guest", fooling the guest into thinking it is running on real hardware

Analogy:   The Matrix  

Examples VMware (Full Virtualization) Xen (Paravirtualization) KVM (Paravirtualization) Virtualbox (Full Virtualization)  

 

Page 12: Virtualize or Containerize

Open SourceBridgeSummer2009

irc / twitter/ identica: irvingpop, thesethings web: cloudest.com/slides

Virtualize or Containerize?

Virtualization Explained(cont.)

Advantages: System Consolidation System Protection Simplicity - Run any x86 OS!

Disadvantage:  CPU Performance Memory Performance IO Performance Noticing a trend? Expensive translation

Scheduler Contention

Page 13: Virtualize or Containerize

Open SourceBridgeSummer2009

irc / twitter/ identica: irvingpop, thesethings web: cloudest.com/slides

Virtualize or Containerize?

Containerization:The Difference is found in the Translation

Virtualization -- much must be translated

Containerization -- It's all native

Page 14: Virtualize or Containerize

Open SourceBridgeSummer2009

irc / twitter/ identica: irvingpop, thesethings web: cloudest.com/slides

Virtualize or Containerize?

The Alien is the Guest, the Human is the Host

*Except when you containerize, then a Human is both the Guest and Host

Page 15: Virtualize or Containerize

Open SourceBridgeSummer2009

irc / twitter/ identica: irvingpop, thesethings web: cloudest.com/slides

Virtualize or Containerize?

Containerization ExplainedContainerization in a Nutshell Also called Operating System-level virtualization, the

host and guests all share a single kernel Essentially, virtualization in user-land Single kernel provides greater control of guests, yet

thinner separation between guests Some ability to run different OS distributions

Examples OpenVZ (Linux) Linux-Vserver FreeBSD Jails Solaris Containers

Page 16: Virtualize or Containerize

Open SourceBridgeSummer2009

irc / twitter/ identica: irvingpop, thesethings web: cloudest.com/slides

Virtualize or Containerize?

Containerization Explained(cont.)

Advantages Some advantages shared with virtualization (consolidation,

protection) IO and Memory Performance levels similar to native operation CPU Scalability - no "virtual SMP" limits Greater control over guests from the host, much finer grained

resource constraints Much lower resource tax on the host

Disadvantages You can only run guests which share the same

kernel/architecture Mixed bag of "Enterprise" functionality out of the box

(automation/management consoles/clustering)

Page 17: Virtualize or Containerize

Open SourceBridgeSummer2009

irc / twitter/ identica: irvingpop, thesethings web: cloudest.com/slides

Virtualize or Containerize?

Who were Popek and Goldberg?

Published a famous paper in 1974 called "Formal Requirements for Virtualizable Third Generation Architectures". The fundamentals are still relevant today.

Equivalence A program running under the VMM should exhibit a behavior essentially identical to that demonstrated when running on an equivalent machine directly.

Resource control The VMM must be in complete control of the virtualized resources.

Efficiency A statistically dominant fraction of machine instructions must be executed without VMM intervention.

Page 18: Virtualize or Containerize

Open SourceBridgeSummer2009

irc / twitter/ identica: irvingpop, thesethings web: cloudest.com/slides

Virtualize or Containerize?

Convergent Evolution

(Or something...)

Page 19: Virtualize or Containerize

Open SourceBridgeSummer2009

irc / twitter/ identica: irvingpop, thesethings web: cloudest.com/slides

Virtualize or Containerize?

What's best for you?It depends on who you are.

Page 20: Virtualize or Containerize

Open SourceBridgeSummer2009

irc / twitter/ identica: irvingpop, thesethings web: cloudest.com/slides

Virtualize or Containerize?

How the heck do we describe ourselves?

• buyers?• sellers?• administrators?• administrator and user?!?!• providers?• users?• developers?• just need to run a dang app?

Page 21: Virtualize or Containerize

Open SourceBridgeSummer2009

irc / twitter/ identica: irvingpop, thesethings web: cloudest.com/slides

Virtualize or Containerize?

The big buckets

• Selling infrastructure or applications on top of infrastructure to people outside your organization

• Providing infrastructure, or applications on top of an infrastructure, within your organization/company

• Your own customero a dev/groups of devs managing your own

production/dev/QA servero using an app that needs infrastructure

Page 22: Virtualize or Containerize

Open SourceBridgeSummer2009

irc / twitter/ identica: irvingpop, thesethings web: cloudest.com/slides

Virtualize or Containerize?

Rollcall

• Selling infrastructure or applications on top of infrastructure to people outside your organization

• Providing infrastructure, or applications on top of an infrastructure, within your organization/company

• Your own customero a dev/groups of devs managing your own

production/dev/QA servero using an app that needs infrastructure

Need help? Let's help you choose...

Page 23: Virtualize or Containerize

Open SourceBridgeSummer2009

irc / twitter/ identica: irvingpop, thesethings web: cloudest.com/slides

Virtualize or Containerize?

Let's help you choose

You care about:  "Enterprise" functionality, support, clustering, pretty dashboards.

Virtualize!

Page 24: Virtualize or Containerize

Open SourceBridgeSummer2009

irc / twitter/ identica: irvingpop, thesethings web: cloudest.com/slides

Virtualize or Containerize?

Let's help you choose

You care about:  Running many, many different x86 OSes.  And a wide array of virtual appliances.

Virtualize!

Page 25: Virtualize or Containerize

Open SourceBridgeSummer2009

irc / twitter/ identica: irvingpop, thesethings web: cloudest.com/slides

Virtualize or Containerize?

Let's help you choose

You're an Infrastructure provider, and you need to run many, many instances of Linux as efficiently as possible.  You understand that fitting more guests on a host is free money.

Containerize!

Page 26: Virtualize or Containerize

Open SourceBridgeSummer2009

irc / twitter/ identica: irvingpop, thesethings web: cloudest.com/slides

Virtualize or Containerize?

Let's help you choose

You're a startup or indie developer on Linux, and you need to stretch every dollar.  However, you want to easily add Staging/Dev environments, regression test on a wide variety of distributions, etc.  People keep telling you to "Get a VM for that project."  What do you do?

Containerize!

Page 27: Virtualize or Containerize

Open SourceBridgeSummer2009

irc / twitter/ identica: irvingpop, thesethings web: cloudest.com/slides

Virtualize or Containerize?

Act IIThe Trouble with Clouds

So, you're a consumer of infrastructure... 

Page 28: Virtualize or Containerize

Open SourceBridgeSummer2009

irc / twitter/ identica: irvingpop, thesethings web: cloudest.com/slides

Virtualize or Containerize?

The market for lemonsMuch of what you just heard doesn't matter if you are a buyer of Infrastructure services (IaaS, Cloud Computing, etc.)

The variance in technical solutions for each technology is so great that any cloud can have massive CPU, Memory, Disk or Network limitations.  Building a well-performing virtualization hosting environment (Cloud) can be very tricky.

Because there is a lack of standardized measurement, Cloud providers compete primarily on Price, and sometimes on features.  This could result in a downward trend of service quality as new entrants provide cheaper and cheapened solutions.

See famous paper "The Market for Lemons" by economist George Akerlof.

Page 29: Virtualize or Containerize

Open SourceBridgeSummer2009

irc / twitter/ identica: irvingpop, thesethings web: cloudest.com/slides

Virtualize or Containerize?

How it's hurting consumersShopping for IaaS providers makes no sense, the comparison criteria has nothing to do with the Quality of the Infrastructure• User Interface• API• Pricing and Features• Oh yeah, and user reviews (subjective, often individual's "horror

stories")

What's worse • IaaS services are not optimized for popular application stacks.  • The marketing makes buyers think that they can get away with out

having a real system administrator to perform setup, tuning, etc• This is a step backward from the older models.• Many people really just want to run Wordpress, Drupal, Rails, Django,

or other LAMP based applications in a scalable fashion.• IaaS consumers with busy sites are finding themselves disappointed

by the performance of the solution.

Page 30: Virtualize or Containerize

Open SourceBridgeSummer2009

irc / twitter/ identica: irvingpop, thesethings web: cloudest.com/slides

Virtualize or Containerize?

Wouldn't it be cool if...There were independent measurements and ratings for IaaS providers:• Compare CPU, Memory, Disk, and network performance• Compare real-world task response times• Test complete application stacks by testing real application

performances for popular tools like Django, Ruby, Drupal and WordPress

A critical mass of communities talking about cloud stuff with these new criteria in mind:• Wikis• Discussion forums• How-to articles

Encourage vendors to be more transparent and describe their offerings in a more meaningful way.

Page 31: Virtualize or Containerize

Open SourceBridgeSummer2009

irc / twitter/ identica: irvingpop, thesethings web: cloudest.com/slides

Virtualize or Containerize?

Further Resources

• Wikipedia "Virtualization" article: http://en.wikipedia.org/wiki/Virtualization

• VMware whitepaper:  Understanding Paravirtualization http://www.vmware.com/files/pdf/VMware_paravirtualization.pdf

• Intel whitepaper:  Hybrid Virtualization http://www.vmware.com/files/pdf/VMware_paravirtualization.pdf

• Troubleshooting hosted Xen story: http://wiki.xen.prgmr.com/xenophilia/2009/06/see-this-is-why-i-dont-assume.html

• Popek and Goldberg Virtualization Requirements http://en.wikipedia.org/wiki/Popek_and_Goldberg_virtualization_requirements

Page 32: Virtualize or Containerize

Open SourceBridgeSummer2009

irc / twitter/ identica: irvingpop, thesethings web: cloudest.com/slides

Virtualize or Containerize?

Get in touchAndy (Andrea)    Sysadmin in Portland, OR    Cries when make fails.    twitter/identica:  thesethings    Blog: http://www.thesethingsmattertome.com/

Irving Popovetsky    Systems, Security and OSS consultant from Portland, OR    Unabashed OSS nerd for nearly 15 years    twitter/identica: irvingpop    Blog:  http://www.cloudest.com/blog/