32
Lucas Arruda [email protected] @lunascarruda

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

Embed Size (px)

DESCRIPTION

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!

Citation preview

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

Lucas [email protected]

@lunascarruda

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

Virtualize yourdev. environmentand be productive!

Lucas [email protected]

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

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

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

Common Scenario

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

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

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

"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

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

BUT IT WORKS ON MY

MACHINE...

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

It's important to build and maintain a software using the same requirements on all environments it will be deployed.

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

Forcing developers to use the same OS is going to lead to problems, reduced productivity and promoting nerd-fighting.

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

ChangeProposal

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

Create and configure lightweight, reproducible and portable development environments.

Vagrant up!

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

Boxes

Virtualization

Vagrantfile

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

$ vagrant up

$ vagrant init

$ vagrant suspend

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

LET'S PUTSOME

HANDSON!

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

How Vagrant works

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

Plug-ins

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

Bindler

Cachier

Host Manager

AWS / OpenStack / RackSpace

CopyMyConf

Nugrant

Rsync

Windows

Node / NodeMaster / Shell Commander

VBGuest

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

Provisioning

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

You can easily automate repetitive tasks, quickly deploy critical applications, and proactively manage changes.

Puppet

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

Declarative Language

Modular

Reusable

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

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

}

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

How Puppet works

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

Puppet's Reusable Configuration Model

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

ciandt.com

PuPHPet

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

CAN'T WAITTO PUT

MY HANDSON IT!

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

Alternatives

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

rove.io

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

$ 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:

Page 29: Drupal Day SP 2014 - Virtualize seu Ambiente e Seja Produtivo!
Page 30: Drupal Day SP 2014 - Virtualize seu Ambiente e Seja Produtivo!

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

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

THANKS FOR

BEINGHERE!

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

ciandt.com

[email protected]

@lunascarruda

google.com/+LucasArruda

fb.com/lucasnarruda

linkedin.com/in/larruda

github.com/larruda

coderbits.com/larruda