Some Background • Containers started
out at Sun in the 90s. • They are an extension of traditional OSlevel isolation primitives, including filesystem ACLs, to control access to shared physical resources. • They have matured with network namespaces and overlay filesystems
So… containers via Docker Pros:
• Wickedly fast • Simple to deploy • Abstracted from the base OS Cons: • No windows • No *nix • Doesn’t address the hard problems (multiserver, multi-tier, in-place upgrades, or HA)
So why is it so
popular!? • UX matters. • UX matters… a LOT. • • • • Built-in emulator for learning. Built-in hosted image repository. Good json output. Really damn easy install.
What isn’t PaaS? • It’s
not the method of isolation • It’s not the operating system What is PaaS? • Automation of app placement & scaling • Orchestration of services and infrastructure
Understanding PaaS Turning this… .war
…into this: .jar LB .tar.gz App App App dependencies libraries service manifest DB Multi-server run time environment(s)
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.