SlideShare uma empresa Scribd logo
1 de 43
Baixar para ler offline
Chef,
Nginx e
Capistrano
Como usar!
Felipe Augusto Navas
felipen@7prods.com.br
Chef,
Nginx e
Capistrano
Como usar!
Felipe Augusto Navas
felipen@7prods.com.br
Fluxo de uma
requisição ao Servidor
Browser                                    DNS            integration-app
    Quem é o
    http://control.integration.7prods.corp/ ?


              É o 172.16.32.30


     172.16.32.30
     http://control.integration.7prods.corp/

     HTTP/1.1 302 Moved Temporarily
     Server: nginx/1.1.19
     Date: Wed, 08 Aug 2012 21:15:35 GMT
     Content-Type: text/html; charset=utf-8
     Connection: keep-alive
     Location: http://control.integration.7prods.corp/admin/login
     <html><body>You are being <a href="http://control.integration...
Fluxo de uma
requisição ao Servidor
Browser                                    DNS            integration-app
    Quem é o
    http://control.integration.7prods.corp/ ?


              É o 172.16.32.30


     172.16.32.30
     http://control.integration.7prods.corp/

     HTTP/1.1 302 Moved Temporarily
     Server: nginx/1.1.19
     Date: Wed, 08 Aug 2012 21:15:35 GMT
     Content-Type: text/html; charset=utf-8
     Connection: keep-alive
     Location: http://control.integration.7prods.corp/admin/login
     <html><body>You are being <a href="http://control.integration...
Fluxo de uma
requisição ao Servidor
Browser                                    DNS            integration-app
    Quem é o
    http://control.integration.7prods.corp/ ?


              É o 172.16.32.30


     172.16.32.30
     http://control.integration.7prods.corp/




                                                                        }
     HTTP/1.1 302 Moved Temporarily
     Server: nginx/1.1.19
     Date: Wed, 08 Aug 2012 21:15:35 GMT
     Content-Type: text/html; charset=utf-8                                 MÁGICA
     Connection: keep-alive
     Location: http://control.integration.7prods.corp/admin/login
     <html><body>You are being <a href="http://control.integration...
Fluxo de uma
requisição ao Servidor
Browser                                    DNS            integration-app
    Quem é o
    http://control.integration.7prods.corp/ ?


              É o 172.16.32.30


     172.16.32.30  SHOW ME HOW!!!
     http://control.integration.7prods.corp/
                             PLZ!!!

                                                                        }
     HTTP/1.1 302 Moved Temporarily
     Server: nginx/1.1.19
     Date: Wed, 08 Aug 2012 21:15:35 GMT
     Content-Type: text/html; charset=utf-8                                 MÁGICA
     Connection: keep-alive
     Location: http://control.integration.7prods.corp/admin/login
     <html><body>You are being <a href="http://control.integration...
DIG – Consulta ao DNS
●   dig @8.8.8.8 +short homolog.7prods.com.br
●   dig @10.100.20.2 +short homolog.7prods.com.br


CURL – Canivete suiço do HTTP
●   curl control.integration.7prods.corp --head
    --verbose
SERVIDOR DE APLICAÇÃO
:: Estrutura

 172.16.32.30
 http://control.integration.7prods.corp/




                                           integration-app
SERVIDOR DE APLICAÇÃO
:: Estrutura




           integration-app
SERVIDOR DE APLICAÇÃO
:: Estrutura Interna
   UBUNTU LINUX 12.04 LTS


                            RVM

           NGINX              Ruby 1.9.2-p290

                                  THIN     7CONTROL


                              Ruby 1.9.2-p318


                                  THIN     7ACCOUNT
SERVIDOR DE APLICAÇÃO
:: Multi-instância por Aplicação
     UBUNTU LINUX 12.04 LTS


                              RVM

             NGINX              Ruby 1.9.2-p290

                                    THIN


                                    THIN     7CONTROL

                                    THIN
SERVIDOR DE APLICAÇÃO
:: Unix Domain Sockets
    UBUNTU LINUX 12.04 LTS


                             RVM

            NGINX              Ruby 1.9.2-p290

                                   THIN


                                   THIN     7CONTROL
        Unix domain
        Socket ou                  THIN
        Inter-process
        Communication
        Socket
Servidor de Aplicação
UBUNTU LINUX 12.04 LTS


                         RVM

        NGINX              Ruby 1.9.2-p290

                               thin.0.sock

                               thin.1.sock
    Unix domain
    Socket ou
                               thin.2.sock
    Inter-process
    Communication
    Socket
Servidor de Aplicação
UBUNTU LINUX 12.04 LTS


                         RVM

        NGINX              Ruby 1.9.2-p290

                               thin.0.sock
          NÃO TEMOS
         MAIS PORTAS!!!!
                   thin.1.sock
    Unix domain
    Socket ou
                               thin.2.sock
    Inter-process
    Communication
    Socket
SERVIDOR DE APLICAÇÃO
:: Comunicação entre Aplicações
    UBUNTU LINUX 12.04 LTS


                             RVM

            NGINX              Ruby 1.9.2-p290

                                            7CONTROL


                               Ruby 1.9.2-p318


                                            7ACCOUNT
          DNSMASQ
MAS CADÊ
O CHEF E
O CAPISTRANO
????
Primeiro uma história...
Em uma reunião qualquer...


                      Tava na hora da
***Felipe
                       gente adotar
                      Servidores Linux
Em uma reunião qualquer...



                Mas quem vai
               montar o servidor?
Em uma reunião qualquer...



                  Eu monto !
Em uma reunião qualquer...
Em uma reunião qualquer...



               É um servidor
                  só né ?
Em uma reunião qualquer...


                Tem um de
              desenvolvimento
Em uma reunião qualquer...


                Tem um de
              desenvolvimento
                 E um de
               homologação
Em uma reunião qualquer...


                Tem um de
              desenvolvimento
                 E um de
               homologação
                 E um de
                 produção
Em uma reunião qualquer...


             Mas é só fazer uma
              máquina virtual e
                pronto né ?
Em uma reunião qualquer...


              Temos que fazer
                também em
               Máquina Física
Em uma reunião qualquer...


              Temos que fazer
                também em
               Máquina Física
               E na Locaweb
Em uma reunião qualquer...


              Temos que fazer
                também em
               Máquina Física
               E na Locaweb

              Talvez na Amazon
CHEF

●   Diferentes formas de utilizar:




     CHEF               CHEF         CHEF
    SERVER             HOSTED        SOLO
CHEF

●   Diferentes formas de utilizar:




     CHEF               CHEF         CHEF
    SERVER             HOSTED        SOLO
CHEF-SOLO

●   Node → Cliente que será configurado
●   Ohai → Coleta informações do Node
●   Cookbooks → Conjuto de Recipes (Receitas)
●   Recipes = Comandos + Templates
CAPISTRANO

●   Dois papéis principais:

    1. Enviar o código para o(s) servidor(es)

    2. Executar comandos no(s) servidor(es)
SERVIDOR DE APLICAÇÃO
:: O quê Chef e Capistrano fazem afinal ?
     UBUNTU LINUX 12.04 LTS


                              RVM
                              RVM

             NGINX              Ruby 1.9.2-p290
                                Ruby 1.9.2-p290

                                    THIN     7CONTROL


                                Ruby 1.9.2-p318
                                Ruby 1.9.2-p318


                                    THIN     7ACCOUNT
           DNSMASQ
SERVIDOR DE APLICAÇÃO
:: Responsabilidades do Chef
     UBUNTU LINUX 12.04 LTS


                              RVM

             NGINX              Ruby 1.9.2-p290
                                Ruby 1.9.2-p290

                                    THIN     7CONTROL


                                Ruby 1.9.2-p318
                                Ruby 1.9.2-p318


                                    THIN     7ACCOUNT
           DNSMASQ
SERVIDOR DE APLICAÇÃO
:: Responsabilidades do Capistrano
     UBUNTU LINUX 12.04 LTS


                              RVM

             NGINX              Ruby 1.9.2-p290
                                Ruby 1.9.2-p290

                                    THIN     7CONTROL


                                Ruby 1.9.2-p318
                                Ruby 1.9.2-p318


                                    THIN     7ACCOUNT
           DNSMASQ
Perguntas ?

Felipe Augusto Navas
felipen@7prods.com.br
GG

Mais conteúdo relacionado

Mais procurados

Redes prática - Inetd
Redes prática - InetdRedes prática - Inetd
Redes prática - InetdLuiz Arthur
 
Monitoramento de Serviços de Bancos de Dados - Nagios
Monitoramento de Serviços de Bancos de Dados - NagiosMonitoramento de Serviços de Bancos de Dados - Nagios
Monitoramento de Serviços de Bancos de Dados - NagiosEduardo Legatti
 
Como definir a quantidade de workers para sua aplicação
Como definir a quantidade de workers para sua aplicaçãoComo definir a quantidade de workers para sua aplicação
Como definir a quantidade de workers para sua aplicaçãoWeverton Timoteo
 
Ferramentas GPL para a segurança de Redes de Computadores - Vanderlei Pollon
Ferramentas GPL para a segurança de Redes de Computadores - Vanderlei PollonFerramentas GPL para a segurança de Redes de Computadores - Vanderlei Pollon
Ferramentas GPL para a segurança de Redes de Computadores - Vanderlei PollonTchelinux
 
Sistemas operacionais 14
Sistemas operacionais 14Sistemas operacionais 14
Sistemas operacionais 14Nauber Gois
 
Docker: uma visão geral e exemplos de uso
Docker: uma visão geral e exemplos de usoDocker: uma visão geral e exemplos de uso
Docker: uma visão geral e exemplos de usoTobias Sette
 
Zimbra Anahuac2
Zimbra Anahuac2Zimbra Anahuac2
Zimbra Anahuac2anahuac2
 
Integração de Sistemas usando tecnologias open source
Integração de Sistemas usando tecnologias open sourceIntegração de Sistemas usando tecnologias open source
Integração de Sistemas usando tecnologias open sourceTiago Peczenyj
 
DevOps e redes -- SDN NFV e Docker
DevOps e redes -- SDN NFV e DockerDevOps e redes -- SDN NFV e Docker
DevOps e redes -- SDN NFV e DockerLucas Arbiza
 
Seguranca da Informação - Filtros/tcpd
Seguranca da Informação - Filtros/tcpdSeguranca da Informação - Filtros/tcpd
Seguranca da Informação - Filtros/tcpdLuiz Arthur
 
Docker na vida real
Docker na vida realDocker na vida real
Docker na vida realFernando Ike
 
SENAI - Segurança firewall
SENAI - Segurança   firewall SENAI - Segurança   firewall
SENAI - Segurança firewall Carlos Melo
 
Segurança em servidores Linux
Segurança em servidores LinuxSegurança em servidores Linux
Segurança em servidores LinuxImpacta Eventos
 

Mais procurados (20)

MRTG - SNMP na Prática
MRTG - SNMP na PráticaMRTG - SNMP na Prática
MRTG - SNMP na Prática
 
Consegi 2011: Ganeti + Puppet
Consegi 2011: Ganeti + PuppetConsegi 2011: Ganeti + Puppet
Consegi 2011: Ganeti + Puppet
 
Docker para maiores
Docker para maioresDocker para maiores
Docker para maiores
 
Redes prática - Inetd
Redes prática - InetdRedes prática - Inetd
Redes prática - Inetd
 
Monitoramento de Serviços de Bancos de Dados - Nagios
Monitoramento de Serviços de Bancos de Dados - NagiosMonitoramento de Serviços de Bancos de Dados - Nagios
Monitoramento de Serviços de Bancos de Dados - Nagios
 
Como definir a quantidade de workers para sua aplicação
Como definir a quantidade de workers para sua aplicaçãoComo definir a quantidade de workers para sua aplicação
Como definir a quantidade de workers para sua aplicação
 
Ferramentas GPL para a segurança de Redes de Computadores - Vanderlei Pollon
Ferramentas GPL para a segurança de Redes de Computadores - Vanderlei PollonFerramentas GPL para a segurança de Redes de Computadores - Vanderlei Pollon
Ferramentas GPL para a segurança de Redes de Computadores - Vanderlei Pollon
 
Debian squeeze
Debian squeezeDebian squeeze
Debian squeeze
 
Sistemas operacionais 14
Sistemas operacionais 14Sistemas operacionais 14
Sistemas operacionais 14
 
Docker: uma visão geral e exemplos de uso
Docker: uma visão geral e exemplos de usoDocker: uma visão geral e exemplos de uso
Docker: uma visão geral e exemplos de uso
 
Python CGI
Python CGIPython CGI
Python CGI
 
Zimbra Anahuac2
Zimbra Anahuac2Zimbra Anahuac2
Zimbra Anahuac2
 
Integração de Sistemas usando tecnologias open source
Integração de Sistemas usando tecnologias open sourceIntegração de Sistemas usando tecnologias open source
Integração de Sistemas usando tecnologias open source
 
Aula20 open vpn
Aula20 open vpnAula20 open vpn
Aula20 open vpn
 
Nagios+ubuntu16
Nagios+ubuntu16Nagios+ubuntu16
Nagios+ubuntu16
 
DevOps e redes -- SDN NFV e Docker
DevOps e redes -- SDN NFV e DockerDevOps e redes -- SDN NFV e Docker
DevOps e redes -- SDN NFV e Docker
 
Seguranca da Informação - Filtros/tcpd
Seguranca da Informação - Filtros/tcpdSeguranca da Informação - Filtros/tcpd
Seguranca da Informação - Filtros/tcpd
 
Docker na vida real
Docker na vida realDocker na vida real
Docker na vida real
 
SENAI - Segurança firewall
SENAI - Segurança   firewall SENAI - Segurança   firewall
SENAI - Segurança firewall
 
Segurança em servidores Linux
Segurança em servidores LinuxSegurança em servidores Linux
Segurança em servidores Linux
 

Semelhante a Como configurar servidores com Chef e Capistrano

Alta Disponibilidade na Prática utilizando servidores Linux
Alta Disponibilidade na Prática utilizando servidores LinuxAlta Disponibilidade na Prática utilizando servidores Linux
Alta Disponibilidade na Prática utilizando servidores Linuxelliando dias
 
Giovaneli_-_Apresentação_ DNS ANYCAST.pdf
Giovaneli_-_Apresentação_ DNS ANYCAST.pdfGiovaneli_-_Apresentação_ DNS ANYCAST.pdf
Giovaneli_-_Apresentação_ DNS ANYCAST.pdfEwersonLuizOliveira
 
Implementacao de servidores recursivos guia de praticas semcap ceptro br.pdf
Implementacao de servidores recursivos guia de praticas semcap ceptro br.pdfImplementacao de servidores recursivos guia de praticas semcap ceptro br.pdf
Implementacao de servidores recursivos guia de praticas semcap ceptro br.pdfleandrodesousa13
 
Um novo modelo de implantação do SEI no governo
Um novo modelo de implantação do SEI no governoUm novo modelo de implantação do SEI no governo
Um novo modelo de implantação do SEI no governoinstructbr
 
IBM Domino 9 cluster - zero to hero
IBM Domino 9 cluster - zero to heroIBM Domino 9 cluster - zero to hero
IBM Domino 9 cluster - zero to heroAndré Luís Cardoso
 
Alta Disponibilidade utilizando Pacemaker e DRBD
Alta Disponibilidade utilizando Pacemaker e DRBDAlta Disponibilidade utilizando Pacemaker e DRBD
Alta Disponibilidade utilizando Pacemaker e DRBDFrederico Madeira
 
SOFTWARE FREEDOM DAY 2014 - GERÊNCIA DE CONFIGURAÇÃO COM PUPPET
SOFTWARE FREEDOM DAY 2014 - GERÊNCIA DE CONFIGURAÇÃO COM PUPPETSOFTWARE FREEDOM DAY 2014 - GERÊNCIA DE CONFIGURAÇÃO COM PUPPET
SOFTWARE FREEDOM DAY 2014 - GERÊNCIA DE CONFIGURAÇÃO COM PUPPETAdriel Viana
 
Node.js, Uma breve introdução
Node.js, Uma breve introduçãoNode.js, Uma breve introdução
Node.js, Uma breve introduçãoPablo Feijó
 
Cloud Native Microservices - Rumo a uma Arquitetura de Microsserviços Nativos...
Cloud Native Microservices - Rumo a uma Arquitetura de Microsserviços Nativos...Cloud Native Microservices - Rumo a uma Arquitetura de Microsserviços Nativos...
Cloud Native Microservices - Rumo a uma Arquitetura de Microsserviços Nativos...Frederico Garcia Costa
 
12 factor app. Melhor com Docker
12 factor app. Melhor com Docker12 factor app. Melhor com Docker
12 factor app. Melhor com DockerWellington Silva
 
Redes prática - NFS
Redes prática - NFSRedes prática - NFS
Redes prática - NFSLuiz Arthur
 
Instalando um servidor virtual Linux on z (Red hat ou SUSE) no emulador z pdt
Instalando um servidor virtual Linux on z (Red hat ou SUSE) no emulador z pdtInstalando um servidor virtual Linux on z (Red hat ou SUSE) no emulador z pdt
Instalando um servidor virtual Linux on z (Red hat ou SUSE) no emulador z pdtAnderson Bassani
 
NTOP - Monitoramento e Gerenciamento de Redes
NTOP - Monitoramento e Gerenciamento de RedesNTOP - Monitoramento e Gerenciamento de Redes
NTOP - Monitoramento e Gerenciamento de RedesFelipe Coêlho
 
QCon 2019 - Kubernetes Deepdive
QCon 2019 -  Kubernetes DeepdiveQCon 2019 -  Kubernetes Deepdive
QCon 2019 - Kubernetes DeepdiveRicardo Katz
 
PABX IP utilizando Asterisk
PABX IP utilizando AsteriskPABX IP utilizando Asterisk
PABX IP utilizando AsteriskHelio Loureiro
 
Criando microsserviços em PHP
Criando microsserviços em PHPCriando microsserviços em PHP
Criando microsserviços em PHPFlávio Lisboa
 
INT303 - Boot Remoto de Linux no Windows Server 2008 R2
INT303 - Boot Remoto de Linux no Windows Server 2008 R2INT303 - Boot Remoto de Linux no Windows Server 2008 R2
INT303 - Boot Remoto de Linux no Windows Server 2008 R2mestresemhd
 

Semelhante a Como configurar servidores com Chef e Capistrano (20)

Alta Disponibilidade na Prática utilizando servidores Linux
Alta Disponibilidade na Prática utilizando servidores LinuxAlta Disponibilidade na Prática utilizando servidores Linux
Alta Disponibilidade na Prática utilizando servidores Linux
 
Giovaneli_-_Apresentação_ DNS ANYCAST.pdf
Giovaneli_-_Apresentação_ DNS ANYCAST.pdfGiovaneli_-_Apresentação_ DNS ANYCAST.pdf
Giovaneli_-_Apresentação_ DNS ANYCAST.pdf
 
Implementacao de servidores recursivos guia de praticas semcap ceptro br.pdf
Implementacao de servidores recursivos guia de praticas semcap ceptro br.pdfImplementacao de servidores recursivos guia de praticas semcap ceptro br.pdf
Implementacao de servidores recursivos guia de praticas semcap ceptro br.pdf
 
Orquestração com Mcollective
Orquestração com McollectiveOrquestração com Mcollective
Orquestração com Mcollective
 
Um novo modelo de implantação do SEI no governo
Um novo modelo de implantação do SEI no governoUm novo modelo de implantação do SEI no governo
Um novo modelo de implantação do SEI no governo
 
IBM Domino 9 cluster - zero to hero
IBM Domino 9 cluster - zero to heroIBM Domino 9 cluster - zero to hero
IBM Domino 9 cluster - zero to hero
 
Alta Disponibilidade utilizando Pacemaker e DRBD
Alta Disponibilidade utilizando Pacemaker e DRBDAlta Disponibilidade utilizando Pacemaker e DRBD
Alta Disponibilidade utilizando Pacemaker e DRBD
 
Guday netflix oss
Guday netflix ossGuday netflix oss
Guday netflix oss
 
SOFTWARE FREEDOM DAY 2014 - GERÊNCIA DE CONFIGURAÇÃO COM PUPPET
SOFTWARE FREEDOM DAY 2014 - GERÊNCIA DE CONFIGURAÇÃO COM PUPPETSOFTWARE FREEDOM DAY 2014 - GERÊNCIA DE CONFIGURAÇÃO COM PUPPET
SOFTWARE FREEDOM DAY 2014 - GERÊNCIA DE CONFIGURAÇÃO COM PUPPET
 
Node.js, Uma breve introdução
Node.js, Uma breve introduçãoNode.js, Uma breve introdução
Node.js, Uma breve introdução
 
Cloud Native Microservices - Rumo a uma Arquitetura de Microsserviços Nativos...
Cloud Native Microservices - Rumo a uma Arquitetura de Microsserviços Nativos...Cloud Native Microservices - Rumo a uma Arquitetura de Microsserviços Nativos...
Cloud Native Microservices - Rumo a uma Arquitetura de Microsserviços Nativos...
 
12 factor app. Melhor com Docker
12 factor app. Melhor com Docker12 factor app. Melhor com Docker
12 factor app. Melhor com Docker
 
Redes prática - NFS
Redes prática - NFSRedes prática - NFS
Redes prática - NFS
 
Sniffers Parte 2
Sniffers   Parte 2Sniffers   Parte 2
Sniffers Parte 2
 
Instalando um servidor virtual Linux on z (Red hat ou SUSE) no emulador z pdt
Instalando um servidor virtual Linux on z (Red hat ou SUSE) no emulador z pdtInstalando um servidor virtual Linux on z (Red hat ou SUSE) no emulador z pdt
Instalando um servidor virtual Linux on z (Red hat ou SUSE) no emulador z pdt
 
NTOP - Monitoramento e Gerenciamento de Redes
NTOP - Monitoramento e Gerenciamento de RedesNTOP - Monitoramento e Gerenciamento de Redes
NTOP - Monitoramento e Gerenciamento de Redes
 
QCon 2019 - Kubernetes Deepdive
QCon 2019 -  Kubernetes DeepdiveQCon 2019 -  Kubernetes Deepdive
QCon 2019 - Kubernetes Deepdive
 
PABX IP utilizando Asterisk
PABX IP utilizando AsteriskPABX IP utilizando Asterisk
PABX IP utilizando Asterisk
 
Criando microsserviços em PHP
Criando microsserviços em PHPCriando microsserviços em PHP
Criando microsserviços em PHP
 
INT303 - Boot Remoto de Linux no Windows Server 2008 R2
INT303 - Boot Remoto de Linux no Windows Server 2008 R2INT303 - Boot Remoto de Linux no Windows Server 2008 R2
INT303 - Boot Remoto de Linux no Windows Server 2008 R2
 

Como configurar servidores com Chef e Capistrano

  • 1. Chef, Nginx e Capistrano Como usar! Felipe Augusto Navas felipen@7prods.com.br
  • 2. Chef, Nginx e Capistrano Como usar! Felipe Augusto Navas felipen@7prods.com.br
  • 3. Fluxo de uma requisição ao Servidor Browser DNS integration-app Quem é o http://control.integration.7prods.corp/ ? É o 172.16.32.30 172.16.32.30 http://control.integration.7prods.corp/ HTTP/1.1 302 Moved Temporarily Server: nginx/1.1.19 Date: Wed, 08 Aug 2012 21:15:35 GMT Content-Type: text/html; charset=utf-8 Connection: keep-alive Location: http://control.integration.7prods.corp/admin/login <html><body>You are being <a href="http://control.integration...
  • 4. Fluxo de uma requisição ao Servidor Browser DNS integration-app Quem é o http://control.integration.7prods.corp/ ? É o 172.16.32.30 172.16.32.30 http://control.integration.7prods.corp/ HTTP/1.1 302 Moved Temporarily Server: nginx/1.1.19 Date: Wed, 08 Aug 2012 21:15:35 GMT Content-Type: text/html; charset=utf-8 Connection: keep-alive Location: http://control.integration.7prods.corp/admin/login <html><body>You are being <a href="http://control.integration...
  • 5. Fluxo de uma requisição ao Servidor Browser DNS integration-app Quem é o http://control.integration.7prods.corp/ ? É o 172.16.32.30 172.16.32.30 http://control.integration.7prods.corp/ } HTTP/1.1 302 Moved Temporarily Server: nginx/1.1.19 Date: Wed, 08 Aug 2012 21:15:35 GMT Content-Type: text/html; charset=utf-8 MÁGICA Connection: keep-alive Location: http://control.integration.7prods.corp/admin/login <html><body>You are being <a href="http://control.integration...
  • 6. Fluxo de uma requisição ao Servidor Browser DNS integration-app Quem é o http://control.integration.7prods.corp/ ? É o 172.16.32.30 172.16.32.30 SHOW ME HOW!!! http://control.integration.7prods.corp/ PLZ!!! } HTTP/1.1 302 Moved Temporarily Server: nginx/1.1.19 Date: Wed, 08 Aug 2012 21:15:35 GMT Content-Type: text/html; charset=utf-8 MÁGICA Connection: keep-alive Location: http://control.integration.7prods.corp/admin/login <html><body>You are being <a href="http://control.integration...
  • 7. DIG – Consulta ao DNS ● dig @8.8.8.8 +short homolog.7prods.com.br ● dig @10.100.20.2 +short homolog.7prods.com.br CURL – Canivete suiço do HTTP ● curl control.integration.7prods.corp --head --verbose
  • 8. SERVIDOR DE APLICAÇÃO :: Estrutura 172.16.32.30 http://control.integration.7prods.corp/ integration-app
  • 9. SERVIDOR DE APLICAÇÃO :: Estrutura integration-app
  • 10. SERVIDOR DE APLICAÇÃO :: Estrutura Interna UBUNTU LINUX 12.04 LTS RVM NGINX Ruby 1.9.2-p290 THIN 7CONTROL Ruby 1.9.2-p318 THIN 7ACCOUNT
  • 11. SERVIDOR DE APLICAÇÃO :: Multi-instância por Aplicação UBUNTU LINUX 12.04 LTS RVM NGINX Ruby 1.9.2-p290 THIN THIN 7CONTROL THIN
  • 12. SERVIDOR DE APLICAÇÃO :: Unix Domain Sockets UBUNTU LINUX 12.04 LTS RVM NGINX Ruby 1.9.2-p290 THIN THIN 7CONTROL Unix domain Socket ou THIN Inter-process Communication Socket
  • 13. Servidor de Aplicação UBUNTU LINUX 12.04 LTS RVM NGINX Ruby 1.9.2-p290 thin.0.sock thin.1.sock Unix domain Socket ou thin.2.sock Inter-process Communication Socket
  • 14. Servidor de Aplicação UBUNTU LINUX 12.04 LTS RVM NGINX Ruby 1.9.2-p290 thin.0.sock NÃO TEMOS MAIS PORTAS!!!! thin.1.sock Unix domain Socket ou thin.2.sock Inter-process Communication Socket
  • 15. SERVIDOR DE APLICAÇÃO :: Comunicação entre Aplicações UBUNTU LINUX 12.04 LTS RVM NGINX Ruby 1.9.2-p290 7CONTROL Ruby 1.9.2-p318 7ACCOUNT DNSMASQ
  • 16. MAS CADÊ O CHEF E O CAPISTRANO ????
  • 18. Em uma reunião qualquer... Tava na hora da ***Felipe gente adotar Servidores Linux
  • 19. Em uma reunião qualquer... Mas quem vai montar o servidor?
  • 20. Em uma reunião qualquer... Eu monto !
  • 21. Em uma reunião qualquer...
  • 22. Em uma reunião qualquer... É um servidor só né ?
  • 23. Em uma reunião qualquer... Tem um de desenvolvimento
  • 24. Em uma reunião qualquer... Tem um de desenvolvimento E um de homologação
  • 25. Em uma reunião qualquer... Tem um de desenvolvimento E um de homologação E um de produção
  • 26. Em uma reunião qualquer... Mas é só fazer uma máquina virtual e pronto né ?
  • 27. Em uma reunião qualquer... Temos que fazer também em Máquina Física
  • 28. Em uma reunião qualquer... Temos que fazer também em Máquina Física E na Locaweb
  • 29. Em uma reunião qualquer... Temos que fazer também em Máquina Física E na Locaweb Talvez na Amazon
  • 30.
  • 31.
  • 32. CHEF ● Diferentes formas de utilizar: CHEF CHEF CHEF SERVER HOSTED SOLO
  • 33. CHEF ● Diferentes formas de utilizar: CHEF CHEF CHEF SERVER HOSTED SOLO
  • 34. CHEF-SOLO ● Node → Cliente que será configurado ● Ohai → Coleta informações do Node ● Cookbooks → Conjuto de Recipes (Receitas) ● Recipes = Comandos + Templates
  • 35.
  • 36. CAPISTRANO ● Dois papéis principais: 1. Enviar o código para o(s) servidor(es) 2. Executar comandos no(s) servidor(es)
  • 37. SERVIDOR DE APLICAÇÃO :: O quê Chef e Capistrano fazem afinal ? UBUNTU LINUX 12.04 LTS RVM RVM NGINX Ruby 1.9.2-p290 Ruby 1.9.2-p290 THIN 7CONTROL Ruby 1.9.2-p318 Ruby 1.9.2-p318 THIN 7ACCOUNT DNSMASQ
  • 38. SERVIDOR DE APLICAÇÃO :: Responsabilidades do Chef UBUNTU LINUX 12.04 LTS RVM NGINX Ruby 1.9.2-p290 Ruby 1.9.2-p290 THIN 7CONTROL Ruby 1.9.2-p318 Ruby 1.9.2-p318 THIN 7ACCOUNT DNSMASQ
  • 39. SERVIDOR DE APLICAÇÃO :: Responsabilidades do Capistrano UBUNTU LINUX 12.04 LTS RVM NGINX Ruby 1.9.2-p290 Ruby 1.9.2-p290 THIN 7CONTROL Ruby 1.9.2-p318 Ruby 1.9.2-p318 THIN 7ACCOUNT DNSMASQ
  • 40.
  • 41.
  • 42. Perguntas ? Felipe Augusto Navas felipen@7prods.com.br
  • 43. GG