Upload
felipe-navas
View
633
Download
3
Embed Size (px)
DESCRIPTION
Apresentação sobre a infraestrutura linux que desenvolvi para aplicações Rails e como o Chef, Nginx e capistrano foram utilizados
Citation preview
Chef, Nginx e Capistrano Como usar!
Felipe Augusto [email protected]
Chef, Nginx e Capistrano Como usar!
Felipe Augusto [email protected]
Browser
Quem é ohttp://control.integration.7prods.corp/ ?
É o 172.16.32.30
DNS
172.16.32.30http://control.integration.7prods.corp/
Fluxo de uma requisição ao Servidor
integration-app
HTTP/1.1 302 Moved TemporarilyServer: nginx/1.1.19Date: Wed, 08 Aug 2012 21:15:35 GMTContent-Type: text/html; charset=utf-8Connection: keep-aliveLocation: http://control.integration.7prods.corp/admin/login<html><body>You are being <a href="http://control.integration...
Browser
Quem é ohttp://control.integration.7prods.corp/ ?
É o 172.16.32.30
DNS
172.16.32.30http://control.integration.7prods.corp/
Fluxo de uma requisição ao Servidor
integration-app
HTTP/1.1 302 Moved TemporarilyServer: nginx/1.1.19Date: Wed, 08 Aug 2012 21:15:35 GMTContent-Type: text/html; charset=utf-8Connection: keep-aliveLocation: http://control.integration.7prods.corp/admin/login<html><body>You are being <a href="http://control.integration...
Browser
Quem é ohttp://control.integration.7prods.corp/ ?
É o 172.16.32.30
DNS
172.16.32.30http://control.integration.7prods.corp/
Fluxo de uma requisição ao Servidor
integration-app
HTTP/1.1 302 Moved TemporarilyServer: nginx/1.1.19Date: Wed, 08 Aug 2012 21:15:35 GMTContent-Type: text/html; charset=utf-8Connection: keep-aliveLocation: http://control.integration.7prods.corp/admin/login<html><body>You are being <a href="http://control.integration...
MÁGICA}
Browser
Quem é ohttp://control.integration.7prods.corp/ ?
É o 172.16.32.30
DNS
172.16.32.30http://control.integration.7prods.corp/
Fluxo de uma requisição ao Servidor
integration-app
HTTP/1.1 302 Moved TemporarilyServer: nginx/1.1.19Date: Wed, 08 Aug 2012 21:15:35 GMTContent-Type: text/html; charset=utf-8Connection: keep-aliveLocation: http://control.integration.7prods.corp/admin/login<html><body>You are being <a href="http://control.integration...
MÁGICA}
SHOW ME HOW!!!PLZ!!!
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 control.integration.7prods.corp --head --verbose
CURL – Canivete suiço do HTTP
SERVIDOR DE APLICAÇÃO:: Estrutura
172.16.32.30http://control.integration.7prods.corp/
integration-app
SERVIDOR DE APLICAÇÃO:: Estrutura
integration-app
SERVIDOR DE APLICAÇÃO:: Estrutura Interna
UBUNTU LINUX 12.04 LTS
NGINX
RVM
THIN 7CONTROL
Ruby 1.9.2-p290
Ruby 1.9.2-p318
THIN 7ACCOUNT
SERVIDOR DE APLICAÇÃO:: Multi-instância por Aplicação
UBUNTU LINUX 12.04 LTS
RVM
THIN
7CONTROL
Ruby 1.9.2-p290NGINX
THIN
THIN
SERVIDOR DE APLICAÇÃO:: Unix Domain Sockets
UBUNTU LINUX 12.04 LTS
RVM
THIN
7CONTROL
Ruby 1.9.2-p290NGINX
THIN
THIN
Unix domainSocket ouInter-process Communication Socket
Servidor de Aplicação
UBUNTU LINUX 12.04 LTS
RVM
Ruby 1.9.2-p290NGINX
Unix domainSocket ouInter-process Communication Socket
thin.0.sock
thin.1.sock
thin.2.sock
Servidor de Aplicação
UBUNTU LINUX 12.04 LTS
RVM
Ruby 1.9.2-p290NGINX
Unix domainSocket ouInter-process Communication Socket
thin.0.sock
thin.1.sock
thin.2.sock
NÃO TEMOS MAIS PORTAS!!!!
SERVIDOR DE APLICAÇÃO:: Comunicação entre Aplicações
UBUNTU LINUX 12.04 LTS
RVM
7CONTROL
Ruby 1.9.2-p290
Ruby 1.9.2-p318
7ACCOUNTDNSMASQ
NGINX
MAS CADÊ O CHEF E O CAPISTRANO ????
Primeiro uma história...
Em uma reunião qualquer...
Tava na hora da gente adotar
Servidores Linux
***Felipe
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 umamá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ísicaE na Locaweb
Em uma reunião qualquer...
Temos que fazer também em
Máquina FísicaE na Locaweb
Talvez na Amazon
CHEF
CHEF SERVER
CHEF HOSTED
CHEF SOLO
● Diferentes formas de utilizar:
CHEF
CHEF SERVER
CHEF HOSTED
CHEF SOLO
● Diferentes formas de utilizar:
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 ?
RVM
7CONTROL
Ruby 1.9.2-p290
Ruby 1.9.2-p318
7ACCOUNTDNSMASQ
NGINXNGINX
RVM
THIN 7CONTROL
Ruby 1.9.2-p290
Ruby 1.9.2-p318
THIN 7ACCOUNT
UBUNTU LINUX 12.04 LTS
SERVIDOR DE APLICAÇÃO:: Responsabilidades do Chef
UBUNTU LINUX 12.04 LTS
7CONTROL
Ruby 1.9.2-p290
Ruby 1.9.2-p318
7ACCOUNTDNSMASQ
NGINX
THIN 7CONTROL
Ruby 1.9.2-p290
Ruby 1.9.2-p318
THIN 7ACCOUNT
RVM
SERVIDOR DE APLICAÇÃO:: Responsabilidades do Capistrano
UBUNTU LINUX 12.04 LTS
RVM
7CONTROL
Ruby 1.9.2-p290
Ruby 1.9.2-p318
7ACCOUNTDNSMASQ
NGINX
THIN 7CONTROL
Ruby 1.9.2-p290
Ruby 1.9.2-p318
THIN 7ACCOUNT
Perguntas ?
Felipe Augusto [email protected]
GG