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

Virtualized development - Sunshine PHP

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Virtualized development - Sunshine PHP

VIRTUALIZED DEVELOPMENT

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

Page 2: Virtualized development - Sunshine PHP

Juozas Kaziukėnas, Lithuanian

You can call me Joe

More info http://juokaz.com

Page 3: Virtualized development - Sunshine PHP
Page 4: Virtualized development - Sunshine PHP
Page 5: Virtualized development - Sunshine PHP

LOCAL DEV SETUP IS HARD

Page 6: Virtualized development - Sunshine PHP

MIRROR PRODUCTION

Page 7: Virtualized development - Sunshine PHP

IF THINGS WORK LOCALLY, THEY WILL WORK IN

PRODUCTION*

Page 8: Virtualized development - Sunshine PHP

REPLICATING BUGS

Page 9: Virtualized development - Sunshine PHP

DATABASE SLICE

Page 10: Virtualized development - Sunshine PHP

SETTING UP DEV ENVIRONMENTS

Page 11: Virtualized development - Sunshine PHP

TRICKY

Page 12: Virtualized development - Sunshine PHP

TIME CONSUMING

Page 13: Virtualized development - Sunshine PHP

EVERYTHING STILL BREAKS

Page 14: Virtualized development - Sunshine PHP

NEED TO AUTOMATE

Page 15: Virtualized development - Sunshine PHP

SHELL SCRIPTS ARE NOT A SOLUTION

Page 16: Virtualized development - Sunshine PHP

BRAINFUCK

Page 17: Virtualized development - Sunshine PHP

CHEF OR PUPPET

Page 18: Virtualized development - Sunshine PHP

PUPPET

Page 19: Virtualized development - Sunshine PHP

RECIPES DESCRIBING A SERVER

Page 20: Virtualized development - Sunshine PHP

PUPPET EXAMPLE

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

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

Page 21: Virtualized development - Sunshine PHP

PUPPET EXAMPLE

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

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

package { "apache2":

ensure => present,

}

Page 22: Virtualized development - Sunshine PHP

PUPPET EXAMPLE

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

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

package { "apache2":

ensure => present,

}

service { "apache2":

ensure => running,

enable => true,

require => Package['apache2'],

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

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

}

Page 23: Virtualized development - Sunshine PHP

PUPPET EXAMPLE

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

ensure => present,

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

}

Page 24: Virtualized development - Sunshine 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 25: Virtualized development - Sunshine PHP

WHAT TO USE LOCALLY

Page 26: Virtualized development - Sunshine PHP

NEED A VM?

Page 27: Virtualized development - Sunshine PHP

THE COOLEST THING I LEARNED LAST YEAR

Page 28: Virtualized development - Sunshine PHP

BECAUSE I'M LAZY

Page 29: Virtualized development - Sunshine PHP

VAGRANT

Page 30: Virtualized development - Sunshine PHP

VAGRANT

Noun

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

begging.

Page 31: Virtualized development - Sunshine PHP

TOOL TO BUILD A LOCAL CLOUD

Page 32: Virtualized development - Sunshine PHP

  BUILDING VMS

Page 33: Virtualized development - Sunshine PHP

RUBYGEM FOR MANAGING VIRTUAL MACHINES

Page 34: Virtualized development - Sunshine PHP

IMPROVE DEVELOPMENT

Page 35: Virtualized development - Sunshine PHP

MADE DEVELOPERS VERY HAPPY

Page 36: Virtualized development - Sunshine PHP

MADE HIRING VERY EASY

Page 37: Virtualized development - Sunshine PHP

MADE COMPLICATED DEVELOPMENT EASY

Page 38: Virtualized development - Sunshine PHP

NO LOCAL MACHINE MESSING UP 

Page 39: Virtualized development - Sunshine PHP

SETUP NOW

Page 40: Virtualized development - Sunshine PHP

INSTALL VAGRANT

Page 41: Virtualized development - Sunshine PHP

GIT CLONE REPO

Page 42: Virtualized development - Sunshine PHP

VAGRANT UP

Page 43: Virtualized development - Sunshine PHP

  PREDICTABLE, STABLE AND MANAGEABLE

Page 44: Virtualized development - Sunshine PHP

VAGRANT

Page 45: Virtualized development - Sunshine PHP

BASEBOX

Page 46: Virtualized development - Sunshine PHP

PORT FORWARDING

Page 47: Virtualized development - Sunshine PHP

SHARED FOLDERS

Page 48: Virtualized development - Sunshine PHP

NO NEED TO DEPLOY

Page 49: Virtualized development - Sunshine PHP

FEELS LOCAL

Page 50: Virtualized development - Sunshine PHP

VAGRANT SSH

Page 51: Virtualized development - Sunshine PHP

LOCAL CLOUD

Page 52: Virtualized development - Sunshine PHP

VERSION CONTROL

Page 53: Virtualized development - Sunshine PHP

SHARE VMS

Page 54: Virtualized development - Sunshine PHP

DEMO!!!

Page 55: Virtualized development - Sunshine PHP

THANKS