Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Precisamos falar sobre Testes de infraestrutura

646 Aufrufe

Veröffentlicht am

Precisamos falar sobre Testes de infraestrutura

Veröffentlicht in: Technologie

Precisamos falar sobre Testes de infraestrutura

  1. 1. Precisamos falar sobre teste de infra Infradel Team
  2. 2. Quem somos Infradel: ● Objetivo: Consultoria para migração de projetos do modelo centralizado para cloud, com automação e auto-serviço. ● Membros: ○ Rafael Gomes (PoA - Brasil) ○ Rafael Nunes (PoA - Brasil) ○ Augusto Amaral (PoA - Brasil) ○ Fernando Laimer (PoA - Brasil) ○ Vinicius Gama (Belo Horizonte - Brasil) ○ Ronak Jain (Belo Horizonte - Brasil) ○ Chris Briesemeister ( Chicago - EUA) ○ Luisa Emme ( Quito - Equador) ● Principais tecnologias ○ Cloud (AWS) ○ Automação de infra (Ansible, Cloudformation) ○ Testes de infraestrutura (ServerSpec, Testinfra) ○ Container (Docker) ○ Programação (Python e Ruby)
  3. 3. Quem sou eu Rafael Gomes: ● Soteropolitano ● Apaixonado por compartilhamento ● Consultor na Thoughtworks ● Blog: techfree.com.br ● Twitter/github: @gomex ● Áreas de interesse/foco: ○ Cultura DevOps ○ Cloud ○ Entrega contínua ○ Automação de infraestrutura ○ Teste de infraestrutura ○ Monitoramento
  4. 4. O que estou fazendo de relevante agora Livro: http://tinyurl.com/docker-devel ● Pague quanto quiser, inclusive nada ● Não precisa saber nada de Docker ● Licenciado com Creative Commons
  5. 5. O que estou fazendo de relevante agora Livro Impresso: ● Livro numerado ● Autografado ● Recompensa de R$ 40,00 com entrega https://www.catarse.me/versao_impressa_do_livro_docker_para_desenvolvedores_c4 03?ref=project_link
  6. 6. Pra que testar? Pergunta sincera...
  7. 7. O que acontece quando não testo
  8. 8. Como os testes eram feitos antigamente
  9. 9. ● Falta de padronização ● Testes insuficientes ● Sem rastreabilidade ● Pouco interesse em reproduzir ● Necessidade de conhecimento especializado Problemas dos testes manuais
  10. 10. Manutenção de ambientes Dev Necessidade de Ambientes ticket ops Testes manuais teste uat prod
  11. 11. Manutenção de ambientes Dev Deploy nos Ambientes ticket ops Testes manuais teste uat prod Testes manuais Testes manuais Teste pós UAT pós Prod pós
  12. 12. Manutenção de ambientes Atualização No ambiente Testes manuais ops teste uat prod Testes manuais Testes manuais Teste pós UAT pós Prod pós
  13. 13. Infraestrutura virou código!
  14. 14. Imperativo vs Declarativo
  15. 15. Automação de ambientes ops teste uat prod Teste pós UAT pós Prod pós ops commit no git repo git
  16. 16. ● Não há como atender a demanda de infra sem automação ● Automação como método de garantia de padronização Infra virou código Fatos: ● Atualização de servidores não se fazem de forma manual ● Até mesmo redes já tem SDN
  17. 17. Se infra virou código, precisamos testar!
  18. 18. Necessidade de teste ops teste uat prod Teste pós UAT pós Prod pós commit Dockerfile no git repo git CD Atualiza
  19. 19. Testes manuais? Testes manuais ops teste uat prod Testes manuais Testes manuais Teste pós UAT pós Prod pós
  20. 20. Necessidade de teste ops teste uat prod Teste pós UAT pós Prod pós commit Dockerfile no git repo git CD Testa Atualiza
  21. 21. TDD para infra?
  22. 22. Soluções de teste
  23. 23. ● Boa documentação ● Facilidade na execução dos testes automatizados Soluções Fatos: ● Abstração que permitem não DEV criarem testes ● Tem boas opções escritas em ruby e python
  24. 24. Veja como é fácil testar automaticamente Arquivo "test_mytest.py": def test_nginx_is_installed(Package): nginx = Package("nginx") assert nginx.is_installed assert nginx.version.startswith("1.2") Comandos para executar o teste: # pip install testinfra # testinfra --sudo --connection=ssh --hosts=servidor_a_ser_testado test_mytest.py
  25. 25. Soluções Lista: ● Serverspec ○ Escrita em ruby, mais popular ● Testinfra ○ Escrita em python ● Inspec ○ Escrita em ruby, mantida pela Chef ● Beaker ○ Escrita em ruby, mantida pela Puppet
  26. 26. Sysadmin, você sabe desenvolver?
  27. 27. Como construir seus testes!
  28. 28. Pirâmide de testes de infra
  29. 29. Dúvidas?
  30. 30. Rafael Gomes: twitter.com/gomex rgomes@thoughtworks.com twitter.com/thoughtworks_pt Obrigado!

×