Post on 04-Aug-2020
Automação e processos de desenvolvimento com Ansible e Docker
Workshop NOC Tools
Emanuel Massano
emanuel.massano@fccn.pt
2018-04-11
07/05/2018Jornadas Computação Cientifica 2018 @ INL 2
Globalização
Escala Concorrência
Agenda
07/05/2018 3
• Gestão de configurações
• Conceitos Ansible
• Demo Ansible
• Conceitos Docker
• Demo Docker
• Workflow de integração contínua / entrega contínua
Gestão de configurações
07/05/2018 4
• Gestão manual de servidores é
– Difícil de manter
– Tempo e custos elevados
– Difícil de reproduzir
– Erros acontecem
Gestão de configurações
07/05/2018 5
• Benefícios de automatização
– Organização
– Menor esforço operacional
– Menor risco
– Melhor documentação
– Menor tempo = Mais tempo
Ansible
07/05/2018 6
• Ansible vs Chef vs Salt vs Puppet vs …
– Agentless
– Stateless
– Mais fácil
– SSH pode ser lento
?
Ansible
07/05/2018Jornadas Computação Cientifica 2018 @ INL 7
Demontração – Parte 1
• Ansible roles: - Upgrade sistema- Definir hostname- Config tmp filesystem- Instalar vim - Instalar ntp- Config mail-exim4 - Instalar apticron- Definir users- Configurar ssh- Instalar telegraf
07/05/2018Jornadas Computação Cientifica 2018 @ INL 8
07/05/2018Jornadas Computação Cientifica 2018 @ INL 9
Docker - História
• 2000 – FreeBSD jail command
• 2002 – Linux namespaces
• 2006 – Google trabalha nos “process containers” para o kernel linux
• 2013 - Docker apareceuEscrito em Go
• 2016 - Alguns dos contribuidores: The Docker team, Cisco, Google, Huawei, IBM, Microsoft, Red Hat…
• 2017 – Mais de 13 mil milhões de downloads
07/05/2018Jornadas Computação Cientifica 2018 @ INL 10
Docker – Arquitetura
07/05/2018Jornadas Computação Cientifica 2018 @ INL 11
Docker – Exemplo
07/05/2018Jornadas Computação Cientifica 2018 @ INL 12
Docker – Vantagens
• Portabilidade
• Rápida configuração de ambientes de desenvolvimento
• Correr serviços sem instalar programas ou dependências no SO
• Manter várias versões
• Garantir ambientes de desenvolvimento e produção semelhantes
• Executar aplicações sem comprometer recursos partilhados
07/05/2018Jornadas Computação Cientifica 2018 @ INL 13
Docker – Conceitos
• Container
• Image
• Dockerfile
• Registry
• Swarm / Kubernetes
• Service
• Port mapping
• Volume mapping
07/05/2018Jornadas Computação Cientifica 2018 @ INL 14
Docker – Orquestração
07/05/2018Jornadas Computação Cientifica 2018 @ INL 15
SimplesFácil
PoderosoComplexo
Swarm
Demontração – Parte 2
• Instalar Docker
• Configurar cluster com Swarm
• Visualizar Swarm
• Criar serviço HTTP (apache)
• Escalar serviço HTTP
07/05/2018Jornadas Computação Cientifica 2018 @ INL 16
The Pipeline
07/05/2018 18
Registry QA Swarm
Prod Swarm
07/05/2018Jornadas Computação Cientifica 2018 @ INL 19