QCon SP - ShortTalk - Virtualização e Provisionamento de Ambientes com Vagrant e Puppet
-
Upload
lucas-arruda -
Category
Technology
-
view
232 -
download
2
description
Transcript of QCon SP - ShortTalk - Virtualização e Provisionamento de Ambientes com Vagrant e Puppet
Lucas [email protected]
@lunascarruda
Virtualization and Provisioning with Vagrant and Puppet
Lucas [email protected]
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
Common Scenario
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
"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
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.
ChangeSuggestion
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
# 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
}
Q&Aciandt.com
puppetlabs.com
github.com/puppetlabs
forge.puppetlabs.com
docs.puppetlabs.com
vagrantup.com
github.com/mitchellh/vagrant
vagrantbox.es
docs.vagrantup.com
THANKS FOR
BEINGHERE!
ciandt.com
@lunascarruda
google.com/+LucasArruda
fb.com/lucasnarruda
linkedin.com/in/larruda
github.com/larruda
coderbits.com/larruda