1. Globalcode – Open4education
Criando ambientes de forma
simples com Docker e Ansible
Stefan Teixeira
stefanfk@gmail.com / stefanteixeira.com.br
2. About me
Stefan Teixeira
• QA / DevOps
• Bacharel em Ciência da Computação pela UFRJ
• MBA em Garantia de Qualidade de Software pela Escola Politécnica da
UFRJ
• Mantém um blog técnico sobre testes: stefanteixeira.com.br
• Entusiasta de Testes Automatizados, Agile Testing e da cultura DevOps
Contatos:
• E-mail: stefanfk@gmail.com
• Twitter: twitter.com/stefan_teixeira
• Facebook: facebook.com/stefan.teixeira
• LinkedIn: linkedin.com/in/stefanteixeira
• GitHub: github.com/stefanteixeira
• SlideShare: slideshare.net/stefanteixeira
5. História dos Containers
• Oracle Solaris Zones (2004)
• LinuX Containers (LXC - 2008)
• Google’s lmctfy (“Let Me Contain That For
You” - 2013)
• Docker (2013)
9. Ansible
• Gerenciamento de configuração radicalmente
simples
• Agentless (precisa somente de Python e SSH :)
• Arquivos (playbooks) escritos em YAML
• Quase 300 módulos para executar tasks
• Facilmente extensível
• Desenvolvido em Python
10. Idempotência
• "É a propriedade de executar uma operação
que produz o mesmo resultado independente
de ser executada uma ou múltiplas vezes"
• Assim como outras ferramentas (Puppet, por
exemplo), o Ansible garante que a mesma
configuração seja mantida mesmo que você
rode um playbook uma ou múltiplas vezes
17. Demo
• Config do Ansible no host (/etc/ansible/hosts)
• Projeto de exemplo no GitHub: https://github.com/
stefanteixeira/demo-ansible-docker
• Dockerfiles
• Playbooks
• Execução de playbooks
• Vendo o resultado na máquina (EC2)