Building a Platform-as-a-Service with Docker and Node.js

Post on 06-Sep-2014

1.736 views 4 download

Tags:

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 of Building a Platform-as-a-Service with Docker and Node.js

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