Approaching Web Application Deployment in 2012 (Lee Hambley )

Preview:

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

Deployment Lee @codebeaker Hambley

Saturday, June 16, 12

Nobody cares!

Saturday, June 16, 12

What’s involved?

Saturday, June 16, 12

Application vs. Infrastructure

Saturday, June 16, 12

Infrastructure Application

Saturday, June 16, 12

Operating System

Infrastructure Application

Saturday, June 16, 12

Operating System

Certificates

Infrastructure Application

Saturday, June 16, 12

Operating System

Package Manager(s)

Certificates

Infrastructure Application

Saturday, June 16, 12

Operating System

Package Manager(s)

Certificates

Keys

Infrastructure Application

Saturday, June 16, 12

Operating System

Package Manager(s)

Certificates

Github

Keys

Infrastructure Application

Saturday, June 16, 12

Operating System

Package Manager(s)

Certificates

Github

Keys

Log Configuration

Infrastructure Application

Saturday, June 16, 12

Operating System

Package Manager(s)

Certificates

Github

Keys

Log Configuration

Virtual Host Configuration

Infrastructure Application

Saturday, June 16, 12

Operating System

Package Manager(s)

Certificates

Github

Keys

Log Configuration

Virtual Host Configuration

Application Code

Infrastructure Application

Saturday, June 16, 12

Operating System

Package Manager(s)

Certificates

Github

Keys

Log Configuration

Virtual Host Configuration

Application CodeScheduled Jobs

Infrastructure Application

Saturday, June 16, 12

Operating System

Package Manager(s)

Certificates

Github

Keys

Log Configuration

Virtual Host Configuration

Application CodeScheduled Jobs

Database Configuration

Infrastructure Application

Saturday, June 16, 12

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

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

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

Typical stack?

Saturday, June 16, 12

Resque

Unicorn / Unicorn /

logrotate

cron

Elastic Search

JVM

Resque

Redis

Memcached

PostgreSQL

Nginx

Rails / Sinatra

Saturday, June 16, 12

Tools?

Saturday, June 16, 12

Chef

Bosh Puppet

Vlad

Mina

CapistranoScalarium

Heroku

Saturday, June 16, 12

Provisioning Configuration Deployment

Puppet

Chef

BOSH

Vlad

Capistrano

Mina

Heroku

Scalarium

Saturday, June 16, 12

UNIX™ Philosophy

Saturday, June 16, 12

Lots of small tools, each doing one thing.

Saturday, June 16, 12

Offenders

Saturday, June 16, 12

Apache

Saturday, June 16, 12

Passenger mod_rails

Saturday, June 16, 12

Monit

Saturday, June 16, 12

Because some tools are missing?

Saturday, June 16, 12

Graceful Restarts†

Truth Source

Process Signaling

† Through signaling?

Saturday, June 16, 12

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

Heroku?

Saturday, June 16, 12

http://12factor.net/

Saturday, June 16, 12

Lightening Quiz

Saturday, June 16, 12

# > touch /tmp/some-file

$ > touch /tmp/some-file

Saturday, June 16, 12

$ sudo su someuser

$ sudo su - someuser

Saturday, June 16, 12

Somebody wants to start working on open

source?

Saturday, June 16, 12

Signal a process when a checksum changes

Saturday, June 16, 12

Saturday, June 16, 12

I’ll help you.

Saturday, June 16, 12

Dankeschön!

Thank You!

дзякуй

спасибо

Saturday, June 16, 12

http://lee.hambley.name/

Saturday, June 16, 12