Lucas Arruda
lucas@ciandt.com
@lunascarruda
Virtualization and
Provisioning with
Vagrant and Puppet
Lucas Arruda
lucas@ciandt.com
Lucas Arruda
DevOps @ CI&T
Open-Source enthusiast
~10 yrs on the road
Based on Campinas-SP
Zend Certified Engineer PHP 5.3...
Common
Scenario
Each developer has its own
favorite/predefined stack of
technologies.
● OSX/Linux/Windows
● Distros/Versions
● Apache/Ngin...
"If you've ever maintained a
large application, one of the
hardest parts is onboarding
new resources."
"Running everything...
BUT IT
WORKS
ON MY
MACHINE...
It's important to build
and maintain a
software using the
same requirements on
all environments it will
be deployed.
Forcing developers to use the
same OS is going to lead to
problems, reduced productivity
and promoting nerd-fighting.
Change
Suggestion
Create and
configure
lightweight,
reproducible
and portable
development
environments.
Vagrant up!
Boxes
Virtualization
Vagrantfile
$ vagrant up
$ vagrant init
$ vagrant suspend
Provisioning
You can easily
automate
repetitive tasks,
quickly deploy
critical
applications, and
proactively
manage changes.
Puppet
Declarative Language
Modular
Reusable
Puppet
package { “ruby”:
ensure => latest
}
Not Puppet
# yum install ruby
# apt-get install ruby
# ports install ruby
# em...
Q&A
ciandt.com
puppetlabs.com
github.com/puppetlabs
forge.puppetlabs.com
docs.puppetlabs.com
vagrantup.com
github.com/mitc...
THANKS
FOR
BEING
HERE!
ciandt.com
lunascar@gmail.com
@lunascarruda
google.com/+LucasArruda
fb.com/lucasnarruda
linkedin.com/in/larruda
github.com...
Upcoming SlideShare
Loading in …5
×

QCon SP - ShortTalk - Virtualização e Provisionamento de Ambientes com Vagrant e Puppet

523 views
422 views

Published on

Você já parou pra pensar que sua stack de desenvolvimento (Apache, PHP, MySQL, etc) consome recursos de sua máquina do trabalho ou pessoal em momentos que você não está desenvolvendo?

E quanto ao setup de ambiente e as muitas configurações que precisamos fazer a cada projeto novo que chega ou quando algum membro novo entra no time?

Logo depois, como garantir que todos do time estão utilizando exatamente as mesmas versões para garantir máxima compatibilidade entre os diversos ambientes (local, staging, produção, etc)?

Venha conhecer como a combinação entre duas tecnologias irá automatizar bastante processo manual economizando tempo e recursos e garantindo maior compatibilidade.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
523
On SlideShare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

QCon SP - ShortTalk - Virtualização e Provisionamento de Ambientes com Vagrant e Puppet

  1. 1. Lucas Arruda lucas@ciandt.com @lunascarruda
  2. 2. Virtualization and Provisioning with Vagrant and Puppet Lucas Arruda lucas@ciandt.com
  3. 3. Lucas Arruda DevOps @ CI&T Open-Source enthusiast ~10 yrs on the road Based on Campinas-SP Zend Certified Engineer PHP 5.3 Drupal architect
  4. 4. Common Scenario
  5. 5. Each developer has its own favorite/predefined stack of technologies. ● OSX/Linux/Windows ● Distros/Versions ● Apache/Nginx ● WAMP/XAMPP/MAMP ● PHP 5.??/Rails/Node.js ● MySQL/MariaDB/SQLite ● Modules/Extensions ● Libraries & Dependencies ● PEAR/PECL/Composer ● Memcache/Varnish
  6. 6. "If you've ever maintained a large application, one of the hardest parts is onboarding new resources." "Running everything on a home machine and remembering to turn it all off in the end of the day is unfeasible." "Develop on OSX and deploy on Ubuntu and you’ll be surprised with ugly encoding issues." ● version differences ● platform-related issues ● config and tweaking ● time consuming op. ● home station messed up
  7. 7. BUT IT WORKS ON MY MACHINE...
  8. 8. It's important to build and maintain a software using the same requirements on all environments it will be deployed.
  9. 9. Forcing developers to use the same OS is going to lead to problems, reduced productivity and promoting nerd-fighting.
  10. 10. Change Suggestion
  11. 11. Create and configure lightweight, reproducible and portable development environments. Vagrant up!
  12. 12. Boxes Virtualization Vagrantfile
  13. 13. $ vagrant up $ vagrant init $ vagrant suspend
  14. 14. Provisioning
  15. 15. You can easily automate repetitive tasks, quickly deploy critical applications, and proactively manage changes. Puppet
  16. 16. Declarative Language Modular Reusable
  17. 17. Puppet package { “ruby”: ensure => latest } Not Puppet # yum install ruby # apt-get install ruby # ports install ruby # emerge ruby # rpm -Uvh ruby-1.x.rpm # gem install ruby # up2date ruby # fink install ruby # pkg_add ruby # pkg-get ruby # rug install ruby # pkgadd ruby service { “apache”: ensure => running }
  18. 18. Q&A ciandt.com puppetlabs.com github.com/puppetlabs forge.puppetlabs.com docs.puppetlabs.com vagrantup.com github.com/mitchellh/vagrant vagrantbox.es docs.vagrantup.com
  19. 19. THANKS FOR BEING HERE!
  20. 20. ciandt.com lunascar@gmail.com @lunascarruda google.com/+LucasArruda fb.com/lucasnarruda linkedin.com/in/larruda github.com/larruda coderbits.com/larruda

×