SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.
SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.
Successfully reported this slideshow.
Activate your 14 day free trial to unlock unlimited reading.
1.
Precisamos falar
sobre teste de infra
Infradel Team
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.
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.
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.
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
9.
● Falta de padronização
● Testes insuficientes
● Sem rastreabilidade
● Pouco interesse em reproduzir
● Necessidade de conhecimento especializado
Problemas dos testes manuais
10.
Manutenção de ambientes
Dev
Necessidade de
Ambientes
ticket ops
Testes
manuais
teste uat prod
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.
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
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.
● 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
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.
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.
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