Globalcode – Open4education
Criando ambientes de forma simples com Docker e Ansible
Stefan [email protected] / stefanteixeira.com.br
About meStefan 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: [email protected]• Twitter: twitter.com/stefan_teixeira• Facebook: facebook.com/stefan.teixeira• LinkedIn: linkedin.com/in/stefanteixeira• GitHub: github.com/stefanteixeira• SlideShare: slideshare.net/stefanteixeira
Containers x VMs
História dos Containers
• Oracle Solaris Zones (2004)
• LinuX Containers (LXC - 2008)
• Google’s lmctfy (“Let Me Contain That For You” - 2013)
• Docker (2013)
Docker Hub
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
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
Playbook
Módulos
Docker modules
Docker + Ansible = <3
https://developer.rackspace.com/blog/move-fast-and-dont-break-things-testing-with-jenkins-ansible-and-docker/
mongodb-docker
mysql-docker
app-scala-docker
memcached-docker
app-node-docker
app2-node-docker
app3-node-docker
Case
Test ServerCI Server
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)
Livros recomendados
Referências• Projeto de exemplo da demo - https://github.com/
stefanteixeira/demo-ansible-docker
• Palestra “How Twitter Uses Ansible” - https://www.youtube.com/watch?v=fwGrKXzocg4
• The Docker Book - http://www.amazon.com.br/The-Docker-Book-Containerization-virtualization-ebook/dp/B00LRROTI4
• Ansible for DevOps - https://leanpub.com/ansible-for-devops
Top Related