building a platform-as-a-service with docker and node.js
DESCRIPTION
Docker describes itself as "an open source project to pack, ship and run any application as a lightweight container." Learn how to use Docker to create a simple Platform-as-a-Service for packaging and deploying your Node.js applications! Introducing Borealis.TRANSCRIPT
Building a Platform-as-a-
Service with Docker and
Node.js@kevinswiber
You may know…
“We all live every day in virtual
environments, defined by our ideas.”
- Michael Crichton
The enterprise cometh…
Design Goals
• Process isolation• Rapid deployment• Ops visibility• Elastic scaling• Developer
experience
Characteristics
• Transparent scale• Developers use their own tools• Access control• Status monitoring• Task scheduling• Release versioning / rollback• Zero-downtime deployments• Built-in analytics• Client SDKs for app developers
Components• User
Management• Routing• Logging• Application
Lifecycle• Add-on Support• Monitoring
Docker Features
• Images• Communi
ty• Registry• Container
s
Personal PlatformsFlyn
n
Dokku
Deis
borealis
http://github.com/borealis-io/borealis
Borealis Components
• Routing• Logging• Host API• Deploym
ent
Why use Node?• Event loop• HTTP• JSON• Rich module
ecosystem• We know it, and so do
you.
Challenges
• Routing between containers
• SSH WTF???• $ man iptables• Docker API quirks
Future Work• User Management• Application
Lifecycle• Better deploy
strategy• Scale out
Thanks!
https://github.com/borealis-io/borealis
Current contributors:
@kevinswiber@mdobs@AdamMagaluk