20
Globalcode – Open4education Criando ambientes de forma simples com Docker e Ansible Stefan Teixeira [email protected] / stefanteixeira.com.br

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

Embed Size (px)

Citation preview

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

Globalcode – Open4education

Criando ambientes de forma simples com Docker e Ansible

Stefan [email protected] / stefanteixeira.com.br

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

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

Page 3: TDC 2015 Floripa - Criando ambientes de forma simples com Docker e Ansible
Page 4: TDC 2015 Floripa - Criando ambientes de forma simples com Docker e Ansible

Containers x VMs

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

História dos Containers

• Oracle Solaris Zones (2004)

• LinuX Containers (LXC - 2008)

• Google’s lmctfy (“Let Me Contain That For You” - 2013)

• Docker (2013)

Page 6: TDC 2015 Floripa - Criando ambientes de forma simples com Docker e Ansible
Page 7: TDC 2015 Floripa - Criando ambientes de forma simples com Docker e Ansible

Docker Hub

Page 8: TDC 2015 Floripa - Criando ambientes de forma simples com Docker e Ansible
Page 9: TDC 2015 Floripa - Criando ambientes de forma simples com Docker e Ansible

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

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

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

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

Playbook

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

Módulos

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

Docker modules

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

Docker + Ansible = <3

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

https://developer.rackspace.com/blog/move-fast-and-dont-break-things-testing-with-jenkins-ansible-and-docker/

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

mongodb-docker

mysql-docker

app-scala-docker

memcached-docker

app-node-docker

app2-node-docker

app3-node-docker

Case

Test ServerCI Server

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

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)

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

Livros recomendados

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

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

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

Globalcode – Open4education

Obrigado!

Stefan [email protected]@stefan_teixeira