@
Allen Madsen
Sr. Engineer @ Cinch Financial
Previously @ Gazelle
github.com/blatyo
@blatyo
Stats
- 4 Stacks
- 34 Images
- 32 Apps
- 150 Services (48 in production)
- 679 Containers (~400 in production)
- 17 Node Clusters
- 57 Nodes
Naming Conventions
Convention | Examples | |
---|---|---|
Stack | env | tst stg prd ops |
Service | env-app-process(-color) | tst-rex-web-blue tst-rex-web-green tst-wam-worker tst-bam-poller |
Load Balancer | env-group-lb | tst-open-lb tst-gen-lb |
Cluster | env-group-instancetype | tst-open-m3large tst-private-m3large |
CName | env-app.cns.gazelle.com | tst-rex.cns.gazelle.com |
Images
(hub)
Git,
dev
master
latest
feature
release
20160506130744
20160607140845
feature
tst (manual)
20160506130744
20160607140845
prd & stg (manual)
tst (auto)
Env
Docker, &
Network Setup
VPC
lb
lb
lb
restricted-x
restricted-y
open
lb
app
app
app
app
app
app
private
data
rds
rds
rds
ec
lb
app
app
app
app
buy
sell
lb
gen
wh
y
x
sell
buy
gen
Monitoring & Logging
Node A
Node B
app
app
app
app
app
app
app
Monitoring Dashboard
Gazelle Extras
Docker Cloud Backup
- Listens to Docker Cloud events via the socket API
- When a service or stackfile is updated, create a backup in a versioned S3 bucket
Docker versions your app, but not its config.
Gazelle Deploy
- In slack: gz deploy env app tag
-
Bot starts deploy
- Find all env-app-* services
- Update image to gazelle/app:tag
- Deploy env-app-migrate if present and waits for it to exit successfully
-
Deploy env-app-web
- If env-app-web-green or env-app-web-blue, automatically does a blue green deploy
- Deploy other env-app-*
- If anything fails, rolls back to previous version
Docker deploys processes, not applications.
Questions?
Docker & Gazelle
By blatyo
Docker & Gazelle
- 1,045