SlideShare une entreprise Scribd logo
1  sur  39
Télécharger pour lire hors ligne



Vagrant & Packer
RAX Hack Night

So…

I automated *all* the things

RACKSPACE® HOSTING

|

WWW.RACKSPACE.CO.UK
So…
Feel quite smug about it

RACKSPACE® HOSTING

|

WWW.RACKSPACE.CO.UK
So…
Got my environments in order
DEV

QA

PROD

RACKSPACE® HOSTING

|

WWW.RACKSPACE.CO.UK
So…

All is good

RACKSPACE® HOSTING

|

WWW.RACKSPACE.CO.UK
So…

OR IS IT?!?!

RACKSPACE® HOSTING

|

WWW.RACKSPACE.CO.UK
So…

RACKSPACE® HOSTING

|

WWW.RACKSPACE.CO.UK
So…

RACKSPACE® HOSTING

|

WWW.RACKSPACE.CO.UK
So… the problem

How do you get your DEVs
mobile?

RACKSPACE® HOSTING

|

WWW.RACKSPACE.CO.UK
So… the problem

Have a dev portable platform!
that is the *SAME* everywhere

RACKSPACE® HOSTING

|

WWW.RACKSPACE.CO.UK
So… the problem

Why the hell they all work from
Starbucks?!?!?

RACKSPACE® HOSTING

|

WWW.RACKSPACE.CO.UK
Vagrant!

RACKSPACE® HOSTING

|

WWW.RACKSPACE.CO.UK
Vagrant!
You have a base Box VM
Add some script sprinkles
Attach to chef or Puppet!
or something else

RACKSPACE® HOSTING

|

WWW.RACKSPACE.CO.UK
Base Box
You have a base Box

RACKSPACE® HOSTING

|

WWW.RACKSPACE.CO.UK
Base Box
Where can I run this Base Box?
VirtualBox!
VMWare Fusion!
VMWare Workstation

RACKSPACE® HOSTING

|

WWW.RACKSPACE.CO.UK
Base Box
Where can I run this Base Box?
Rackspace Cloud!
Amazon!
OpenStack

RACKSPACE® HOSTING

|

WWW.RACKSPACE.CO.UK
Base Box
As simple as 1…2…3…
vagrant	
  box	
  add	
  $title	
  $BOX_URL	
  
vagrant	
  init	
  $title	
  
vagrant	
  up

RACKSPACE® HOSTING

|

WWW.RACKSPACE.CO.UK
Plugins!
ansible	
  
vagrant-­‐berkshelf	
  
vagrant-­‐librarian-­‐puppet	
  
vagrant-­‐lxc	
  
vagrant-­‐salt
RACKSPACE® HOSTING

|

WWW.RACKSPACE.CO.UK
Vagrantfile

Defines what Vagrant will do

RACKSPACE® HOSTING

|

WWW.RACKSPACE.CO.UK
Vagrantfile
Vagrant.configure("2")	
  do	
  |config|	
  
	
  	
  	
  	
  config.vm.box	
  =	
  "precise64"	
  
	
  	
  	
  	
  config.vm.box_url	
  =	
  "http://files.vagrantup.com/precise64.box"	
  
	
  	
  	
  	
  config.vm.network	
  :private_network,	
  ip:	
  "192.168.33.10"	
  
	
  	
  	
  	
  config.vm.synced_folder	
  "../data",	
  "/vagrant_data"	
  
	
  	
  	
  	
  config.vm.provider	
  :virtualbox	
  do	
  |vb|	
  
	
  	
  	
  	
  	
  	
  	
  	
  vb.customize	
  ["modifyvm",	
  :id,	
  "-­‐-­‐memory",	
  "1024"]	
  
	
  	
  	
  	
  end	
  
end	
  

!
RACKSPACE® HOSTING

|

WWW.RACKSPACE.CO.UK
Vagrantfile
Vagrant.configure("2")	
  do	
  |config|	
  
	
  	
  	
  	
  config.vm.box	
  =	
  "precise64"	
  
	
  	
  	
  	
  config.vm.box_url	
  =	
  "http://files.vagrantup.com/precise64.box"	
  
	
  	
  	
  	
  config.vm.network	
  :private_network,	
  ip:	
  "192.168.33.10"	
  
	
  	
  	
  	
  config.vm.provision	
  :puppet	
  do	
  |puppet|	
  
	
  	
  	
  	
  	
  	
  	
  	
  puppet.manifests_path	
  =	
  "manifests"	
  
	
  	
  	
  	
  	
  	
  	
  	
  puppet.manifest_file	
  	
  =	
  "init.pp"	
  
	
  	
  	
  	
  end	
  	
  
end	
  

!
RACKSPACE® HOSTING

!

|

WWW.RACKSPACE.CO.UK
Taking this to 11!

RACKSPACE® HOSTING

|

WWW.RACKSPACE.CO.UK
Taking this to 11!
Vagrant.configure("2")	
  do	
  |config|	
  
	
  	
  config.vm.provision	
  "shell",	
  inline:	
  "echo	
  Hello"	
  
	
  	
  config.vm.define	
  "web"	
  do	
  |web|	
  
	
  	
  	
  	
  web.vm.box	
  =	
  "apache"	
  
	
  	
  end	
  
	
  	
  config.vm.define	
  "db"	
  do	
  |db|	
  
	
  	
  	
  	
  db.vm.box	
  =	
  "mysql"	
  
	
  	
  end	
  
end	
  

!
RACKSPACE® HOSTING

!

|

WWW.RACKSPACE.CO.UK
Taking this to 11!

RACKSPACE® HOSTING

|

WWW.RACKSPACE.CO.UK
And now…

RACKSPACE® HOSTING

|

WWW.RACKSPACE.CO.UK
And now…

Packer!

RACKSPACE® HOSTING

|

WWW.RACKSPACE.CO.UK
Packer

Do your GMs RIGHT

RACKSPACE® HOSTING

|

WWW.RACKSPACE.CO.UK
Packer
Add that Puppet!
you always!
wanted

RACKSPACE® HOSTING

|

WWW.RACKSPACE.CO.UK
Packer

RACKSPACE® HOSTING

|

WWW.RACKSPACE.CO.UK
Packer

From a single config file

RACKSPACE® HOSTING

|

WWW.RACKSPACE.CO.UK
Packer

Deploy EVERYWHERE

RACKSPACE® HOSTING

|

WWW.RACKSPACE.CO.UK
Packer
Amazon AWS!
Digital Ocean!
OpenStack!
VMWare
RACKSPACE® HOSTING

|

WWW.RACKSPACE.CO.UK
Packer
{	
  
	
  	
  "builders":	
  [{	
  
	
  	
  	
  	
  "type":	
  "amazon-­‐ebs",	
  
	
  	
  	
  	
  "access_key":	
  "YOUR	
  KEY	
  HERE",	
  
	
  	
  	
  	
  "secret_key":	
  "YOUR	
  SECRET	
  KEY	
  HERE",	
  
	
  	
  	
  	
  "region":	
  "us-­‐east-­‐1",	
  
	
  	
  	
  	
  "source_ami":	
  "ami-­‐de0d9eb7",	
  
	
  	
  	
  	
  "instance_type":	
  "t1.micro",	
  
	
  	
  	
  	
  "ssh_username":	
  "ubuntu",	
  
	
  	
  	
  	
  "ami_name":	
  "packer-­‐example	
  {{timestamp}}"	
  
	
  	
  }]	
  
}	
  
RACKSPACE® HOSTING

|

WWW.RACKSPACE.CO.UK
Packer
$	
  packer	
  build	
  example.json	
  
==>	
  amazon-­‐ebs:	
  amazon-­‐ebs	
  output	
  will	
  be	
  in	
  this	
  color.	
  
==>	
  amazon-­‐ebs:	
  Creating	
  temporary	
  keypair	
  for	
  this	
  instance...	
  
==>	
  amazon-­‐ebs:	
  Creating	
  temporary	
  security	
  group	
  for	
  this	
  instance...	
  
==>	
  amazon-­‐ebs:	
  Authorizing	
  SSH	
  access	
  on	
  the	
  temporary	
  security	
  group...	
  
==>	
  amazon-­‐ebs:	
  Launching	
  a	
  source	
  AWS	
  instance...	
  
==>	
  amazon-­‐ebs:	
  Waiting	
  for	
  instance	
  to	
  become	
  ready...	
  
==>	
  amazon-­‐ebs:	
  Connecting	
  to	
  the	
  instance	
  via	
  SSH...	
  
==>	
  amazon-­‐ebs:	
  Stopping	
  the	
  source	
  instance...	
  
==>	
  amazon-­‐ebs:	
  Waiting	
  for	
  the	
  instance	
  to	
  stop...	
  
==>	
  amazon-­‐ebs:	
  Creating	
  the	
  AMI:	
  packer-­‐example	
  1371856345	
  
==>	
  amazon-­‐ebs:	
  AMI:	
  ami-­‐19601070	
  
==>	
  amazon-­‐ebs:	
  Waiting	
  for	
  AMI	
  to	
  become	
  ready...	
  
==>	
  amazon-­‐ebs:	
  Terminating	
  the	
  source	
  AWS	
  instance...	
  
==>	
  amazon-­‐ebs:	
  Deleting	
  temporary	
  security	
  group...	
  
==>	
  amazon-­‐ebs:	
  Deleting	
  temporary	
  keypair...	
  
==>	
  amazon-­‐ebs:	
  Build	
  finished.	
  

!

==>	
  Builds	
  finished.	
  The	
  artifacts	
  of	
  successful	
  builds	
  are:	
  
-­‐-­‐>	
  amazon-­‐ebs:	
  AMIs	
  were	
  created:	
  

!

us-­‐east-­‐1:	
  ami-­‐19601070	
  
RACKSPACE® HOSTING

|

WWW.RACKSPACE.CO.UK
Packer
Deploy to more than one!
provider at the same time!
using the “builders” array

RACKSPACE® HOSTING

|

WWW.RACKSPACE.CO.UK
Packer
$	
  packer	
  build	
  example.json	
  
==>	
  amazon-­‐ebs:	
  amazon-­‐ebs	
  output	
  will	
  be	
  in	
  this	
  color.	
  
==>	
  digitalocean:	
  digitalocean	
  output	
  will	
  be	
  in	
  this	
  color.	
  

!

==>	
  digitalocean:	
  Creating	
  temporary	
  ssh	
  key	
  for	
  droplet...	
  
==>	
  amazon-­‐ebs:	
  Creating	
  temporary	
  keypair	
  for	
  this	
  instance...	
  
==>	
  amazon-­‐ebs:	
  Creating	
  temporary	
  security	
  group	
  for	
  this	
  instance...	
  
==>	
  digitalocean:	
  Creating	
  droplet...	
  
==>	
  amazon-­‐ebs:	
  Authorizing	
  SSH	
  access	
  on	
  the	
  temporary	
  security	
  group...	
  
==>	
  amazon-­‐ebs:	
  Launching	
  a	
  source	
  AWS	
  instance...	
  
==>	
  digitalocean:	
  Waiting	
  for	
  droplet	
  to	
  become	
  active...	
  
==>	
  amazon-­‐ebs:	
  Waiting	
  for	
  instance	
  to	
  become	
  ready...	
  
==>	
  digitalocean:	
  Connecting	
  to	
  the	
  droplet	
  via	
  SSH...	
  
==>	
  amazon-­‐ebs:	
  Connecting	
  to	
  the	
  instance	
  via	
  SSH...	
  
...	
  
==>	
  Builds	
  finished.	
  The	
  artifacts	
  of	
  successful	
  builds	
  are:	
  
-­‐-­‐>	
  amazon-­‐ebs:	
  AMIs	
  were	
  created:	
  

!

us-­‐east-­‐1:	
  ami-­‐376d1d5e	
  
-­‐-­‐>	
  digitalocean:	
  A	
  snapshot	
  was	
  created:	
  packer-­‐1371870364	
  

RACKSPACE® HOSTING

|

WWW.RACKSPACE.CO.UK
Packer
Also deploy to Vagrant!
using the “post-processors”!
array

RACKSPACE® HOSTING

|

WWW.RACKSPACE.CO.UK
Packer
{	
  
	
  	
  "builders":	
  [...],	
  

!
	
  	
  "provisioners":	
  [...],	
  

!
	
  	
  "post-­‐processors":	
  ["vagrant"]	
  
}

RACKSPACE® HOSTING

|

WWW.RACKSPACE.CO.UK
RACKSPACE® HOSTING
|
UK SALES: +44 (0)20 8712 6507

RACKSPACE® HOSTING

|

© RACKSPACE US, INC.

|

5 MILLINGTON ROAD
|
HAYES, UNITED KINGDOM UB3 4AZ
|
UK SUPPORT: 0800 988 0300
|
WWW.RACKSPACE.CO.UK

RACKSPACE® AND FANATICAL SUPPORT® ARE SERVICE MARKS OF RACKSPACE US, INC. REGISTERED IN THE UNITED STATES AND OTHER COUNTRIES.

|

WWW.RACKSPACE.CO.UK

!39

Contenu connexe

Tendances

Building Windows Images with Packer
Building Windows Images with PackerBuilding Windows Images with Packer
Building Windows Images with PackerMatt Wrock
 
Local Dev on Virtual Machines - Vagrant, VirtualBox and Ansible
Local Dev on Virtual Machines - Vagrant, VirtualBox and AnsibleLocal Dev on Virtual Machines - Vagrant, VirtualBox and Ansible
Local Dev on Virtual Machines - Vagrant, VirtualBox and AnsibleJeff Geerling
 
Automation with Packer and TerraForm
Automation with Packer and TerraFormAutomation with Packer and TerraForm
Automation with Packer and TerraFormWesley Charles Blake
 
DevOps in a Regulated World - aka 'Ansible, AWS, and Jenkins'
DevOps in a Regulated World - aka 'Ansible, AWS, and Jenkins'DevOps in a Regulated World - aka 'Ansible, AWS, and Jenkins'
DevOps in a Regulated World - aka 'Ansible, AWS, and Jenkins'rmcleay
 
Chasing AMI - Building Amazon machine images with Puppet, Packer and Jenkins
Chasing AMI - Building Amazon machine images with Puppet, Packer and JenkinsChasing AMI - Building Amazon machine images with Puppet, Packer and Jenkins
Chasing AMI - Building Amazon machine images with Puppet, Packer and JenkinsTomas Doran
 
A quick intro to Ansible
A quick intro to AnsibleA quick intro to Ansible
A quick intro to AnsibleDan Vaida
 
Ansible Intro - June 2015 / Ansible Barcelona User Group
Ansible Intro - June 2015 / Ansible Barcelona User GroupAnsible Intro - June 2015 / Ansible Barcelona User Group
Ansible Intro - June 2015 / Ansible Barcelona User GroupOrestes Carracedo
 
Ansible: How to Get More Sleep and Require Less Coffee
Ansible: How to Get More Sleep and Require Less CoffeeAnsible: How to Get More Sleep and Require Less Coffee
Ansible: How to Get More Sleep and Require Less CoffeeSarah Z
 
Jenkins and ansible reference
Jenkins and ansible referenceJenkins and ansible reference
Jenkins and ansible referencelaonap166
 
Ansible v2 and Beyond (Ansible Hawai'i Meetup)
Ansible v2 and Beyond (Ansible Hawai'i Meetup)Ansible v2 and Beyond (Ansible Hawai'i Meetup)
Ansible v2 and Beyond (Ansible Hawai'i Meetup)Timothy Appnel
 
How Ansible Makes Automation Easy
How Ansible Makes Automation EasyHow Ansible Makes Automation Easy
How Ansible Makes Automation EasyPeter Sankauskas
 
Getting started with Ansible
Getting started with AnsibleGetting started with Ansible
Getting started with AnsibleIvan Serdyuk
 
Ansible presentation
Ansible presentationAnsible presentation
Ansible presentationJohn Lynch
 
Fake IT, until you make IT
Fake IT, until you make ITFake IT, until you make IT
Fake IT, until you make ITBas Meijer
 
Using Ansible for Deploying to Cloud Environments
Using Ansible for Deploying to Cloud EnvironmentsUsing Ansible for Deploying to Cloud Environments
Using Ansible for Deploying to Cloud Environmentsahamilton55
 

Tendances (20)

Packer
PackerPacker
Packer
 
Building Windows Images with Packer
Building Windows Images with PackerBuilding Windows Images with Packer
Building Windows Images with Packer
 
Ansible and AWS
Ansible and AWSAnsible and AWS
Ansible and AWS
 
Local Dev on Virtual Machines - Vagrant, VirtualBox and Ansible
Local Dev on Virtual Machines - Vagrant, VirtualBox and AnsibleLocal Dev on Virtual Machines - Vagrant, VirtualBox and Ansible
Local Dev on Virtual Machines - Vagrant, VirtualBox and Ansible
 
Automation with Packer and TerraForm
Automation with Packer and TerraFormAutomation with Packer and TerraForm
Automation with Packer and TerraForm
 
Packer
Packer Packer
Packer
 
DevOps in a Regulated World - aka 'Ansible, AWS, and Jenkins'
DevOps in a Regulated World - aka 'Ansible, AWS, and Jenkins'DevOps in a Regulated World - aka 'Ansible, AWS, and Jenkins'
DevOps in a Regulated World - aka 'Ansible, AWS, and Jenkins'
 
Chasing AMI - Building Amazon machine images with Puppet, Packer and Jenkins
Chasing AMI - Building Amazon machine images with Puppet, Packer and JenkinsChasing AMI - Building Amazon machine images with Puppet, Packer and Jenkins
Chasing AMI - Building Amazon machine images with Puppet, Packer and Jenkins
 
A quick intro to Ansible
A quick intro to AnsibleA quick intro to Ansible
A quick intro to Ansible
 
Ansible Intro - June 2015 / Ansible Barcelona User Group
Ansible Intro - June 2015 / Ansible Barcelona User GroupAnsible Intro - June 2015 / Ansible Barcelona User Group
Ansible Intro - June 2015 / Ansible Barcelona User Group
 
Ansible: How to Get More Sleep and Require Less Coffee
Ansible: How to Get More Sleep and Require Less CoffeeAnsible: How to Get More Sleep and Require Less Coffee
Ansible: How to Get More Sleep and Require Less Coffee
 
Jenkins and ansible reference
Jenkins and ansible referenceJenkins and ansible reference
Jenkins and ansible reference
 
Ansible v2 and Beyond (Ansible Hawai'i Meetup)
Ansible v2 and Beyond (Ansible Hawai'i Meetup)Ansible v2 and Beyond (Ansible Hawai'i Meetup)
Ansible v2 and Beyond (Ansible Hawai'i Meetup)
 
Ansible - Crash course
Ansible - Crash courseAnsible - Crash course
Ansible - Crash course
 
How Ansible Makes Automation Easy
How Ansible Makes Automation EasyHow Ansible Makes Automation Easy
How Ansible Makes Automation Easy
 
Getting started with Ansible
Getting started with AnsibleGetting started with Ansible
Getting started with Ansible
 
Ansible presentation
Ansible presentationAnsible presentation
Ansible presentation
 
Fake IT, until you make IT
Fake IT, until you make ITFake IT, until you make IT
Fake IT, until you make IT
 
Using Ansible for Deploying to Cloud Environments
Using Ansible for Deploying to Cloud EnvironmentsUsing Ansible for Deploying to Cloud Environments
Using Ansible for Deploying to Cloud Environments
 
Ansible Case Studies
Ansible Case StudiesAnsible Case Studies
Ansible Case Studies
 

Similaire à Rackspace Hack Night - Vagrant & Packer

How we used ruby to build locaweb's cloud (http://presentations.pothix.com/ru...
How we used ruby to build locaweb's cloud (http://presentations.pothix.com/ru...How we used ruby to build locaweb's cloud (http://presentations.pothix.com/ru...
How we used ruby to build locaweb's cloud (http://presentations.pothix.com/ru...Willian Molinari
 
D installation manual
D installation manualD installation manual
D installation manualFaheem Akbar
 
Symfony Live 2018 - Développez votre frontend avec ReactJS et Symfony Webpack...
Symfony Live 2018 - Développez votre frontend avec ReactJS et Symfony Webpack...Symfony Live 2018 - Développez votre frontend avec ReactJS et Symfony Webpack...
Symfony Live 2018 - Développez votre frontend avec ReactJS et Symfony Webpack...Alain Hippolyte
 
Create Development and Production Environments with Vagrant
Create Development and Production Environments with VagrantCreate Development and Production Environments with Vagrant
Create Development and Production Environments with VagrantBrian Hogan
 
Assembling an Open Source Toolchain to Manage Public, Private and Hybrid Clou...
Assembling an Open Source Toolchain to Manage Public, Private and Hybrid Clou...Assembling an Open Source Toolchain to Manage Public, Private and Hybrid Clou...
Assembling an Open Source Toolchain to Manage Public, Private and Hybrid Clou...POSSCON
 
Be a Cloud Native
Be a Cloud NativeBe a Cloud Native
Be a Cloud NativeInnoTech
 
Linecook - A Chef Alternative
Linecook - A Chef AlternativeLinecook - A Chef Alternative
Linecook - A Chef Alternativethinkerbot
 
How we setup Rsync-powered Incremental Backups
How we setup Rsync-powered Incremental BackupsHow we setup Rsync-powered Incremental Backups
How we setup Rsync-powered Incremental Backupsnicholaspaun
 
JavaScript No longer A “toy” Language
JavaScript No longer A “toy” LanguageJavaScript No longer A “toy” Language
JavaScript No longer A “toy” LanguageKMS Technology
 
Finally, Professional Frontend Dev with ReactJS, WebPack & Symfony (Symfony C...
Finally, Professional Frontend Dev with ReactJS, WebPack & Symfony (Symfony C...Finally, Professional Frontend Dev with ReactJS, WebPack & Symfony (Symfony C...
Finally, Professional Frontend Dev with ReactJS, WebPack & Symfony (Symfony C...Ryan Weaver
 
Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry
Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundryCassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry
Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundryDataStax Academy
 
jclouds Support Training
jclouds Support Trainingjclouds Support Training
jclouds Support TrainingEverett Toews
 
Wordpress y Docker, de desarrollo a produccion
Wordpress y Docker, de desarrollo a produccionWordpress y Docker, de desarrollo a produccion
Wordpress y Docker, de desarrollo a produccionSysdig
 
Local development with vvv jon trujillo
Local development with vvv   jon trujilloLocal development with vvv   jon trujillo
Local development with vvv jon trujilloJonathan Trujillo
 
My Opera meets Varnish, Dec 2009
My Opera meets Varnish, Dec 2009My Opera meets Varnish, Dec 2009
My Opera meets Varnish, Dec 2009Cosimo Streppone
 
Minicurso de Vagrant
Minicurso de VagrantMinicurso de Vagrant
Minicurso de VagrantLeandro Nunes
 
(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...
(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...
(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...Amazon Web Services
 

Similaire à Rackspace Hack Night - Vagrant & Packer (20)

WASM! WASI! WAGI! WAT?
WASM! WASI! WAGI! WAT?WASM! WASI! WAGI! WAT?
WASM! WASI! WAGI! WAT?
 
How we used ruby to build locaweb's cloud (http://presentations.pothix.com/ru...
How we used ruby to build locaweb's cloud (http://presentations.pothix.com/ru...How we used ruby to build locaweb's cloud (http://presentations.pothix.com/ru...
How we used ruby to build locaweb's cloud (http://presentations.pothix.com/ru...
 
D installation manual
D installation manualD installation manual
D installation manual
 
Symfony Live 2018 - Développez votre frontend avec ReactJS et Symfony Webpack...
Symfony Live 2018 - Développez votre frontend avec ReactJS et Symfony Webpack...Symfony Live 2018 - Développez votre frontend avec ReactJS et Symfony Webpack...
Symfony Live 2018 - Développez votre frontend avec ReactJS et Symfony Webpack...
 
Automate or Die
Automate or DieAutomate or Die
Automate or Die
 
Create Development and Production Environments with Vagrant
Create Development and Production Environments with VagrantCreate Development and Production Environments with Vagrant
Create Development and Production Environments with Vagrant
 
Assembling an Open Source Toolchain to Manage Public, Private and Hybrid Clou...
Assembling an Open Source Toolchain to Manage Public, Private and Hybrid Clou...Assembling an Open Source Toolchain to Manage Public, Private and Hybrid Clou...
Assembling an Open Source Toolchain to Manage Public, Private and Hybrid Clou...
 
Be a Cloud Native
Be a Cloud NativeBe a Cloud Native
Be a Cloud Native
 
Linecook - A Chef Alternative
Linecook - A Chef AlternativeLinecook - A Chef Alternative
Linecook - A Chef Alternative
 
How we setup Rsync-powered Incremental Backups
How we setup Rsync-powered Incremental BackupsHow we setup Rsync-powered Incremental Backups
How we setup Rsync-powered Incremental Backups
 
JavaScript No longer A “toy” Language
JavaScript No longer A “toy” LanguageJavaScript No longer A “toy” Language
JavaScript No longer A “toy” Language
 
Finally, Professional Frontend Dev with ReactJS, WebPack & Symfony (Symfony C...
Finally, Professional Frontend Dev with ReactJS, WebPack & Symfony (Symfony C...Finally, Professional Frontend Dev with ReactJS, WebPack & Symfony (Symfony C...
Finally, Professional Frontend Dev with ReactJS, WebPack & Symfony (Symfony C...
 
Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry
Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundryCassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry
Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry
 
infra-as-code
infra-as-codeinfra-as-code
infra-as-code
 
jclouds Support Training
jclouds Support Trainingjclouds Support Training
jclouds Support Training
 
Wordpress y Docker, de desarrollo a produccion
Wordpress y Docker, de desarrollo a produccionWordpress y Docker, de desarrollo a produccion
Wordpress y Docker, de desarrollo a produccion
 
Local development with vvv jon trujillo
Local development with vvv   jon trujilloLocal development with vvv   jon trujillo
Local development with vvv jon trujillo
 
My Opera meets Varnish, Dec 2009
My Opera meets Varnish, Dec 2009My Opera meets Varnish, Dec 2009
My Opera meets Varnish, Dec 2009
 
Minicurso de Vagrant
Minicurso de VagrantMinicurso de Vagrant
Minicurso de Vagrant
 
(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...
(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...
(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...
 

Plus de Marc Cluet

Your Kernel and You
Your Kernel and YouYour Kernel and You
Your Kernel and YouMarc Cluet
 
Managing DevOps teams, staying alive
Managing DevOps teams, staying aliveManaging DevOps teams, staying alive
Managing DevOps teams, staying aliveMarc Cluet
 
The DevOps journey - How to get there painlessly
The DevOps journey - How to get there painlesslyThe DevOps journey - How to get there painlessly
The DevOps journey - How to get there painlesslyMarc Cluet
 
Elastic Beanstalk, usos prácticos y conceptos
Elastic Beanstalk, usos prácticos y conceptosElastic Beanstalk, usos prácticos y conceptos
Elastic Beanstalk, usos prácticos y conceptosMarc Cluet
 
Service discovery and puppet
Service discovery and puppetService discovery and puppet
Service discovery and puppetMarc Cluet
 
Puppet Camp London Fall 2015 - Service Discovery and Puppet
Puppet Camp London Fall 2015 - Service Discovery and PuppetPuppet Camp London Fall 2015 - Service Discovery and Puppet
Puppet Camp London Fall 2015 - Service Discovery and PuppetMarc Cluet
 
Puppet and your Metadata - PuppetCamp London 2015
Puppet and your Metadata - PuppetCamp London 2015Puppet and your Metadata - PuppetCamp London 2015
Puppet and your Metadata - PuppetCamp London 2015Marc Cluet
 
Consul First Steps
Consul First StepsConsul First Steps
Consul First StepsMarc Cluet
 
Autoscaling Best Practices - WebPerf Barcelona Oct 2014
Autoscaling Best Practices - WebPerf Barcelona Oct 2014Autoscaling Best Practices - WebPerf Barcelona Oct 2014
Autoscaling Best Practices - WebPerf Barcelona Oct 2014Marc Cluet
 
Microservices and the Cloud - DevOps Cardiff Meetup
Microservices and the Cloud - DevOps Cardiff MeetupMicroservices and the Cloud - DevOps Cardiff Meetup
Microservices and the Cloud - DevOps Cardiff MeetupMarc Cluet
 
Microservices and the Cloud
Microservices and the CloudMicroservices and the Cloud
Microservices and the CloudMarc Cluet
 
How to implement microservices
How to implement microservicesHow to implement microservices
How to implement microservicesMarc Cluet
 
A Metadata Ocean in Chef and Puppet
A Metadata Ocean in Chef and PuppetA Metadata Ocean in Chef and Puppet
A Metadata Ocean in Chef and PuppetMarc Cluet
 
Autoscaling Best Practices
Autoscaling Best PracticesAutoscaling Best Practices
Autoscaling Best PracticesMarc Cluet
 
Innovation in the Cloud - Rackspace Zurich Event
Innovation in the Cloud - Rackspace Zurich EventInnovation in the Cloud - Rackspace Zurich Event
Innovation in the Cloud - Rackspace Zurich EventMarc Cluet
 
Introduction to DevOps - Rackspace tech night
Introduction to DevOps - Rackspace tech nightIntroduction to DevOps - Rackspace tech night
Introduction to DevOps - Rackspace tech nightMarc Cluet
 
Hadoop operations
Hadoop operationsHadoop operations
Hadoop operationsMarc Cluet
 
Introduction to hadoop
Introduction to hadoopIntroduction to hadoop
Introduction to hadoopMarc Cluet
 
Ssh that wonderful thing
Ssh that wonderful thingSsh that wonderful thing
Ssh that wonderful thingMarc Cluet
 
Networking & dns 101
Networking & dns 101Networking & dns 101
Networking & dns 101Marc Cluet
 

Plus de Marc Cluet (20)

Your Kernel and You
Your Kernel and YouYour Kernel and You
Your Kernel and You
 
Managing DevOps teams, staying alive
Managing DevOps teams, staying aliveManaging DevOps teams, staying alive
Managing DevOps teams, staying alive
 
The DevOps journey - How to get there painlessly
The DevOps journey - How to get there painlesslyThe DevOps journey - How to get there painlessly
The DevOps journey - How to get there painlessly
 
Elastic Beanstalk, usos prácticos y conceptos
Elastic Beanstalk, usos prácticos y conceptosElastic Beanstalk, usos prácticos y conceptos
Elastic Beanstalk, usos prácticos y conceptos
 
Service discovery and puppet
Service discovery and puppetService discovery and puppet
Service discovery and puppet
 
Puppet Camp London Fall 2015 - Service Discovery and Puppet
Puppet Camp London Fall 2015 - Service Discovery and PuppetPuppet Camp London Fall 2015 - Service Discovery and Puppet
Puppet Camp London Fall 2015 - Service Discovery and Puppet
 
Puppet and your Metadata - PuppetCamp London 2015
Puppet and your Metadata - PuppetCamp London 2015Puppet and your Metadata - PuppetCamp London 2015
Puppet and your Metadata - PuppetCamp London 2015
 
Consul First Steps
Consul First StepsConsul First Steps
Consul First Steps
 
Autoscaling Best Practices - WebPerf Barcelona Oct 2014
Autoscaling Best Practices - WebPerf Barcelona Oct 2014Autoscaling Best Practices - WebPerf Barcelona Oct 2014
Autoscaling Best Practices - WebPerf Barcelona Oct 2014
 
Microservices and the Cloud - DevOps Cardiff Meetup
Microservices and the Cloud - DevOps Cardiff MeetupMicroservices and the Cloud - DevOps Cardiff Meetup
Microservices and the Cloud - DevOps Cardiff Meetup
 
Microservices and the Cloud
Microservices and the CloudMicroservices and the Cloud
Microservices and the Cloud
 
How to implement microservices
How to implement microservicesHow to implement microservices
How to implement microservices
 
A Metadata Ocean in Chef and Puppet
A Metadata Ocean in Chef and PuppetA Metadata Ocean in Chef and Puppet
A Metadata Ocean in Chef and Puppet
 
Autoscaling Best Practices
Autoscaling Best PracticesAutoscaling Best Practices
Autoscaling Best Practices
 
Innovation in the Cloud - Rackspace Zurich Event
Innovation in the Cloud - Rackspace Zurich EventInnovation in the Cloud - Rackspace Zurich Event
Innovation in the Cloud - Rackspace Zurich Event
 
Introduction to DevOps - Rackspace tech night
Introduction to DevOps - Rackspace tech nightIntroduction to DevOps - Rackspace tech night
Introduction to DevOps - Rackspace tech night
 
Hadoop operations
Hadoop operationsHadoop operations
Hadoop operations
 
Introduction to hadoop
Introduction to hadoopIntroduction to hadoop
Introduction to hadoop
 
Ssh that wonderful thing
Ssh that wonderful thingSsh that wonderful thing
Ssh that wonderful thing
 
Networking & dns 101
Networking & dns 101Networking & dns 101
Networking & dns 101
 

Dernier

QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...Karmanjay Verma
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Jeffrey Haguewood
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfAarwolf Industries LLC
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFMichael Gough
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Karmanjay Verma
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 

Dernier (20)

QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdf
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDF
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 

Rackspace Hack Night - Vagrant & Packer

  • 1. 
 Vagrant & Packer RAX Hack Night

  • 2. So… I automated *all* the things RACKSPACE® HOSTING | WWW.RACKSPACE.CO.UK
  • 3. So… Feel quite smug about it RACKSPACE® HOSTING | WWW.RACKSPACE.CO.UK
  • 4. So… Got my environments in order DEV QA PROD RACKSPACE® HOSTING | WWW.RACKSPACE.CO.UK
  • 5. So… All is good RACKSPACE® HOSTING | WWW.RACKSPACE.CO.UK
  • 6. So… OR IS IT?!?! RACKSPACE® HOSTING | WWW.RACKSPACE.CO.UK
  • 9. So… the problem How do you get your DEVs mobile? RACKSPACE® HOSTING | WWW.RACKSPACE.CO.UK
  • 10. So… the problem Have a dev portable platform! that is the *SAME* everywhere RACKSPACE® HOSTING | WWW.RACKSPACE.CO.UK
  • 11. So… the problem Why the hell they all work from Starbucks?!?!? RACKSPACE® HOSTING | WWW.RACKSPACE.CO.UK
  • 13. Vagrant! You have a base Box VM Add some script sprinkles Attach to chef or Puppet! or something else RACKSPACE® HOSTING | WWW.RACKSPACE.CO.UK
  • 14. Base Box You have a base Box RACKSPACE® HOSTING | WWW.RACKSPACE.CO.UK
  • 15. Base Box Where can I run this Base Box? VirtualBox! VMWare Fusion! VMWare Workstation RACKSPACE® HOSTING | WWW.RACKSPACE.CO.UK
  • 16. Base Box Where can I run this Base Box? Rackspace Cloud! Amazon! OpenStack RACKSPACE® HOSTING | WWW.RACKSPACE.CO.UK
  • 17. Base Box As simple as 1…2…3… vagrant  box  add  $title  $BOX_URL   vagrant  init  $title   vagrant  up RACKSPACE® HOSTING | WWW.RACKSPACE.CO.UK
  • 18. Plugins! ansible   vagrant-­‐berkshelf   vagrant-­‐librarian-­‐puppet   vagrant-­‐lxc   vagrant-­‐salt RACKSPACE® HOSTING | WWW.RACKSPACE.CO.UK
  • 19. Vagrantfile Defines what Vagrant will do RACKSPACE® HOSTING | WWW.RACKSPACE.CO.UK
  • 20. Vagrantfile Vagrant.configure("2")  do  |config|          config.vm.box  =  "precise64"          config.vm.box_url  =  "http://files.vagrantup.com/precise64.box"          config.vm.network  :private_network,  ip:  "192.168.33.10"          config.vm.synced_folder  "../data",  "/vagrant_data"          config.vm.provider  :virtualbox  do  |vb|                  vb.customize  ["modifyvm",  :id,  "-­‐-­‐memory",  "1024"]          end   end   ! RACKSPACE® HOSTING | WWW.RACKSPACE.CO.UK
  • 21. Vagrantfile Vagrant.configure("2")  do  |config|          config.vm.box  =  "precise64"          config.vm.box_url  =  "http://files.vagrantup.com/precise64.box"          config.vm.network  :private_network,  ip:  "192.168.33.10"          config.vm.provision  :puppet  do  |puppet|                  puppet.manifests_path  =  "manifests"                  puppet.manifest_file    =  "init.pp"          end     end   ! RACKSPACE® HOSTING ! | WWW.RACKSPACE.CO.UK
  • 22. Taking this to 11! RACKSPACE® HOSTING | WWW.RACKSPACE.CO.UK
  • 23. Taking this to 11! Vagrant.configure("2")  do  |config|      config.vm.provision  "shell",  inline:  "echo  Hello"      config.vm.define  "web"  do  |web|          web.vm.box  =  "apache"      end      config.vm.define  "db"  do  |db|          db.vm.box  =  "mysql"      end   end   ! RACKSPACE® HOSTING ! | WWW.RACKSPACE.CO.UK
  • 24. Taking this to 11! RACKSPACE® HOSTING | WWW.RACKSPACE.CO.UK
  • 27. Packer Do your GMs RIGHT RACKSPACE® HOSTING | WWW.RACKSPACE.CO.UK
  • 28. Packer Add that Puppet! you always! wanted RACKSPACE® HOSTING | WWW.RACKSPACE.CO.UK
  • 30. Packer From a single config file RACKSPACE® HOSTING | WWW.RACKSPACE.CO.UK
  • 33. Packer {      "builders":  [{          "type":  "amazon-­‐ebs",          "access_key":  "YOUR  KEY  HERE",          "secret_key":  "YOUR  SECRET  KEY  HERE",          "region":  "us-­‐east-­‐1",          "source_ami":  "ami-­‐de0d9eb7",          "instance_type":  "t1.micro",          "ssh_username":  "ubuntu",          "ami_name":  "packer-­‐example  {{timestamp}}"      }]   }   RACKSPACE® HOSTING | WWW.RACKSPACE.CO.UK
  • 34. Packer $  packer  build  example.json   ==>  amazon-­‐ebs:  amazon-­‐ebs  output  will  be  in  this  color.   ==>  amazon-­‐ebs:  Creating  temporary  keypair  for  this  instance...   ==>  amazon-­‐ebs:  Creating  temporary  security  group  for  this  instance...   ==>  amazon-­‐ebs:  Authorizing  SSH  access  on  the  temporary  security  group...   ==>  amazon-­‐ebs:  Launching  a  source  AWS  instance...   ==>  amazon-­‐ebs:  Waiting  for  instance  to  become  ready...   ==>  amazon-­‐ebs:  Connecting  to  the  instance  via  SSH...   ==>  amazon-­‐ebs:  Stopping  the  source  instance...   ==>  amazon-­‐ebs:  Waiting  for  the  instance  to  stop...   ==>  amazon-­‐ebs:  Creating  the  AMI:  packer-­‐example  1371856345   ==>  amazon-­‐ebs:  AMI:  ami-­‐19601070   ==>  amazon-­‐ebs:  Waiting  for  AMI  to  become  ready...   ==>  amazon-­‐ebs:  Terminating  the  source  AWS  instance...   ==>  amazon-­‐ebs:  Deleting  temporary  security  group...   ==>  amazon-­‐ebs:  Deleting  temporary  keypair...   ==>  amazon-­‐ebs:  Build  finished.   ! ==>  Builds  finished.  The  artifacts  of  successful  builds  are:   -­‐-­‐>  amazon-­‐ebs:  AMIs  were  created:   ! us-­‐east-­‐1:  ami-­‐19601070   RACKSPACE® HOSTING | WWW.RACKSPACE.CO.UK
  • 35. Packer Deploy to more than one! provider at the same time! using the “builders” array RACKSPACE® HOSTING | WWW.RACKSPACE.CO.UK
  • 36. Packer $  packer  build  example.json   ==>  amazon-­‐ebs:  amazon-­‐ebs  output  will  be  in  this  color.   ==>  digitalocean:  digitalocean  output  will  be  in  this  color.   ! ==>  digitalocean:  Creating  temporary  ssh  key  for  droplet...   ==>  amazon-­‐ebs:  Creating  temporary  keypair  for  this  instance...   ==>  amazon-­‐ebs:  Creating  temporary  security  group  for  this  instance...   ==>  digitalocean:  Creating  droplet...   ==>  amazon-­‐ebs:  Authorizing  SSH  access  on  the  temporary  security  group...   ==>  amazon-­‐ebs:  Launching  a  source  AWS  instance...   ==>  digitalocean:  Waiting  for  droplet  to  become  active...   ==>  amazon-­‐ebs:  Waiting  for  instance  to  become  ready...   ==>  digitalocean:  Connecting  to  the  droplet  via  SSH...   ==>  amazon-­‐ebs:  Connecting  to  the  instance  via  SSH...   ...   ==>  Builds  finished.  The  artifacts  of  successful  builds  are:   -­‐-­‐>  amazon-­‐ebs:  AMIs  were  created:   ! us-­‐east-­‐1:  ami-­‐376d1d5e   -­‐-­‐>  digitalocean:  A  snapshot  was  created:  packer-­‐1371870364   RACKSPACE® HOSTING | WWW.RACKSPACE.CO.UK
  • 37. Packer Also deploy to Vagrant! using the “post-processors”! array RACKSPACE® HOSTING | WWW.RACKSPACE.CO.UK
  • 38. Packer {      "builders":  [...],   !    "provisioners":  [...],   !    "post-­‐processors":  ["vagrant"]   } RACKSPACE® HOSTING | WWW.RACKSPACE.CO.UK
  • 39. RACKSPACE® HOSTING | UK SALES: +44 (0)20 8712 6507 RACKSPACE® HOSTING | © RACKSPACE US, INC. | 5 MILLINGTON ROAD | HAYES, UNITED KINGDOM UB3 4AZ | UK SUPPORT: 0800 988 0300 | WWW.RACKSPACE.CO.UK RACKSPACE® AND FANATICAL SUPPORT® ARE SERVICE MARKS OF RACKSPACE US, INC. REGISTERED IN THE UNITED STATES AND OTHER COUNTRIES. | WWW.RACKSPACE.CO.UK !39