6. In 2008
4
languages
PHP
SQL
CSS
/
JS
3
services
Apache
MySQL
PHP
with
mod_php
5
Developers
1
Themer
2
System
Administrators
Everyone
in
one
building
Monday, April 14, 14
8. In 2014
15
Developers
5
Interface
Engineers
2
Technical
PM
10
Contractors
2
System
Administrators
Working
across
the
US
and
Europe
7
languages
PHP
SQL
Ruby
Java
SASS
/
CSS
/
JS
7
services
Apache
nginx
MySQL
PostgreSQL
Solr
Varnish
Memcached
Redis
NodeJS
Monday, April 14, 14
9. Develop and Support
Launched
29
sites
in
2013
AcUvely
host
and
support
65+
sites
Drupal
6
and
7,
even
some
Drupal
5
WordPress
Custom
applicaUons
in
Python,
NodeJS,
Zend
Framework,
Code
Igniter
and
others
Hosted
by
Forum
One,
Acquia,
Pantheon
and
others
Monday, April 14, 14
10. Software and Versions Matter
Apache
or
nginx?
FPM
or
mod_php?
PHP
5.2,
5.3
or
5.4?
Ruby
1.8.7,
1.9
or
2.0?
Solr
3.5,
3.6,
4.4
or
4.6?
Redis
or
memcached
Varnish
Monday, April 14, 14
11. Looking to the Future
Web
properUes
ge`ng
more
complex
New
technologies
-‐-‐
not
yet
easily
installed
on
consumer
systems
HHVM
PageSpeed
Mahout
/
Hadoop
Larger
and
more
distributed
teams
Monday, April 14, 14
14. What is it?
“Vagrant
is
a
tool
for
building
complete
development
environments.
With
an
easy-‐
to-‐use
workflow
and
focus
on
automaUon,
Vagrant
lowers
development
environment
setup
Ume,
increases
development/
producUon
parity,
and
makes
the
"works
on
my
machine"
excuse
a
relic
of
the
past.”
Monday, April 14, 14
15. What Does that Mean?
Manages
per-‐project
virtual
machines
Eases
configuraUon
for:
Port
forwarding
Shared
folders
including
NFS
SSH
agent
forwarding
Integrates
with
system
configuraUon
management
Monday, April 14, 14
16. Why Does it Matter?
Easily
create
new
projects
-‐-‐
just
run
“vagrant
up”
Keep
each
project
isolated
Keep
everyone
working
in
the
same
environment
Monday, April 14, 14
17. Vagrant Workflow
Check
out
repository
Run
“vagrant
up”
Log
in
to
VM
by
running
“vagrant
ssh”
Run
git
or
drush
from
the
VM
or
locally
Work
with
files
locally
Monday, April 14, 14
18. Easy First Steps
Create
a
single
virtual
machine
with
sojware
you
need
Generate
template
Share
with
team
Monday, April 14, 14
19. Challenges
More
system
resources
necessary
Requires
use
of
the
command-‐line
Does
not
preserve
idiosyncraUc
preferences
Requires
addiUonal
sojware
-‐-‐
some
changing
frequently
Not
all
drush
commands
work
well
from
outside
the
VM
Monday, April 14, 14
20. Common Issues
On
some
machines
Intel
VirtualizaUon
Technology
for
Directed
I/O
(VT-‐d)
is
not
enabled
SSH
commands
need
the
host
SSH
key
in
the
SSH
agent
-‐-‐
ssh-‐add
NaUve
file
sharing
on
OSX
and
Linux
is
slow
-‐-‐
use
NFS
Monday, April 14, 14
22. What is it?
“Puppet
is
IT
automaUon
sojware
that
helps
system
administrators
manage
infrastructure
throughout
its
lifecycle,
from
provisioning
and
configuraUon
to
orchestraUon
and
reporUng.
Using
Puppet,
you
can
easily
automate
repeUUve
tasks,
quickly
deploy
criUcal
applicaUons,
and
proacUvely
manage
change,
scaling
from
10s
of
servers
to
1000s,
on-‐
premise
or
in
the
cloud.”
Monday, April 14, 14
23. What Does that Mean?
Ensures
current
environment
matches
configuraUon
Domain
specific
language
to
configure:
Services
Files
Permissions
Se`ngs
Monday, April 14, 14
25. Why Does it Matter?
Ability
to
customize
sojware
for
each
project
independently
Ability
to
customize
se`ngs
for
each
project
independently
and
share
those
se`ngs
with
each
team
member
Leverage
experUse
in
certain
technologies
across
the
enUre
team
Monday, April 14, 14
26. Challenges
Centralizes
knowledge
and
experUse
Takes
Ume
to
provision
virtual
machine
Achieving
parity
with
developer
desired
tools
-‐-‐
e.g.
XDebug,
XHProf
Change
can
be
difficult
Monday, April 14, 14
29. Or Roll Your Own
Advantages
Control
over
all
aspects
of
the
provisioning
Easy
to
use
organizaUon
specific
configuraUon
-‐-‐
e.g.
Varnish,
Solr,
nginx
Challenges
Takes
Ume
to
learn
tool
Limits
your
community
Monday, April 14, 14