virtualize or containerize

Post on 22-Jun-2015

1.910 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Choosing between containerization and virtualization.

TRANSCRIPT

Open SourceBridgeSummer2009

Thanks, Open Source Bridge organizers + volunteers

Virtualize or Containerize?

Open SourceBridgeSummer2009

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

irving + andy

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...

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.

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.

Open SourceBridgeSummer2009

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

Virtualize or Containerize?

Containerization:Is that even a thing?

Open SourceBridgeSummer2009

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

Virtualize or Containerize?

Rollcall

Virtualization users and their admirers

Open SourceBridgeSummer2009

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

Virtualize or Containerize?

Rollcall

Containerization users and their admirers

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...

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.

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)  

 

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

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

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

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

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)

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.

Open SourceBridgeSummer2009

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

Virtualize or Containerize?

Convergent Evolution

(Or something...)

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.

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?

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

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...

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!

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!

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!

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!

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... 

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.

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.

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.

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

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/

top related