Transcript
Page 1: Approaching Web Application Deployment in 2012  (Lee Hambley )

Deployment Lee @codebeaker Hambley

Saturday, June 16, 12

Page 2: Approaching Web Application Deployment in 2012  (Lee Hambley )

Nobody cares!

Saturday, June 16, 12

Page 3: Approaching Web Application Deployment in 2012  (Lee Hambley )

What’s involved?

Saturday, June 16, 12

Page 4: Approaching Web Application Deployment in 2012  (Lee Hambley )

Application vs. Infrastructure

Saturday, June 16, 12

Page 5: Approaching Web Application Deployment in 2012  (Lee Hambley )

Infrastructure Application

Saturday, June 16, 12

Page 6: Approaching Web Application Deployment in 2012  (Lee Hambley )

Operating System

Infrastructure Application

Saturday, June 16, 12

Page 7: Approaching Web Application Deployment in 2012  (Lee Hambley )

Operating System

Certificates

Infrastructure Application

Saturday, June 16, 12

Page 8: Approaching Web Application Deployment in 2012  (Lee Hambley )

Operating System

Package Manager(s)

Certificates

Infrastructure Application

Saturday, June 16, 12

Page 9: Approaching Web Application Deployment in 2012  (Lee Hambley )

Operating System

Package Manager(s)

Certificates

Keys

Infrastructure Application

Saturday, June 16, 12

Page 10: Approaching Web Application Deployment in 2012  (Lee Hambley )

Operating System

Package Manager(s)

Certificates

Github

Keys

Infrastructure Application

Saturday, June 16, 12

Page 11: Approaching Web Application Deployment in 2012  (Lee Hambley )

Operating System

Package Manager(s)

Certificates

Github

Keys

Log Configuration

Infrastructure Application

Saturday, June 16, 12

Page 12: Approaching Web Application Deployment in 2012  (Lee Hambley )

Operating System

Package Manager(s)

Certificates

Github

Keys

Log Configuration

Virtual Host Configuration

Infrastructure Application

Saturday, June 16, 12

Page 13: Approaching Web Application Deployment in 2012  (Lee Hambley )

Operating System

Package Manager(s)

Certificates

Github

Keys

Log Configuration

Virtual Host Configuration

Application Code

Infrastructure Application

Saturday, June 16, 12

Page 14: Approaching Web Application Deployment in 2012  (Lee Hambley )

Operating System

Package Manager(s)

Certificates

Github

Keys

Log Configuration

Virtual Host Configuration

Application CodeScheduled Jobs

Infrastructure Application

Saturday, June 16, 12

Page 15: Approaching Web Application Deployment in 2012  (Lee Hambley )

Operating System

Package Manager(s)

Certificates

Github

Keys

Log Configuration

Virtual Host Configuration

Application CodeScheduled Jobs

Database Configuration

Infrastructure Application

Saturday, June 16, 12

Page 16: Approaching Web Application Deployment in 2012  (Lee Hambley )

Operating System

Package Manager(s)

Certificates

Github

Keys

Log Configuration

Virtual Host Configuration

Application CodeScheduled Jobs

Database Configuration

Cache Configuration

Infrastructure Application

Saturday, June 16, 12

Page 17: Approaching Web Application Deployment in 2012  (Lee Hambley )

Operating System

Package Manager(s)

Certificates

Github

Keys

Log Configuration

Virtual Host Configuration

Application CodeScheduled Jobs

Log Data

Database Configuration

Cache Configuration

Infrastructure Application

Saturday, June 16, 12

Page 18: Approaching Web Application Deployment in 2012  (Lee Hambley )

Operating System

Package Manager(s)

Certificates

Github

Keys

Log Configuration

Virtual Host Configuration

Application CodeScheduled Jobs

Log Data

Database Configuration

Cache Configuration

Database

Infrastructure Application

Saturday, June 16, 12

Page 19: Approaching Web Application Deployment in 2012  (Lee Hambley )

Typical stack?

Saturday, June 16, 12

Page 20: Approaching Web Application Deployment in 2012  (Lee Hambley )

Resque

Unicorn / Unicorn /

logrotate

cron

Elastic Search

JVM

Resque

Redis

Memcached

PostgreSQL

Nginx

Rails / Sinatra

Saturday, June 16, 12

Page 21: Approaching Web Application Deployment in 2012  (Lee Hambley )

Tools?

Saturday, June 16, 12

Page 22: Approaching Web Application Deployment in 2012  (Lee Hambley )

Chef

Bosh Puppet

Vlad

Mina

CapistranoScalarium

Heroku

Saturday, June 16, 12

Page 23: Approaching Web Application Deployment in 2012  (Lee Hambley )

Provisioning Configuration Deployment

Puppet

Chef

BOSH

Vlad

Capistrano

Mina

Heroku

Scalarium

Saturday, June 16, 12

Page 24: Approaching Web Application Deployment in 2012  (Lee Hambley )

UNIX™ Philosophy

Saturday, June 16, 12

Page 25: Approaching Web Application Deployment in 2012  (Lee Hambley )

Lots of small tools, each doing one thing.

Saturday, June 16, 12

Page 26: Approaching Web Application Deployment in 2012  (Lee Hambley )

Offenders

Saturday, June 16, 12

Page 27: Approaching Web Application Deployment in 2012  (Lee Hambley )

Apache

Saturday, June 16, 12

Page 28: Approaching Web Application Deployment in 2012  (Lee Hambley )

Passenger mod_rails

Saturday, June 16, 12

Page 29: Approaching Web Application Deployment in 2012  (Lee Hambley )

Monit

Saturday, June 16, 12

Page 30: Approaching Web Application Deployment in 2012  (Lee Hambley )

Because some tools are missing?

Saturday, June 16, 12

Page 31: Approaching Web Application Deployment in 2012  (Lee Hambley )

Graceful Restarts†

Truth Source

Process Signaling

† Through signaling?

Saturday, June 16, 12

Page 32: Approaching Web Application Deployment in 2012  (Lee Hambley )

Graceful Restarts†

Truth Source

Process Signaling

† Through signaling?

JSON/YAML Files?

man (1) kill

sudo kill -USR2 $(cat ./tmp/unicorn.pid)

Saturday, June 16, 12

Page 33: Approaching Web Application Deployment in 2012  (Lee Hambley )

Heroku?

Saturday, June 16, 12

Page 34: Approaching Web Application Deployment in 2012  (Lee Hambley )

http://12factor.net/

Saturday, June 16, 12

Page 35: Approaching Web Application Deployment in 2012  (Lee Hambley )

Lightening Quiz

Saturday, June 16, 12

Page 36: Approaching Web Application Deployment in 2012  (Lee Hambley )

# > touch /tmp/some-file

$ > touch /tmp/some-file

Saturday, June 16, 12

Page 37: Approaching Web Application Deployment in 2012  (Lee Hambley )

$ sudo su someuser

$ sudo su - someuser

Saturday, June 16, 12

Page 38: Approaching Web Application Deployment in 2012  (Lee Hambley )

Somebody wants to start working on open

source?

Saturday, June 16, 12

Page 39: Approaching Web Application Deployment in 2012  (Lee Hambley )

Signal a process when a checksum changes

Saturday, June 16, 12

Page 40: Approaching Web Application Deployment in 2012  (Lee Hambley )

Saturday, June 16, 12

Page 41: Approaching Web Application Deployment in 2012  (Lee Hambley )

I’ll help you.

Saturday, June 16, 12

Page 42: Approaching Web Application Deployment in 2012  (Lee Hambley )

Dankeschön!

Thank You!

дзякуй

спасибо

Saturday, June 16, 12

Page 43: Approaching Web Application Deployment in 2012  (Lee Hambley )

http://lee.hambley.name/

Saturday, June 16, 12