Drupal + Rex

24
REX REX Paulo Graça - Novembro 2015 - Drupal Meetup

Transcript of Drupal + Rex

Page 1: Drupal + Rex

REXREX

Paulo Graça - Novembro 2015 - Drupal Meetup

Page 2: Drupal + Rex

X

Page 3: Drupal + Rex

DevOps...

Page 4: Drupal + Rex

O que é que isto tem a ver com Drupal???

O que é que isto tem a ver com Drupal???

Page 5: Drupal + Rex

Soluções automação (Opensource)

● Rex (Perl) - em uso desde 2014

● Puppet (Ruby) ● Chef (Ruby)● Salt (Python)● Ansible (Python)

Page 6: Drupal + Rex

REX - nome

Etimologia:Rei - em latim.(Tyrannosaurus rex - Rei dos lagartos tiranos)

(R)?ex - Remote Execution

Page 7: Drupal + Rex

Vantagens

● usa SSH, não necessita de 1 agente na máquina

● fácil de integrar, sem conflitos● fácil de usar e extensível● fácil de aprender - Perl simplificado

Page 8: Drupal + Rex

Fácil de aprender

Page 9: Drupal + Rex

Usa SSH + Fácil integrar

Page 10: Drupal + Rex

Extensível e fácil de usarCMDB - YamlMysqlJoomlaOTRSFirewall/IptablesJenkinsCloud + Docker + VirtualBox

Comandos:● Grupos + Ambientes● Templating● Rsync● Run● Cron● Service

Page 11: Drupal + Rex

Exemplo - Perl Simplificado (1/6)Bash Linux

# df -h

Page 12: Drupal + Rex

Exemplo - Perl Simplificado (2/6)

Filesystem Size Used Avail Use% Mounted on/dev/mapper/Vol..._root 303G 73G 216G 26% /tmpfs 3,8G 0 3,8G 0% /dev/shm

/dev/xvda1 485M 75M 385M 17% /boot

# Disk Free - Human Readable# df -h

Page 13: Drupal + Rex

Exemplo - Perl Simplificado (3/6)use Rex -feature => ['1.0'];

desc "Get Disk Free";task "disk_free", sub { my $output = run "df -h"; say $output;

};

Page 14: Drupal + Rex

Exemplo - Perl Simplificado (4/6)# Rexfile exampleuse Rex -feature => ['1.0'];

task "disk_free", sub { say run "df -h";

};

Page 15: Drupal + Rex

Exemplo - Perl Simplificado (5/6)

Filesystem Size Used Avail Use% Mounted on/dev/mapper/Vol..._root 303G 73G 216G 26% /tmpfs 3,8G 0 3,8G 0% /dev/shm

/dev/xvda1 485M 75M 385M 17% /boot

Bash Linux# rex disk_free

Page 16: Drupal + Rex

Exemplo - Perl Simplificado (6/6)

Filesystem Size Used Avail Use% Mounted on/dev/mapper/Vol..._root 303G 73G 216G 26% /tmpfs 3,8G 0 3,8G 0% /dev/shm

/dev/xvda1 485M 75M 385M 17% /boot

Bash Linux# rex -H www.drupal.pt disk_free

Page 17: Drupal + Rex

Vi drupal.pt, então isto já é Drupal???

Vi drupal.pt, então isto já é Drupal???

Page 18: Drupal + Rex

● Providenciar recursos de Virtualização

● Deployment + Continuous delivery

● Testing

● Sincronização de configurações

Exemplos de utilização

Page 19: Drupal + Rex

Exemplos de utilização - Sincronização de configurações

● Configurações ambientes (TESTE <> PRODUÇÃO)

● Sistema: Postfix, Crontab, Iptables, Logrotate, SSH, etc…

● Aplicações: Apache (VHosts), PHP, Mysql, etc...

Page 20: Drupal + Rex

Exemplos de utilização - Execução de tarefas

● Setup do serviço

● Update settings

● Build e Deploy de software

Page 21: Drupal + Rex

Ei!!! então e o Drupal???Ei!!! então e o Drupal???

Page 22: Drupal + Rex

Vantagens para o Drupal

● Solução sem dependências/impacto para o sistema, além do agente SSH

● Pode executar instruções Drush remotamente (run “drush cc all”;)

● Facilitar o processo de deployment de alterações (Ex: Features+Drush)

● Reduz-se o risco de ocorrência de falhas por inconsistências entre sistemas

(exemplo: configurações PHP)

● Deployment de distribuições custom

Page 23: Drupal + Rex

“automate everything”

Page 24: Drupal + Rex

Questões?Obrigado!

google.com/+PauloGraça