Infraestrutura
como código
Gabriell Nascimento
O que é?
●Um conceito de DevOps
●Automação
●Provisionamento
●Orquestração
BD, Web, DNS,
Armazenamento…
BD
BD
Web
Web
Armazenamento
DNS
E o que tem de mais?
Roda alguns
scripts
Engenharia de software
●Reusabilidade
●Compartilhamento
●Testes
●Programação em par
# Exemplo com Ansible
$ tree .
.
├── playbook.yml
├── hosts.txt
└── roles
└── setup
├── defaults
│ └── main.yml
├── files
│ └── somefile
└── tasks
└── main.yml
$ ansible-playbook -i hosts.txt playbook.yml
...
$ cat hosts.txt
[local]
localhost ansible_connection=local
$ cat playbook.yml
- hosts: all
roles:
- setup
$ cat roles/setup/tasks/main.yml
- name: Instala pacotes básicos
apt: name={{ item }} state=present update_cache=yes
with_items:
- vim
- rsync
Benefícios
●Integridade
●Escalonamento
●Manutenção
●Versionamento
●Documentação
Pra saber mais
https://www.thoughtworks.com/insights/blog/infrastructure-
code-reason-smile
http://www.infoq.com/presentations/infrastructure-as-code
http://kief.com/infrastructure-as-code-versus-
automation.html
http://www.agileweboperations.com/the-implications-of-
infrastructure-as-code
Obrigado!

Infraestrutura como código