43
Deployment Lee @codebeaker Hambley Saturday, June 16, 12

Approaching Web Application Deployment in 2012 (Lee Hambley )

  • Upload
    -

  • View
    577

  • Download
    0

Embed Size (px)

DESCRIPTION

Approaching Web Application Deployment in 2012. A short discussion about the future of technologies such as Capistrano, and their place in the technical infrastructure of 2012 and beyond. The presenter has maintained and improved Capistrano over the last 4 years, and is working on new tools to improve the experience of deploying web applications for people of all skill levels.

Citation preview

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