A busca pelo Deploy     Contínuo.       @lornlab
Barreiras
Cultura
Confiança
Software Livre
Startups
Lean
Qual o seu ciclo de     deploy?
Você ficaassustado em dias    de deploy?
Bugfix nanoite anteriorao deploy?
Existe outrojeito :)
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
Testes
Deploy /Rollback script
Puppet / Chef
Monitorament      o
DEVOPS
DEVOPS•   logs•   debug•   erro conhecido é erro    tratado•   menos trabalho pra você,    mais trabalho pra ops
Arquitetura
Load balance
if ( $user->cfg =~ /funcionalidade42/ ){         // nova funcionalidade do site }else {      // modo antigo}
nginx +starman
upstream myapp_starman {                             server unix:/tmp/starman.sock fail_timeout=0;                        ...
“It’s a unix system”
kill -s USR2    1337
/var/www/myapp.current /var/www/ myapp-0.1 /var/www/ myapp-0.2
Conclusão• A busca pelo deploy continuo é ... continua• O hype está ajudando a melhorar a  qualidade, ou pelo menos se pre...
Obrigado!• lorn @ cpan dot org• http://twitter.com/lornlab
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
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
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
Upcoming SlideShare
Loading in...5
×

A busca pelo deploy continuo

3,672

Published on

YAPC::BR 2011 at Rio Janeiro

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,672
On Slideshare
0
From Embeds
0
Number of Embeds
16
Actions
Shares
0
Downloads
8
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • Cultura enterprise dificulta bastante a implementação o conceito de torres não ajuda em nada, torre de design, torre de infra etc\n
  • \n
  • 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
  • \n
  • Startups que se enterpriserisam, criando processos desnecessarios\n
  • 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
  • \n
  • \n
  • \n
  • 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
  • \n
  • \n
  • 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
  • \n
  • \n
  • (thats not me :-)\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Unitario, integração, performance, segurança\n
  • o 1o passo é ter um script magico, que faz deploy/rollback apenas executando ele\n
  • \n
  • \n
  • \n
  • \n
  • 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
  • Quando devs trabalha com ops\n
  • - 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
  • \n
  • \n
  • Com um load balance você consegue fazer deploy aos poucos, isolando as maquinas e verificando se tem algum erro\nex: ldiretord, perlball, haproxy\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Transcript of "A busca pelo deploy continuo"

    1. 1. A busca pelo Deploy Contínuo. @lornlab
    2. 2. Barreiras
    3. 3. Cultura
    4. 4. Confiança
    5. 5. Software Livre
    6. 6. Startups
    7. 7. Lean
    8. 8. Qual o seu ciclo de deploy?
    9. 9. Você ficaassustado em dias de deploy?
    10. 10. Bugfix nanoite anteriorao deploy?
    11. 11. Existe outrojeito :)
    12. 12. Automatize tudo!
    13. 13. Automatize tudo! build
    14. 14. Automatize tudo! build test
    15. 15. Automatize tudo! build test deploy
    16. 16. Integração
    17. 17. • SCM• Testes• CI• Deploy/Rollback Script• Máquinas automatizadas • puppet/chef• Monitoramento
    18. 18. Testes
    19. 19. Deploy /Rollback script
    20. 20. Puppet / Chef
    21. 21. Monitorament o
    22. 22. DEVOPS
    23. 23. DEVOPS• logs• debug• erro conhecido é erro tratado• menos trabalho pra você, mais trabalho pra ops
    24. 24. Arquitetura
    25. 25. Load balance
    26. 26. if ( $user->cfg =~ /funcionalidade42/ ){ // nova funcionalidade do site }else { // modo antigo}
    27. 27. nginx +starman
    28. 28. 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;     }   } }
    29. 29. “It’s a unix system”
    30. 30. kill -s USR2 1337
    31. 31. /var/www/myapp.current /var/www/ myapp-0.1 /var/www/ myapp-0.2
    32. 32. 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
    33. 33. Obrigado!• lorn @ cpan dot org• http://twitter.com/lornlab
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×