Upload
opendns
View
7.131
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Jessica Gadling is a Software Engineer at OpenDNS. She gave a talk and demo at OpenLate (http://www.meetup.com/OpenLate/) on October 21st, 2014 on why Docker was chosen as a central component in OpenDNS's internal PaaS Quadra.
Citation preview
OpenDNS
great idea, let’s get it in prod asap!
Orrrr… skip the hardware?
A simple little app?
Dogfood?
Dev Stage
Build?
Prod
Sharing Servers FTW!
even great ideas change
Docker
●●●●●
Fewer surprises in Prod
●●●
But can it scale?
$ ssh host1
host1$ docker run -dP myapp
host1$ exit
$ ssh host2
host2$ docker run -dP myapp
host2$ exit
Quadra Service Architecture
Quadra Network Architecture
Deploying an app in Quadra
$ qq image push myproject/myapp --tags latest
$ docker build -t myproject/myapp
Running your app
$ qq pool create mypool.myproject \ --instances 4 \ --image myproject/myapp
Pools, Deployments, LB’s oh my
image: myapp/myproject:latestenv: FOO=bar
instance1 instance2 instance3 instance4
image: myapp/myproject:newbuildenv: FOO=baz
instance5 instance6 instance7 instance8
IP Address: 10.11.12.13
image: quara/http-lb:latestenv: BACKEND_POOL=myapp.myproject
instance1 instance2
Getting traffic to your app
$ qq deploy create mylb.myproject \ --instances 2 --image quadra/http-lb --env ‘{“BACKEND_POOL”:”myapp.myproject”}’ \ --iptype private
Upgrade your pool
$ qq deploy create mypool.myproject:deploy2 \ --instances 4 --image myproject/myapp --tag newest_build
Oh, crap.
$ qq deploy update mypool.myapp:deploy2 \ --instances 0
DEMO