SlideShare une entreprise Scribd logo
1  sur  24
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

Alta disponibilidade com PostgreSQL
Alta disponibilidade com PostgreSQLAlta disponibilidade com PostgreSQL
Alta disponibilidade com PostgreSQLLeonardo Cezar
 
PostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardoPostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardoFabio Telles Rodriguez
 
Semana Acadêmica ICET - Feevale - 12/04/2014
Semana Acadêmica ICET - Feevale - 12/04/2014Semana Acadêmica ICET - Feevale - 12/04/2014
Semana Acadêmica ICET - Feevale - 12/04/2014Getup Cloud
 
PostgreSQL: Performance Tuning
PostgreSQL: Performance TuningPostgreSQL: Performance Tuning
PostgreSQL: Performance TuningFernando Ike
 
Virtualização usando KVM e LXC
Virtualização usando KVM e LXCVirtualização usando KVM e LXC
Virtualização usando KVM e LXCLuís Eduardo
 
HA em PostgreSQL: O Elefante disponível para além do infinito
HA em PostgreSQL: O Elefante disponível para além do infinitoHA em PostgreSQL: O Elefante disponível para além do infinito
HA em PostgreSQL: O Elefante disponível para além do infinitoelliando dias
 
Sistemas operacionais1
Sistemas operacionais1Sistemas operacionais1
Sistemas operacionais1Nauber Gois
 
Python para programadores Ruby
Python para programadores RubyPython para programadores Ruby
Python para programadores RubyEric Hideki
 

Tendances (18)

Alta disponibilidade com PostgreSQL
Alta disponibilidade com PostgreSQLAlta disponibilidade com PostgreSQL
Alta disponibilidade com PostgreSQL
 
PostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardoPostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardo
 
Alta Concorrência com Postgres
Alta Concorrência com PostgresAlta Concorrência com Postgres
Alta Concorrência com Postgres
 
Zabbix 3 0-cinfotec
Zabbix 3 0-cinfotecZabbix 3 0-cinfotec
Zabbix 3 0-cinfotec
 
Vagrant + Puppet
Vagrant + PuppetVagrant + Puppet
Vagrant + Puppet
 
Consegi 2011: Puppet
Consegi 2011: PuppetConsegi 2011: Puppet
Consegi 2011: Puppet
 
Semana Acadêmica ICET - Feevale - 12/04/2014
Semana Acadêmica ICET - Feevale - 12/04/2014Semana Acadêmica ICET - Feevale - 12/04/2014
Semana Acadêmica ICET - Feevale - 12/04/2014
 
PostgreSQL: Performance Tuning
PostgreSQL: Performance TuningPostgreSQL: Performance Tuning
PostgreSQL: Performance Tuning
 
Gnome no FreeBSD
Gnome no FreeBSDGnome no FreeBSD
Gnome no FreeBSD
 
Puppet 3 em 2017
Puppet 3 em 2017Puppet 3 em 2017
Puppet 3 em 2017
 
Namespace
NamespaceNamespace
Namespace
 
Virtualização usando KVM e LXC
Virtualização usando KVM e LXCVirtualização usando KVM e LXC
Virtualização usando KVM e LXC
 
OpenSolaris a Céu Aberto
OpenSolaris a Céu AbertoOpenSolaris a Céu Aberto
OpenSolaris a Céu Aberto
 
HA em PostgreSQL: O Elefante disponível para além do infinito
HA em PostgreSQL: O Elefante disponível para além do infinitoHA em PostgreSQL: O Elefante disponível para além do infinito
HA em PostgreSQL: O Elefante disponível para além do infinito
 
Trabalhando com Módulos no Puppet
Trabalhando com Módulos no PuppetTrabalhando com Módulos no Puppet
Trabalhando com Módulos no Puppet
 
Sistemas operacionais1
Sistemas operacionais1Sistemas operacionais1
Sistemas operacionais1
 
Python para programadores Ruby
Python para programadores RubyPython para programadores Ruby
Python para programadores Ruby
 
Postgresql +python
Postgresql +pythonPostgresql +python
Postgresql +python
 

Similaire à Drupal + Rex

Seguranca em Servidores Linux
Seguranca em Servidores LinuxSeguranca em Servidores Linux
Seguranca em Servidores LinuxAlessandro Silva
 
Segurança em servidores Linux
Segurança em servidores LinuxSegurança em servidores Linux
Segurança em servidores LinuxSoftD Abreu
 
Apostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em LinuxApostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em Linuxeliezer
 
Apostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em LinuxApostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em Linuxeliezer
 
Apostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em LinuxApostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em Linuxguest7a481e8
 
Google App Engine e PHP
Google App Engine e PHPGoogle App Engine e PHP
Google App Engine e PHPLuiz Messias
 
PHP e a (in)segurança de aplicações
PHP e a (in)segurança de aplicaçõesPHP e a (in)segurança de aplicações
PHP e a (in)segurança de aplicaçõesrjsmelo
 
Minicurso GNU/Linux básico - Aula1 - Semana Sistemas de Informação 2015 - UNI...
Minicurso GNU/Linux básico - Aula1 - Semana Sistemas de Informação 2015 - UNI...Minicurso GNU/Linux básico - Aula1 - Semana Sistemas de Informação 2015 - UNI...
Minicurso GNU/Linux básico - Aula1 - Semana Sistemas de Informação 2015 - UNI...Marlon Willrich
 
Introdução ao Linux - aula 03 e 04
Introdução ao Linux - aula 03 e 04Introdução ao Linux - aula 03 e 04
Introdução ao Linux - aula 03 e 04Renan Aryel
 
Semana da computacao - Linux Day
Semana da computacao - Linux DaySemana da computacao - Linux Day
Semana da computacao - Linux DayFábio Albuquerque
 
Construção e provisionamento de ambientes de desenvolvimento virtualizados
Construção e provisionamento de ambientes  de desenvolvimento virtualizadosConstrução e provisionamento de ambientes  de desenvolvimento virtualizados
Construção e provisionamento de ambientes de desenvolvimento virtualizadosThiago Rodrigues
 
Linux e zephyr conversando no mesmo SoC
Linux e zephyr conversando no mesmo SoCLinux e zephyr conversando no mesmo SoC
Linux e zephyr conversando no mesmo SoCEmbarcados
 

Similaire à Drupal + Rex (20)

Seguranca em Servidores Linux
Seguranca em Servidores LinuxSeguranca em Servidores Linux
Seguranca em Servidores Linux
 
Segurança em servidores Linux
Segurança em servidores LinuxSegurança em servidores Linux
Segurança em servidores Linux
 
Apostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em LinuxApostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em Linux
 
Apostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em LinuxApostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em Linux
 
Apostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em LinuxApostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em Linux
 
Google App Engine e PHP
Google App Engine e PHPGoogle App Engine e PHP
Google App Engine e PHP
 
PHP e a (in)segurança de aplicações
PHP e a (in)segurança de aplicaçõesPHP e a (in)segurança de aplicações
PHP e a (in)segurança de aplicações
 
Aula 10 semana
Aula 10 semanaAula 10 semana
Aula 10 semana
 
Minicurso GNU/Linux básico - Aula1 - Semana Sistemas de Informação 2015 - UNI...
Minicurso GNU/Linux básico - Aula1 - Semana Sistemas de Informação 2015 - UNI...Minicurso GNU/Linux básico - Aula1 - Semana Sistemas de Informação 2015 - UNI...
Minicurso GNU/Linux básico - Aula1 - Semana Sistemas de Informação 2015 - UNI...
 
Aula 10 semana
Aula 10 semanaAula 10 semana
Aula 10 semana
 
Introdução ao Linux - aula 03 e 04
Introdução ao Linux - aula 03 e 04Introdução ao Linux - aula 03 e 04
Introdução ao Linux - aula 03 e 04
 
Semana da computacao - Linux Day
Semana da computacao - Linux DaySemana da computacao - Linux Day
Semana da computacao - Linux Day
 
Construção e provisionamento de ambientes de desenvolvimento virtualizados
Construção e provisionamento de ambientes  de desenvolvimento virtualizadosConstrução e provisionamento de ambientes  de desenvolvimento virtualizados
Construção e provisionamento de ambientes de desenvolvimento virtualizados
 
Spacewalk - Solisc
Spacewalk - Solisc Spacewalk - Solisc
Spacewalk - Solisc
 
Soa#cap4.1 gestor de pacotes
Soa#cap4.1   gestor de pacotesSoa#cap4.1   gestor de pacotes
Soa#cap4.1 gestor de pacotes
 
Soa#cap4.1 gestor de pacotes
Soa#cap4.1   gestor de pacotesSoa#cap4.1   gestor de pacotes
Soa#cap4.1 gestor de pacotes
 
I educar-manual-de-instalaao
I educar-manual-de-instalaaoI educar-manual-de-instalaao
I educar-manual-de-instalaao
 
PHP com Docker
PHP com DockerPHP com Docker
PHP com Docker
 
Iptables layer7
Iptables layer7Iptables layer7
Iptables layer7
 
Linux e zephyr conversando no mesmo SoC
Linux e zephyr conversando no mesmo SoCLinux e zephyr conversando no mesmo SoC
Linux e zephyr conversando no mesmo SoC
 

Plus de paulo_graca

Re-think Epidemic Marketplace
Re-think Epidemic MarketplaceRe-think Epidemic Marketplace
Re-think Epidemic Marketplacepaulo_graca
 
Views exposed filters
Views exposed filtersViews exposed filters
Views exposed filterspaulo_graca
 
Epidemic Marketplace DrupalCamp Porto 2012
Epidemic Marketplace DrupalCamp Porto 2012Epidemic Marketplace DrupalCamp Porto 2012
Epidemic Marketplace DrupalCamp Porto 2012paulo_graca
 
Drupal modulo charts
Drupal modulo chartsDrupal modulo charts
Drupal modulo chartspaulo_graca
 

Plus de paulo_graca (10)

Re-think Epidemic Marketplace
Re-think Epidemic MarketplaceRe-think Epidemic Marketplace
Re-think Epidemic Marketplace
 
Views exposed filters
Views exposed filtersViews exposed filters
Views exposed filters
 
Epidemic Marketplace DrupalCamp Porto 2012
Epidemic Marketplace DrupalCamp Porto 2012Epidemic Marketplace DrupalCamp Porto 2012
Epidemic Marketplace DrupalCamp Porto 2012
 
Drupal and RTP
Drupal and RTPDrupal and RTP
Drupal and RTP
 
Drupal modulo charts
Drupal modulo chartsDrupal modulo charts
Drupal modulo charts
 
3 Web20
3 Web203 Web20
3 Web20
 
5 Direccoes
5 Direccoes5 Direccoes
5 Direccoes
 
4 Apps
4 Apps4 Apps
4 Apps
 
2 Rede social
2 Rede social2 Rede social
2 Rede social
 
1 Historia
1 Historia1 Historia
1 Historia
 

Drupal + Rex

  • 1. REXREX Paulo Graça - Novembro 2015 - Drupal Meetup
  • 2. X
  • 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
  • 9. Usa SSH + Fácil integrar
  • 10. 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
  • 11. Exemplo - Perl Simplificado (1/6) Bash Linux # df -h
  • 12. 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
  • 13. 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; };
  • 14. Exemplo - Perl Simplificado (4/6) # Rexfile example use Rex -feature => ['1.0']; task "disk_free", sub { say run "df -h"; };
  • 15. 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
  • 16. 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
  • 17. Vi drupal.pt, então isto já é Drupal??? Vi drupal.pt, então isto já é Drupal???
  • 18. ● Providenciar recursos de 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 e o Drupal???Ei!!! então e o Drupal???
  • 22. 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