Lucas Arruda
lucas@ciandt.com
@lunascarruda
Virtualize your
dev. environment
and be productive!
Lucas Arruda
lucas@ciandt.com
Lucas Arruda
Software Architect @ CI&T
Open-Source enthusiast
~10 yrs on the road
Based on Campinas-SP
Zend Certified Engi...
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
Proposal
Create and
configure
lightweight,
reproducible
and portable
development
environments.
Vagrant up!
Boxes
Virtualization
Vagrantfile
$ vagrant up
$ vagrant init
$ vagrant suspend
LET'S PUT
SOME
HANDS
ON!
How Vagrant works
Plug-ins
Bindler
Cachier
Host Manager
AWS / OpenStack / RackSpace
CopyMyConf
Nugrant
Rsync
Windows
Node / NodeMaster / Shell Comman...
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...
How Puppet works
Puppet's Reusable Configuration Model
ciandt.com
PuPHPet
CAN'T WAIT
TO PUT
MY HANDS
ON IT!
Alternatives
rove.io
$ dpkg --get-selections > /backup/installed-software.log
# dpkg --set-selections < /backup/installed-software.log && dsele...
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...
Drupal Day SP 2014 - Virtualize seu Ambiente e Seja Produtivo!
Upcoming SlideShare
Loading in …5
×

Drupal Day SP 2014 - Virtualize seu Ambiente e Seja Produtivo!

690 views

Published on

Já pensou que sua stack consome recursos de sua máquina em momentos que você não está desenvolvendo? E o setup de ambiente que precisamos fazer a cada projeto/pessoa nova? Como garantir que todos estão usando as mesmas versões para garantir compatibilidade entre os ambientes? Venha conhecer a combinação entre duas tecnologias que irá automatizar processos manuais tornando-o mais produtivo!

Published in: Software, Technology
  • Be the first to comment

Drupal Day SP 2014 - Virtualize seu Ambiente e Seja Produtivo!

  1. 1. Lucas Arruda lucas@ciandt.com @lunascarruda
  2. 2. Virtualize your dev. environment and be productive! Lucas Arruda lucas@ciandt.com
  3. 3. Lucas Arruda Software Architect @ CI&T Open-Source enthusiast ~10 yrs on the road Based on Campinas-SP Zend Certified Engineer PHP 5.3 Drupaler for 4 yrs
  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 Proposal
  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. LET'S PUT SOME HANDS ON!
  15. 15. How Vagrant works
  16. 16. Plug-ins
  17. 17. Bindler Cachier Host Manager AWS / OpenStack / RackSpace CopyMyConf Nugrant Rsync Windows Node / NodeMaster / Shell Commander VBGuest
  18. 18. Provisioning
  19. 19. You can easily automate repetitive tasks, quickly deploy critical applications, and proactively manage changes. Puppet
  20. 20. Declarative Language Modular Reusable
  21. 21. 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 }
  22. 22. How Puppet works
  23. 23. Puppet's Reusable Configuration Model
  24. 24. ciandt.com PuPHPet
  25. 25. CAN'T WAIT TO PUT MY HANDS ON IT!
  26. 26. Alternatives
  27. 27. rove.io
  28. 28. $ dpkg --get-selections > /backup/installed-software.log # dpkg --set-selections < /backup/installed-software.log && dselect $ rpm -qa > /backup/installed-software.log # yum -y install $(cat /backup/installed-software.log) Debian-based distributions: RPM-based distributions:
  29. 29. 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
  30. 30. THANKS FOR BEING HERE!
  31. 31. ciandt.com lunascar@gmail.com @lunascarruda google.com/+LucasArruda fb.com/lucasnarruda linkedin.com/in/larruda github.com/larruda coderbits.com/larruda

×