TDC 2015 Floripa - Criando ambientes de forma simples com Docker e Ansible

1.156 visualizações

Publicada em

Palestra apresentada na trilha de DevOps do TDC 2015 Florianópolis, no dia 13/05.

Publicada em: Software

TDC 2015 Floripa - Criando ambientes de forma simples com Docker e Ansible

  1. 1. Globalcode – Open4education Criando ambientes de forma simples com Docker e Ansible Stefan Teixeira stefanfk@gmail.com / stefanteixeira.com.br
  2. 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
  3. 3. Containers x VMs
  4. 4. História dos Containers • Oracle Solaris Zones (2004) • LinuX Containers (LXC - 2008) • Google’s lmctfy (“Let Me Contain That For You” - 2013) • Docker (2013)
  5. 5. Docker Hub
  6. 6. 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
  7. 7. 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
  8. 8. Playbook
  9. 9. Módulos
  10. 10. Docker modules
  11. 11. Docker + Ansible = <3
  12. 12. https://developer.rackspace.com/blog/move-fast-and-dont-break-things-testing-with- jenkins-ansible-and-docker/
  13. 13. mongodb-docker mysql-docker app-scala-docker memcached-docker app-node-docker app2-node-docker app3-node-docker Case Test ServerCI Server
  14. 14. 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)
  15. 15. Livros recomendados
  16. 16. 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
  17. 17. Globalcode – Open4education Obrigado! Stefan Teixeira stefanfk@gmail.com stefanteixeira.com.br @stefan_teixeira

×