A busca pelo deploy continuo

A busca pelo Deploy
     Contínuo.




       @lornlab
A busca pelo deploy continuo
Barreiras
Cultura
A busca pelo deploy continuo
Confiança
Software Livre
Startups
Lean
A busca pelo deploy continuo
A busca pelo deploy continuo
A busca pelo deploy continuo
A busca pelo deploy continuo
A busca pelo deploy continuo
A busca pelo deploy continuo
Qual o seu ciclo de
     deploy?
Você fica
assustado em dias
    de deploy?
Bugfix na
noite anterior
ao deploy?
Existe outro
jeito :)
Automatize tudo!
Automatize tudo!
   build
Automatize tudo!
   build
   test
Automatize tudo!
   build
   test
   deploy
Integração
•   SCM

•   Testes

•   CI

•   Deploy/Rollback Script

•   Máquinas automatizadas

    •    puppet/chef

•   Monitoramento
A busca pelo deploy continuo
A busca pelo deploy continuo
Testes
Deploy /
Rollback
 script
Puppet / Chef
A busca pelo deploy continuo
Monitorament
      o
A busca pelo deploy continuo
A busca pelo deploy continuo
DEVOPS
DEVOPS
•   logs

•   debug

•   erro conhecido é erro
    tratado

•   menos trabalho pra você,
    mais trabalho pra ops
A busca pelo deploy continuo
Arquitetura
Load balance
if ( $user->cfg =~ /funcionalidade42/ ){
         // nova funcionalidade do site
 }
else {
      // modo antigo
}
nginx +
starman
A busca pelo deploy continuo
upstream myapp_starman {
                             server unix:/tmp/starman.sock fail_timeout=0;
                           }

                           server {
                             listen 80;

                             client_max_body_size 1024m;
                             client_body_buffer_size 8k;
                             proxy_read_timeout 300;

                             server_name www.localhost.com;

https://gist.github.com/     root /var/www/myapp.current;
                             keepalive_timeout 0;



        1126172              access_log /var/log/nginx/myapp.access combined;
                             error_log /var/log/nginx/myapp.error;
                             
                             location /static {
                                   root /var/www/myapp.current/root/;
                                   autoindex on;
                             }

                             location / {
                               proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                               proxy_set_header Host $http_host;
                               proxy_redirect off;
                               proxy_buffering off;
                               if (!-f $request_filename) {
                                 proxy_pass http://myapp_starman;
                               }
                             }
                           }
“It’s a unix system”
kill -s USR2
    1337
/var/www/
myapp.current
 /var/www/
 myapp-0.1
 /var/www/
 myapp-0.2
A busca pelo deploy continuo
Conclusão

• A busca pelo deploy continuo é ... continua
• O hype está ajudando a melhorar a
  qualidade, ou pelo menos se preocupando
  mais com com a qualidade, do que é
  entregue
A busca pelo deploy continuo
Obrigado!


• lorn @ cpan dot org
• http://twitter.com/lornlab
1 of 50

Recommended

Alta perfomance de aplicações PHP com Nginx by
Alta perfomance de aplicações PHP com NginxAlta perfomance de aplicações PHP com Nginx
Alta perfomance de aplicações PHP com NginxThiago Paes
4.2K views12 slides
Yaf - Um framework que roda sob uma extensão by
Yaf - Um framework que roda sob uma extensãoYaf - Um framework que roda sob uma extensão
Yaf - Um framework que roda sob uma extensãoThiago Paes
1.7K views29 slides
FISL11 2010 - Automação de Datacenters by
FISL11 2010 - Automação de DatacentersFISL11 2010 - Automação de Datacenters
FISL11 2010 - Automação de Datacenters iG - Internet Group do Brasil S/A
422 views40 slides
Vagrant + Puppet by
Vagrant + PuppetVagrant + Puppet
Vagrant + PuppetGustavo Chaves
9.9K views47 slides
Unix te da asas by
Unix te da asasUnix te da asas
Unix te da asasGilmar Pupo
571 views28 slides
Performance em Java by
Performance em JavaPerformance em Java
Performance em JavaClaudio Miranda
3.9K views83 slides

More Related Content

What's hot

Monitoramento de serviços com Zabbix + Grafana + Python - Marcelo Santoto - D... by
Monitoramento de serviços com Zabbix + Grafana + Python - Marcelo Santoto - D...Monitoramento de serviços com Zabbix + Grafana + Python - Marcelo Santoto - D...
Monitoramento de serviços com Zabbix + Grafana + Python - Marcelo Santoto - D...Felipe Blini
784 views21 slides
Dicas para Turbinar o servidor de Aplicações JBoss 7 by
Dicas para Turbinar o servidor de Aplicações JBoss 7Dicas para Turbinar o servidor de Aplicações JBoss 7
Dicas para Turbinar o servidor de Aplicações JBoss 7Claudio Miranda
10.1K views27 slides
Yet Another Ruby Framework - Como o Rails funciona por dentro by
Yet Another Ruby Framework - Como o Rails funciona por dentroYet Another Ruby Framework - Como o Rails funciona por dentro
Yet Another Ruby Framework - Como o Rails funciona por dentroCarlos Brando
1.5K views40 slides
Samba4+debian8 by
Samba4+debian8Samba4+debian8
Samba4+debian8Eduardo Charquero
93 views7 slides
05 servidor dhcp by
05   servidor dhcp05   servidor dhcp
05 servidor dhcpMarlon Vinicius da Silva
486 views14 slides
07 - Atividade III by
07 - Atividade III07 - Atividade III
07 - Atividade IIIMarlon Vinicius da Silva
651 views3 slides

What's hot(20)

Monitoramento de serviços com Zabbix + Grafana + Python - Marcelo Santoto - D... by Felipe Blini
Monitoramento de serviços com Zabbix + Grafana + Python - Marcelo Santoto - D...Monitoramento de serviços com Zabbix + Grafana + Python - Marcelo Santoto - D...
Monitoramento de serviços com Zabbix + Grafana + Python - Marcelo Santoto - D...
Felipe Blini784 views
Dicas para Turbinar o servidor de Aplicações JBoss 7 by Claudio Miranda
Dicas para Turbinar o servidor de Aplicações JBoss 7Dicas para Turbinar o servidor de Aplicações JBoss 7
Dicas para Turbinar o servidor de Aplicações JBoss 7
Claudio Miranda10.1K views
Yet Another Ruby Framework - Como o Rails funciona por dentro by Carlos Brando
Yet Another Ruby Framework - Como o Rails funciona por dentroYet Another Ruby Framework - Como o Rails funciona por dentro
Yet Another Ruby Framework - Como o Rails funciona por dentro
Carlos Brando1.5K views
Ferramentas para Automação de Datacenter - GTER 37 by Wilson Lopes
Ferramentas para Automação de Datacenter - GTER 37Ferramentas para Automação de Datacenter - GTER 37
Ferramentas para Automação de Datacenter - GTER 37
Wilson Lopes368 views
Redis um banco chave valor by Kinn Julião
Redis um banco chave valorRedis um banco chave valor
Redis um banco chave valor
Kinn Julião3.3K views
A Biblioteca cURL by ricardophp
A Biblioteca cURLA Biblioteca cURL
A Biblioteca cURL
ricardophp1.7K views
Alta Performance de Aplicações PHP com Nginx by Thiago Paes
Alta Performance de Aplicações PHP com NginxAlta Performance de Aplicações PHP com Nginx
Alta Performance de Aplicações PHP com Nginx
Thiago Paes3.5K views
O que mudou no Ruby 1.9 by Nando Vieira
O que mudou no Ruby 1.9O que mudou no Ruby 1.9
O que mudou no Ruby 1.9
Nando Vieira1.1K views
Alta Performance de Aplicações Web em PHP - Nginx by Thiago Paes
Alta Performance de Aplicações Web em PHP - NginxAlta Performance de Aplicações Web em PHP - Nginx
Alta Performance de Aplicações Web em PHP - Nginx
Thiago Paes1.3K views
Quando o planejamento da infraestrutura leva ao sucesso by Ivan Rosolen
Quando o planejamento da infraestrutura leva ao sucessoQuando o planejamento da infraestrutura leva ao sucesso
Quando o planejamento da infraestrutura leva ao sucesso
Ivan Rosolen809 views

Similar to A busca pelo deploy continuo

Proxy, Man-In-The-Middle e testes by
Proxy, Man-In-The-Middle e testesProxy, Man-In-The-Middle e testes
Proxy, Man-In-The-Middle e testesStanislaw Pusep
898 views20 slides
Memcached, Gearman e Sphinx by
Memcached, Gearman e SphinxMemcached, Gearman e Sphinx
Memcached, Gearman e SphinxElton Minetto
1.4K views47 slides
Entre na fila. Processamento distribuído usando Gearman by
Entre na fila. Processamento distribuído usando GearmanEntre na fila. Processamento distribuído usando Gearman
Entre na fila. Processamento distribuído usando GearmanElton Minetto
1K views34 slides
Phpjedi 090307090434-phpapp01 2 by
Phpjedi 090307090434-phpapp01 2Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2PrinceGuru MS
490 views96 slides
Modern PHP by
Modern PHPModern PHP
Modern PHPAri Stopassola Junior
1.4K views100 slides
Escalando Sites com Nginx by
Escalando Sites com NginxEscalando Sites com Nginx
Escalando Sites com NginxTiago Albineli Motta
1.3K views27 slides

Similar to A busca pelo deploy continuo(20)

Proxy, Man-In-The-Middle e testes by Stanislaw Pusep
Proxy, Man-In-The-Middle e testesProxy, Man-In-The-Middle e testes
Proxy, Man-In-The-Middle e testes
Stanislaw Pusep898 views
Memcached, Gearman e Sphinx by Elton Minetto
Memcached, Gearman e SphinxMemcached, Gearman e Sphinx
Memcached, Gearman e Sphinx
Elton Minetto1.4K views
Entre na fila. Processamento distribuído usando Gearman by Elton Minetto
Entre na fila. Processamento distribuído usando GearmanEntre na fila. Processamento distribuído usando Gearman
Entre na fila. Processamento distribuído usando Gearman
Elton Minetto1K views
Phpjedi 090307090434-phpapp01 2 by PrinceGuru MS
Phpjedi 090307090434-phpapp01 2Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2
PrinceGuru MS490 views
Project HA by Karpv
Project HAProject HA
Project HA
Karpv606 views
PHP Jedi - Boas Práticas e Alta Performance by Felipe Ribeiro
PHP Jedi - Boas Práticas e Alta PerformancePHP Jedi - Boas Práticas e Alta Performance
PHP Jedi - Boas Práticas e Alta Performance
Felipe Ribeiro7.8K views
Palestra Elasticsearch - The Developers Conference - Floripa - 2017 by Thiago Barradas
Palestra Elasticsearch - The Developers Conference - Floripa - 2017Palestra Elasticsearch - The Developers Conference - Floripa - 2017
Palestra Elasticsearch - The Developers Conference - Floripa - 2017
Thiago Barradas14.1K views
Slides NGINX - Sistemas Distribuídos by vinycesar
Slides NGINX - Sistemas DistribuídosSlides NGINX - Sistemas Distribuídos
Slides NGINX - Sistemas Distribuídos
vinycesar378 views
O que esperar do Zend Framework 3 by Flávio Lisboa
O que esperar do Zend Framework 3O que esperar do Zend Framework 3
O que esperar do Zend Framework 3
Flávio Lisboa1.9K views
Atualizando rails do 2.x para 3.x by Rodrigo Urubatan
Atualizando rails do 2.x para 3.xAtualizando rails do 2.x para 3.x
Atualizando rails do 2.x para 3.x
Rodrigo Urubatan1.4K views
TDC2016POA | Trilha Python - Heimdall Guard - Spam Filter by tdc-globalcode
TDC2016POA | Trilha Python - Heimdall Guard - Spam FilterTDC2016POA | Trilha Python - Heimdall Guard - Spam Filter
TDC2016POA | Trilha Python - Heimdall Guard - Spam Filter
tdc-globalcode317 views

Recently uploaded

MAPA - CONTABILIDADE EMPRESARIAL - 54/2023 by
MAPA - CONTABILIDADE EMPRESARIAL - 54/2023MAPA - CONTABILIDADE EMPRESARIAL - 54/2023
MAPA - CONTABILIDADE EMPRESARIAL - 54/2023AcademiaDL
38 views4 slides
Shift left DevOps Experience by
Shift left DevOps ExperienceShift left DevOps Experience
Shift left DevOps ExperienceWalter Coan
5 views19 slides
DevFest2023-Pragmatismo da Internet das Coisas by
DevFest2023-Pragmatismo da Internet das CoisasDevFest2023-Pragmatismo da Internet das Coisas
DevFest2023-Pragmatismo da Internet das CoisasWalter Coan
20 views40 slides
Skills e Squads, como trabalhar? by
Skills e Squads, como trabalhar?Skills e Squads, como trabalhar?
Skills e Squads, como trabalhar?Annelise Gripp
28 views13 slides
TechConnection 2023 Floripa Azure Container Apps by
TechConnection 2023 Floripa Azure Container AppsTechConnection 2023 Floripa Azure Container Apps
TechConnection 2023 Floripa Azure Container AppsWalter Coan
5 views14 slides
Competências para extrair inovação na tecnologia! by
Competências para extrair inovação na tecnologia!Competências para extrair inovação na tecnologia!
Competências para extrair inovação na tecnologia!Annelise Gripp
15 views11 slides

Recently uploaded(8)

MAPA - CONTABILIDADE EMPRESARIAL - 54/2023 by AcademiaDL
MAPA - CONTABILIDADE EMPRESARIAL - 54/2023MAPA - CONTABILIDADE EMPRESARIAL - 54/2023
MAPA - CONTABILIDADE EMPRESARIAL - 54/2023
AcademiaDL38 views
Shift left DevOps Experience by Walter Coan
Shift left DevOps ExperienceShift left DevOps Experience
Shift left DevOps Experience
Walter Coan5 views
DevFest2023-Pragmatismo da Internet das Coisas by Walter Coan
DevFest2023-Pragmatismo da Internet das CoisasDevFest2023-Pragmatismo da Internet das Coisas
DevFest2023-Pragmatismo da Internet das Coisas
Walter Coan20 views
Skills e Squads, como trabalhar? by Annelise Gripp
Skills e Squads, como trabalhar?Skills e Squads, como trabalhar?
Skills e Squads, como trabalhar?
Annelise Gripp28 views
TechConnection 2023 Floripa Azure Container Apps by Walter Coan
TechConnection 2023 Floripa Azure Container AppsTechConnection 2023 Floripa Azure Container Apps
TechConnection 2023 Floripa Azure Container Apps
Walter Coan5 views
Competências para extrair inovação na tecnologia! by Annelise Gripp
Competências para extrair inovação na tecnologia!Competências para extrair inovação na tecnologia!
Competências para extrair inovação na tecnologia!
Annelise Gripp15 views
Competências para extrair inovação na tecnologia! by AnneliseGripp1
Competências para extrair inovação na tecnologia!Competências para extrair inovação na tecnologia!
Competências para extrair inovação na tecnologia!
AnneliseGripp19 views

A busca pelo deploy continuo

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. Cultura enterprise dificulta bastante a implementação o conceito de torres não ajuda em nada, torre de design, torre de infra etc\n
  5. \n
  6. As pessoas te contrataram para fazer aquilo, te pagam para aquilo mais não confiam naquilo que você faz O_o\nDesenvolvedores gostam de ver suas coisas sendo usadas / em produção, isso o motiva a trabalhar melhor\nSe você não confia no seu funcionario, demita-o e contrate um que você confie\n
  7. \n
  8. Startups que se enterpriserisam, criando processos desnecessarios\n
  9. Cultura de startup facilita muito isso\npensando lean, o conceito de deploy/integração continua tá enraizado em muitos "frameworks" de startups como Lean e afins\nStartup precisa entregar valor rapido ao cliente para se diferencia, se não tem deploy continuo não há como garantir isso\nEnterprise2startup como faz//\n\n
  10. \n
  11. \n
  12. \n
  13. Antes somente uma pessoa estava ‘autorizada’a fazer o deploy\nagora todos podem fazer, quando quiser\nvocê tem que fazer um deploy no seu 1o dia de trabalho\nAntes o rollback era tenebroso, agora é vitorioso\n
  14. \n
  15. \n
  16. Tudo o que você precisa fazer para fazer o deploy, incluindo testes unitario, integração, segurança, desempenho e interface\nQuando você diminui esse ciclo, você aumenta sua competitividade\n\n
  17. \n
  18. \n
  19. (thats not me :-)\n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. Unitario, integração, performance, segurança\n
  28. o 1o passo é ter um script magico, que faz deploy/rollback apenas executando ele\n
  29. \n
  30. \n
  31. \n
  32. \n
  33. Como você vai saber que algo deu errado? como combate o “feeling” do seu chefe\n“não sei não o site tá estranho, acho que esse ultimo deploy diminuiu o numero de vendas”\nmeça tudo, tire estatisticas de tudo e deixe isso facil para o dev\nuse o graphite e o statsd\n\n
  34. Quando devs trabalha com ops\n
  35. - menos trabalho pra você, mais trabalho pra ops\ncitar exemplo de quando o cara de ops te liga e fica te falando mensagem que está acontecendo no terminal, como se ele fosse um terminal via telefone :P\n
  36. \n
  37. \n
  38. Com um load balance você consegue fazer deploy aos poucos, isolando as maquinas e verificando se tem algum erro\nex: ldiretord, perlball, haproxy\n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n