virtualized development - lone star php

50
VIRTUALIZED DEVELOPMENT Juozas Kaziukėnas // juokaz.com // @juokaz

Upload: juozas-kaziukenas

Post on 20-May-2015

554 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Virtualized development - Lone Star PHP

VIRTUALIZEDDEVELOPMENT

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

Page 2: Virtualized development - Lone Star PHP

Juozas Kaziukėnas, Lithuanian

You can call me Joe

More info http://juokaz.com

Page 3: Virtualized development - Lone Star PHP

LOCAL DEV SETUP IS HARD

Page 4: Virtualized development - Lone Star PHP

MIRROR PRODUCTION

Page 5: Virtualized development - Lone Star PHP

IF THINGS WORK LOCALLY, THEY WILL WORK IN

PRODUCTION*

Page 6: Virtualized development - Lone Star PHP

REPLICATING BUGS

Page 7: Virtualized development - Lone Star PHP

DATABASE SLICE

Page 8: Virtualized development - Lone Star PHP

TIME CONSUMING

Page 9: Virtualized development - Lone Star PHP

EVERYTHING STILL BREAKS

Page 10: Virtualized development - Lone Star PHP

NEED TO ISOLATE

Page 11: Virtualized development - Lone Star PHP

NEED TO AUTOMATE

Page 12: Virtualized development - Lone Star PHP

THE COOLEST THING I LEARNED LAST YEAR

Page 13: Virtualized development - Lone Star PHP

BECAUSE I'M LAZY

Page 14: Virtualized development - Lone Star PHP

VAGRANT

Page 15: Virtualized development - Lone Star PHP

VAGRANT

Noun

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

begging.

Page 16: Virtualized development - Lone Star PHP

TOOL TO BUILD A LOCAL CLOUD

Page 17: Virtualized development - Lone Star PHP

  BUILDING VMS

Page 18: Virtualized development - Lone Star PHP

RUBYGEM FOR MANAGING VIRTUAL MACHINES

Page 19: Virtualized development - Lone Star PHP

BASEBOX

Page 20: Virtualized development - Lone Star PHP

PORT FORWARDING

Page 21: Virtualized development - Lone Star PHP

SHARED FOLDERS

Page 22: Virtualized development - Lone Star PHP

NO NEED TO DEPLOY

Page 23: Virtualized development - Lone Star PHP

FEELS LOCAL

Page 24: Virtualized development - Lone Star PHP

SETUP NOW

Page 25: Virtualized development - Lone Star PHP

INSTALL VAGRANT

Page 26: Virtualized development - Lone Star PHP

GIT CLONE REPO

Page 27: Virtualized development - Lone Star PHP

VERSION CONTROL

Page 28: Virtualized development - Lone Star PHP

SHARE VMS

Page 29: Virtualized development - Lone Star PHP

VAGRANT UP

Page 30: Virtualized development - Lone Star PHP

  PREDICTABLE, STABLE AND MANAGEABLE

Page 31: Virtualized development - Lone Star PHP

VAGRANT SSH

Page 32: Virtualized development - Lone Star PHP

LOCAL CLOUD

Page 33: Virtualized development - Lone Star PHP

CONFIGURING THE MACHINE

Page 34: Virtualized development - Lone Star PHP

SHELL SCRIPTS ARE NOT A SOLUTION

Page 35: Virtualized development - Lone Star PHP

BRAINFUCK

Page 36: Virtualized development - Lone Star PHP

CHEF OR PUPPET

Page 37: Virtualized development - Lone Star PHP

PUPPET

Page 38: Virtualized development - Lone Star PHP

RECIPES DESCRIBING A SERVER

Page 39: Virtualized development - Lone Star PHP

PUPPET EXAMPLE

package { "apache2":

ensure => present,

}

Page 40: Virtualized development - Lone Star PHP

PUPPET EXAMPLE

package { "apache2":

ensure => present,

}

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

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

Page 41: Virtualized development - Lone Star PHP

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"]],

}

Page 42: Virtualized development - Lone Star PHP

PUPPET EXAMPLE

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

ensure => present,

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

}

Page 43: Virtualized development - Lone Star PHP

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"

}

Page 44: Virtualized development - Lone Star PHP
Page 45: Virtualized development - Lone Star PHP

IMPROVE DEVELOPMENT

Page 46: Virtualized development - Lone Star PHP

MADE DEVELOPERS VERY HAPPY

Page 47: Virtualized development - Lone Star PHP

MADE HIRING VERY EASY

Page 48: Virtualized development - Lone Star PHP

MADE COMPLICATED DEVELOPMENT EASY

Page 49: Virtualized development - Lone Star PHP

NO LOCAL MACHINE MESSING UP 

Page 50: Virtualized development - Lone Star PHP

THANKS!Juozas Kaziukėnas

@juokaz