Virtualized development - Lone Star PHP

Post on 20-May-2015

551 views 0 download

Tags:

Transcript of Virtualized development - Lone Star PHP

VIRTUALIZEDDEVELOPMENT

Juozas Kaziukėnas // juokaz.com // @juokaz

Juozas Kaziukėnas, Lithuanian

You can call me Joe

More info http://juokaz.com

LOCAL DEV SETUP IS HARD

MIRROR PRODUCTION

IF THINGS WORK LOCALLY, THEY WILL WORK IN

PRODUCTION*

REPLICATING BUGS

DATABASE SLICE

TIME CONSUMING

EVERYTHING STILL BREAKS

NEED TO ISOLATE

NEED TO AUTOMATE

THE COOLEST THING I LEARNED LAST YEAR

BECAUSE I'M LAZY

VAGRANT

VAGRANT

Noun

A person without a settled home or regular work who wanders from place to place and lives by

begging.

TOOL TO BUILD A LOCAL CLOUD

  BUILDING VMS

RUBYGEM FOR MANAGING VIRTUAL MACHINES

BASEBOX

PORT FORWARDING

SHARED FOLDERS

NO NEED TO DEPLOY

FEELS LOCAL

SETUP NOW

INSTALL VAGRANT

GIT CLONE REPO

VERSION CONTROL

SHARE VMS

VAGRANT UP

  PREDICTABLE, STABLE AND MANAGEABLE

VAGRANT SSH

LOCAL CLOUD

CONFIGURING THE MACHINE

SHELL SCRIPTS ARE NOT A SOLUTION

BRAINFUCK

CHEF OR PUPPET

PUPPET

RECIPES DESCRIBING A SERVER

PUPPET EXAMPLE

package { "apache2":

ensure => present,

}

PUPPET EXAMPLE

package { "apache2":

ensure => present,

}

$php = ["php5","php5-xdebug"]

package { $php: ensure => "installed" }

PUPPET EXAMPLE

package { "apache2":

ensure => present,

}

$php = ["php5","php5-xdebug"]

package { $php: ensure => "installed" }

service { "apache2":

ensure => running,

enable => true,

require => Package['apache2'],

subscribe => [File["/etc/apache2/mods-enabled/rewrite.load"],

File["/etc/apache2/sites-available/default"]],

}

PUPPET EXAMPLE

file { "/etc/apache2/sites-available/default":

ensure => present,

source => "/vagrant/manifests/default",

}

PUPPET EXAMPLE

file { "/etc/apache2/sites-available/default":

ensure => present,

source => "/vagrant/manifests/default",

}

exec { "install_phpunit":

command => "/usr/bin/pear install pear.phpunit.de/PHPUnit",

require => [Package['php-pear'],

Exec['/usr/bin/pear config-set auto_discover 1']],

creates => "/usr/bin/phpunit"

}

IMPROVE DEVELOPMENT

MADE DEVELOPERS VERY HAPPY

MADE HIRING VERY EASY

MADE COMPLICATED DEVELOPMENT EASY

NO LOCAL MACHINE MESSING UP 

THANKS!Juozas Kaziukėnas

@juokaz