Upload
joshua-mckenty
View
4.216
Download
1
Tags:
Embed Size (px)
DESCRIPTION
A short-form briefing on containers, PaaS, and the harder problems of infrastructure and application orchestration.
Citation preview
But what about Docker?Containers and PaaS and VMs, oh my!
• CPU cycles• Disk I/O• Network access• Other physical resources (GPUs,
HBAs)
What’s a Run-Time Environment?
• Isolation• Launch speed• Run-time performance
RTE Criteria
• Multi-server orchestration• HA characteristics• Update mechanisms
But also…
Process Container Virtual Server Bare Metal
Applications
Services
An ecosystem of tools
Containers (and Docker)
• Containers started out at Sun in the 90s.
• They are an extension of traditional OS-level isolation primitives, including file-system ACLs, to control access to shared physical resources.
• They have matured with network namespaces and overlay filesystems
Some Background
Docker: Making containers easy
• Great command line tools• Well-integrated overlay filesystems• Well-integrated network
management
Pros:• Wickedly fast• Simple to
deploy• Abstracted
from the base OS
Cons:• No windows• No *nix• Doesn’t
address the hard problems (multi-server, multi-tier, in-place upgrades, or HA)
So… containers via Docker
• UX matters.• UX matters… a LOT.
• Built-in emulator for learning.• Built-in hosted image repository.• Good json output.• Really damn easy install.
So why is it so popular!?
Micro-OS for Fun and Profit
• Iocane (Piston Cloud)• SmartOS (Joyent)• CoreOS (Alex Polvi)• OSv (Cloudius Systems)• Mirage (XenServer)
Micro-OS Ecosystem
Containers and (Micro) OSs
Physical Server
Host OS
Container Hypervisor
App App
App
App
OS OS
Container
App
PaaS
• It’s not the method of isolation• It’s not the operating system
What isn’t PaaS?
• Automation of app placement & scaling• Orchestration of services and infrastructure
What is PaaS?
Turning this… …into this:
Understanding PaaS
.war .jar
dependencies
libraries
service manifest
App App App
LB
DB
Multi-server run time environment(s)
.tar.gz
Takeaways
• Everything in cloud competes with everything else, at a 40% overlap.
• Most PaaS use some kind of process isolation (containers or whatever) internally.
• The process isolation isn’t the hard part.
• UX matters.
Takeaways