REXREX
Paulo Graça - Novembro 2015 - Drupal Meetup
X
DevOps...
O que é que isto tem a ver
com Drupal???
O que é que isto tem a ver
com Drupal???
Soluções automação (Opensource)
● Rex (Perl) - em uso desde 2014
● Puppet (Ruby)
● Chef (Ruby)
● Salt (Python)
● Ansible (Python)
REX - nome
Etimologia:
Rei - em latim.
(Tyrannosaurus rex - Rei dos lagartos tiranos)
(R)?ex - Remote Execution
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
Fácil de aprender
Usa SSH + Fácil integrar
Extensível e fácil de usar
CMDB - Yaml
Mysql
Joomla
OTRS
Firewall/Iptables
Jenkins
Cloud + Docker +
VirtualBox
Comandos:
● Grupos + Ambientes
● Templating
● Rsync
● Run
● Cron
● Service
Exemplo - Perl Simplificado (1/6)
Bash Linux
# df -h
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
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;
};
Exemplo - Perl Simplificado (4/6)
# Rexfile example
use Rex -feature => ['1.0'];
task "disk_free", sub {
say run "df -h";
};
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
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
Vi drupal.pt, então isto já
é Drupal???
Vi drupal.pt, então isto já
é Drupal???
● Providenciar recursos de Virtualização
● Deployment + Continuous delivery
● Testing
● Sincronização de configurações
Exemplos de utilização
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...
Exemplos de utilização - Execução de tarefas
● Setup do serviço
● Update settings
● Build e Deploy de software
Ei!!! então e o Drupal???Ei!!! então e o Drupal???
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
“automate everything”
Questões?
Obrigado!
google.com/+PauloGraça

Drupal + Rex

  • 1.
    REXREX Paulo Graça -Novembro 2015 - Drupal Meetup
  • 2.
  • 3.
  • 4.
    O que éque isto tem a ver com Drupal??? O que é que isto tem a ver com Drupal???
  • 5.
    Soluções automação (Opensource) ●Rex (Perl) - em uso desde 2014 ● Puppet (Ruby) ● Chef (Ruby) ● Salt (Python) ● Ansible (Python)
  • 6.
    REX - nome Etimologia: Rei- em latim. (Tyrannosaurus rex - Rei dos lagartos tiranos) (R)?ex - Remote Execution
  • 7.
    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
  • 8.
  • 9.
    Usa SSH +Fácil integrar
  • 10.
    Extensível e fácilde usar CMDB - Yaml Mysql Joomla OTRS Firewall/Iptables Jenkins Cloud + Docker + VirtualBox Comandos: ● Grupos + Ambientes ● Templating ● Rsync ● Run ● Cron ● Service
  • 11.
    Exemplo - PerlSimplificado (1/6) Bash Linux # df -h
  • 12.
    Exemplo - PerlSimplificado (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
  • 13.
    Exemplo - PerlSimplificado (3/6) use Rex -feature => ['1.0']; desc "Get Disk Free"; task "disk_free", sub { my $output = run "df -h"; say $output; };
  • 14.
    Exemplo - PerlSimplificado (4/6) # Rexfile example use Rex -feature => ['1.0']; task "disk_free", sub { say run "df -h"; };
  • 15.
    Exemplo - PerlSimplificado (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
  • 16.
    Exemplo - PerlSimplificado (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
  • 17.
    Vi drupal.pt, entãoisto já é Drupal??? Vi drupal.pt, então isto já é Drupal???
  • 18.
    ● Providenciar recursosde Virtualização ● Deployment + Continuous delivery ● Testing ● Sincronização de configurações Exemplos de utilização
  • 19.
    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...
  • 20.
    Exemplos de utilização- Execução de tarefas ● Setup do serviço ● Update settings ● Build e Deploy de software
  • 21.
    Ei!!! então eo Drupal???Ei!!! então e o Drupal???
  • 22.
    Vantagens para oDrupal ● 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
  • 23.
  • 24.