Virtualize or Containerize
-
Upload
andy-d -
Category
Technology
-
view
1.906 -
download
0
description
Transcript of Virtualize or Containerize
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/