SlideShare uma empresa Scribd logo
MTA
Automatize ambientes em qualquer lugar
de forma rápida!
$whoami
Cristian Trucco
Especialista em Sistemas e Segurança Linux .
Experiência em projetos e soluções Open Source.
Experiência em ambientes cloud.
Padawan em desenvolvimento usando linguagens OO.
Setup do mta
VM
Tecnologias e Conceitos Envolvidos no Setup
Gitlab
Docker
Ansible
Devops
Aprendiz
Padawan
Jedi
Mestre Jedi
Docker
O que é Docker?
• Docker é um empacotador de ambientes.
• Permite criar ambientes simples ou complexos.
• Suprir dependências, padronizar “ambientes” e
escalar de maneira rápida e fácil.
• Facilita a orquestração de aplicações e simula
um ambiente distribuído.
“Rode em qualquer lugar, em qualquer infra, em qualquer núvem..."
Um pouco mais sobre Docker...
O Docker é uma tecnologia Open Source criada pela Dotcloud, inicialmente usava o Lxc –
Linux Container, e depois foi todo rescrito usando a linguagem GO ,criada pela Goggle.
O Docker permite criar, executar, gerenciar, testar e implantar aplicações distribuídas
dentro de containers.
Permite que você empacote um software/aplicação, contendo tudo que é necessário
para a execução: código, runtime, ferramentas, bibliotecas, etc. O Docker permite que
você implante aplicações rapidamente, de modo confiável e estável, em qualquer
ambiente.
Os containers são um método de virtualização em nível de sistema operacional que
permite executar uma aplicação e suas dependências em processos com recursos
isolados. Os containers permitem empacotar facilmente o código, aumentando a
eficiência operacional, produtividade de desenvolvedores e com controle controle de
versões.
Vantagens de usar Docker
• O Docker permite que o desenvolvedor rode a mesma aplicação
que está em produção na sua máquina local.
• Funciona independente do Hardware.
• Não depende de Frameworks ou linguagens específicas
• Facilidade de Deploy
• Escalabilidade de aplicações Web, Bancos de Dados e demais
serviços de Backend
• Funciona de forma isolada da máquina Host.
• Permite multiplas instâncias utilizando o mesmo Kernel.
VM Container
Virtual Machine Container
VM
O objetivo desse modelo é compartilhar os recursos físicos entre vários ambientes
isolados, sendo que cada um deles tem sob sua tutela um SO completo e uma
máquina completa, com memória, disco, processador, rede e outros periféricos,
todos entregues via abstração de virtualização.
É como se dentro de uma máquina física criasse máquinas menores e
independentes entre sí. Cada máquina(vm) tem seu próprio sistema operacional
completo, que por sua vez interage com todos os hardwares virtuais que lhe foi
entregue pelo modelo de virtualização a nível de máquina.
Vale ressaltar que o sistema operacional instalado dentro de uma máquina virtual
fará interação com os hardwares virtuais e não com o hardware real conhecido
como hypervisor.
Container
Esse modelo está no nível de sistema operacional, ou seja, ao contrário da
máquina virtual um container não tem visão de uma máquina inteira, ele é apenas
um processo em execução isolado em um kernel compartilhado entre todos os
outros containers.
Ele utiliza o namespace para prover o devido isolamento de memória RAM,
processamento(cpu), disco e acesso a rede, mesmo compartilhando o mesmo
kernel, esse processo em execução tem a visão de estar usando um sistema
operacional dedicado.
Docker Swarm
É uma ferramenta nativa do Docker que permite a criação de clusters
de containers Docker, é possível fazer com que diversos hosts de Docker
estejam dentro do mesmo pool de recursos, facilitando assim o deploy de
containers.
Principais vantagens do Docker Swarm
• Criação nativa de Clusters.
• Possui um ou mais master e infinitos Slaves.
• Permite deploy via Docker-Compose.
• Rápida integração de novos nodes.
• Orientado a serviços.
• Balance e Scaling.
• Alta disponibilidade.
• Rápido Failover.
• Gerenciamento por meio de API
• Fácil de usar e já vem embarcado nativamente na
instalação do Docker.
Ansible
O que é o Ansible?
O Ansible é uma ferramenta open-source de automação. É um gerenciador
de configuração, faz uso de conexão ssh para e executar comandos nos host
remotos.
Sua sintaxe é simples, os arquivos de configuração e seus playbooks são
escritos em YAML, o que facilita a compreensão.
É Idempotente:
"É a propriedade de executar uma operação que produz o mesmo resultado
independente de ser executada uma ou múltiplas vezes" Na caso podemos
executar diversas vezes o playbook sem problemas, o resultado sempre será
o mesmo.
Porque usar o Ansible?
1. É Simples:
Automatize em horas - não em semanas - com a linguagem de automação do
Ansible. Diminuição de falhas humanas.
2. Sem Agentes:
O Ansible usa o ssh ao invés de agentes. Mais eficiente, mais seguro e menos
coisas para gerenciar e configurar.
3. Fácil de usar:
Deploy de aplicações, gerenciamento de configuração, … tudo isso em um
sistema.
Git
● GIT não é um sistema de controle de versão de código, é um
sistema de controle de versão de “Arquivos”.
● Permite que desenvolvedores possam contribuir para projetos
de forma simultânea, editando, criando e removendo sem riscos
de sobrescrita.
● GIT se resume a versionamento de qualquer arquivo, é uma
decisão sábia não só para Devs mas também para Ops.
● É possível versionar arquivos como docs, imagens, documentos,
binários, Dockerfile, Playbooks e etc.
Gitlab
● No setup do Mta foi usado o Gitlab, mas poderia ser qualquer um.
● Usado para armazenar os playbooks do Ansible.
● Dockerfiles do Docker e Compose-files.
● Possibilidade de compartilhar os arquivos de qualquer lugar.
● Fácil de usar.
Artifactory
Artifactory é um gerenciador de repositórios , apoiando registros seguros,
agrupados em alta disponibilidade com Docker.
Integrando todas as principais ferramentas CI/CD e DevOps .
O Artifactory fornece uma solução de ponta a ponta, automatizada para
rastrear artefatos, desde o desenvolvimento até a produção.
Artifactory
Principais características do Artifactory?
Confiabilidade:
Como proxy local para o mundo exterior, o Artifactory garante um acesso consistente aos componentes
necessários às suas ferramentas de compilação.
Eficiência:
Os artefatos remotos são armazenados em cache localmente para serem reutilizados, de modo que você não
precisa baixá-los repetidamente.
Segurança:
Os recursos avançados de segurança oferecem controle sobre quem pode acessar seus artefatos e onde eles
podem implantá-los.
Estabilidade:
Suporta grandes explosões de carga com uma simultaneidade extremamente alta e uma integridade de
dados incomparável.
Produtividade:
Facilite os desenvolvedores para encontrar qualquer artefato com metadados XML pesquisáveis e
propriedades definidas pelo usuário.
Onde estamos?
Gerenciando configurações manualmente com arquivos de
configurações e scripts que não deixam claro o que fazem
exatamente.
Administração realizada com intervenção humana, sendo
necessário o Sysadmin ter que logar nas máquinas para
configurar e checar estado das instalações/configurações.
Manutenção demorada e cara! Sendo necessário ter uma
equipe de infraestrutura à disposição somente para manter a
integridade dos ambientes.
Onde Queremos estar?
Automatizar setup dos ambientes, rapidamente com alguns
cliques.
Playbooks: são faceis de entender o que está sendo realizado.
Executar rapidamente em qualquer lugar, realizar a mesma
ação diversas vezes sem erros!
Redução de custo com equipes, reduzir drasticamente o tempo
de setup, focar no que é realmente importante!
Caso de uso
Quais sistemas consigo rodar com esse Setup?
Quais sistemas consigo rodar com esse Setup?
Windows também!!!
Só que com alguns ajustes!
E ainda tem mais!
Demo
Obrigado!
Perguntas?
ctrucco@vertigo.com.br
Vertigo

Mais conteúdo relacionado

Mais procurados

Análise de segurança e hacking de containers Docker - Fernando Silva - Tcheli...
Análise de segurança e hacking de containers Docker - Fernando Silva - Tcheli...Análise de segurança e hacking de containers Docker - Fernando Silva - Tcheli...
Análise de segurança e hacking de containers Docker - Fernando Silva - Tcheli...
Tchelinux
 
Docker: uma visão geral e exemplos de uso
Docker: uma visão geral e exemplos de usoDocker: uma visão geral e exemplos de uso
Docker: uma visão geral e exemplos de uso
Tobias Sette
 
Verdades que não querem te contar sobre Docker
Verdades que não querem te contar sobre DockerVerdades que não querem te contar sobre Docker
Verdades que não querem te contar sobre Docker
Luís Bianchin
 
Introdução a Containers Docker
Introdução a Containers DockerIntrodução a Containers Docker
Introdução a Containers Docker
Matheus Fidelis
 
Introdução ao docker
Introdução ao dockerIntrodução ao docker
Introdução ao docker
Hugo Leonardo Costa e Silva
 
Linux Containers: do que são feitos? de onde vem? quem os alimenta?
Linux Containers: do que são feitos? de onde vem? quem os alimenta?Linux Containers: do que são feitos? de onde vem? quem os alimenta?
Linux Containers: do que são feitos? de onde vem? quem os alimenta?
Marcos Paulo de Souza
 
Containers em produção!
Containers em produção!Containers em produção!
Containers em produção!
Evandro Couto
 
Docker
DockerDocker
Seguranca - docker
Seguranca - dockerSeguranca - docker
Seguranca - docker
Stefani Lima
 
Docker Itix
Docker ItixDocker Itix
Docker Itix
Armando Magalhães
 
Conheça o Docker
Conheça o DockerConheça o Docker
Conheça o Docker
Uira Ribeiro
 
Quero Arch! (Parte 1)
Quero Arch! (Parte 1)Quero Arch! (Parte 1)
Quero Arch! (Parte 1)
Felipe Santos
 
Desenvolvendo com PHP e Docker
Desenvolvendo com PHP e DockerDesenvolvendo com PHP e Docker
Desenvolvendo com PHP e Docker
Waldemar Neto
 
O que é Docker?
O que é Docker?O que é Docker?
O que é Docker?
Rodrigo Emereciano
 
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Renato Groff
 
[Unirede] Webinar: Transportando as aplicações entre vários ambientes com Docker
[Unirede] Webinar: Transportando as aplicações entre vários ambientes com Docker[Unirede] Webinar: Transportando as aplicações entre vários ambientes com Docker
[Unirede] Webinar: Transportando as aplicações entre vários ambientes com Docker
Aécio Pires
 
O poder do Docker (7 Masters)
O poder do Docker (7 Masters)O poder do Docker (7 Masters)
O poder do Docker (7 Masters)
Wellington Silva
 
Docker na vida real
Docker na vida realDocker na vida real
Docker na vida real
Fernando Ike
 
Docker: Introdução à Conteinerização de Apps e Nuvem.
Docker: Introdução à Conteinerização de Apps e Nuvem.Docker: Introdução à Conteinerização de Apps e Nuvem.
Docker: Introdução à Conteinerização de Apps e Nuvem.
Marcel Cattaneo
 
Docker: Introdução à Conteinerização de Apps e Nuvem.
Docker: Introdução à Conteinerização de Apps e Nuvem.Docker: Introdução à Conteinerização de Apps e Nuvem.
Docker: Introdução à Conteinerização de Apps e Nuvem.
Marcel Cattaneo
 

Mais procurados (20)

Análise de segurança e hacking de containers Docker - Fernando Silva - Tcheli...
Análise de segurança e hacking de containers Docker - Fernando Silva - Tcheli...Análise de segurança e hacking de containers Docker - Fernando Silva - Tcheli...
Análise de segurança e hacking de containers Docker - Fernando Silva - Tcheli...
 
Docker: uma visão geral e exemplos de uso
Docker: uma visão geral e exemplos de usoDocker: uma visão geral e exemplos de uso
Docker: uma visão geral e exemplos de uso
 
Verdades que não querem te contar sobre Docker
Verdades que não querem te contar sobre DockerVerdades que não querem te contar sobre Docker
Verdades que não querem te contar sobre Docker
 
Introdução a Containers Docker
Introdução a Containers DockerIntrodução a Containers Docker
Introdução a Containers Docker
 
Introdução ao docker
Introdução ao dockerIntrodução ao docker
Introdução ao docker
 
Linux Containers: do que são feitos? de onde vem? quem os alimenta?
Linux Containers: do que são feitos? de onde vem? quem os alimenta?Linux Containers: do que são feitos? de onde vem? quem os alimenta?
Linux Containers: do que são feitos? de onde vem? quem os alimenta?
 
Containers em produção!
Containers em produção!Containers em produção!
Containers em produção!
 
Docker
DockerDocker
Docker
 
Seguranca - docker
Seguranca - dockerSeguranca - docker
Seguranca - docker
 
Docker Itix
Docker ItixDocker Itix
Docker Itix
 
Conheça o Docker
Conheça o DockerConheça o Docker
Conheça o Docker
 
Quero Arch! (Parte 1)
Quero Arch! (Parte 1)Quero Arch! (Parte 1)
Quero Arch! (Parte 1)
 
Desenvolvendo com PHP e Docker
Desenvolvendo com PHP e DockerDesenvolvendo com PHP e Docker
Desenvolvendo com PHP e Docker
 
O que é Docker?
O que é Docker?O que é Docker?
O que é Docker?
 
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
 
[Unirede] Webinar: Transportando as aplicações entre vários ambientes com Docker
[Unirede] Webinar: Transportando as aplicações entre vários ambientes com Docker[Unirede] Webinar: Transportando as aplicações entre vários ambientes com Docker
[Unirede] Webinar: Transportando as aplicações entre vários ambientes com Docker
 
O poder do Docker (7 Masters)
O poder do Docker (7 Masters)O poder do Docker (7 Masters)
O poder do Docker (7 Masters)
 
Docker na vida real
Docker na vida realDocker na vida real
Docker na vida real
 
Docker: Introdução à Conteinerização de Apps e Nuvem.
Docker: Introdução à Conteinerização de Apps e Nuvem.Docker: Introdução à Conteinerização de Apps e Nuvem.
Docker: Introdução à Conteinerização de Apps e Nuvem.
 
Docker: Introdução à Conteinerização de Apps e Nuvem.
Docker: Introdução à Conteinerização de Apps e Nuvem.Docker: Introdução à Conteinerização de Apps e Nuvem.
Docker: Introdução à Conteinerização de Apps e Nuvem.
 

Semelhante a Docker e outras ferramentas Devops

Treinamento Docker Básico
Treinamento Docker BásicoTreinamento Docker Básico
Treinamento Docker Básico
André Justi
 
Apresentação Docker
Apresentação DockerApresentação Docker
Apresentação Docker
André Justi
 
Transportando as aplicações entre vários ambientes com Docker
Transportando as aplicações entre vários ambientes com DockerTransportando as aplicações entre vários ambientes com Docker
Transportando as aplicações entre vários ambientes com Docker
Aécio Pires
 
Docker meetup
Docker meetupDocker meetup
Docker meetup
Bianca Cristina
 
Containers com docker #CPRecife4
Containers com docker #CPRecife4Containers com docker #CPRecife4
Containers com docker #CPRecife4
David Ruiz
 
Vagrant - ambiente de desenvolvimento virtualizado
Vagrant - ambiente de desenvolvimento virtualizadoVagrant - ambiente de desenvolvimento virtualizado
Vagrant - ambiente de desenvolvimento virtualizado
Vinícius Krolow
 
Introdução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdfIntrodução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdf
dadalt1
 
DevOps na prática - Savanna Denega
DevOps na prática - Savanna DenegaDevOps na prática - Savanna Denega
DevOps na prática - Savanna Denega
Savanna Denega
 
Docker.io:
Docker.io: Docker.io:
Docker.io:
Alexandre Teles
 
Olá docker
Olá dockerOlá docker
Olá docker
Marcos Ellys
 
Orquestração de containers com Rancher
Orquestração de containers com RancherOrquestração de containers com Rancher
Orquestração de containers com Rancher
Alex Ishida
 
Desenvolvimento em .NET utilizando Docker - Meetup 8 Itu Developers
Desenvolvimento em .NET utilizando Docker - Meetup 8 Itu DevelopersDesenvolvimento em .NET utilizando Docker - Meetup 8 Itu Developers
Desenvolvimento em .NET utilizando Docker - Meetup 8 Itu Developers
Dextra Sistemas / Etec Itu
 
Flisol 2015
Flisol 2015 Flisol 2015
Flisol 2015
Ricardo Martins ☁
 
Usando Docker no desenvolvimento .NET
Usando Docker no desenvolvimento .NETUsando Docker no desenvolvimento .NET
Usando Docker no desenvolvimento .NET
Dextra Sistemas / Etec Itu
 
Vagrant sti
Vagrant stiVagrant sti
Vagrant sti
Hugo Henley
 
PHP Experience 2016 - [Palestra] Vagrant, LXC, Docker, etc: Entenda as difere...
PHP Experience 2016 - [Palestra] Vagrant, LXC, Docker, etc: Entenda as difere...PHP Experience 2016 - [Palestra] Vagrant, LXC, Docker, etc: Entenda as difere...
PHP Experience 2016 - [Palestra] Vagrant, LXC, Docker, etc: Entenda as difere...
iMasters
 
Maven e Nexus. O que são essas ferramentas?
Maven e Nexus. O que são essas ferramentas?Maven e Nexus. O que são essas ferramentas?
Maven e Nexus. O que são essas ferramentas?
Jocsa Rosendo
 
O docker vai mudar tudo na sua infra estrutura-ti
O docker vai mudar tudo na sua infra estrutura-tiO docker vai mudar tudo na sua infra estrutura-ti
O docker vai mudar tudo na sua infra estrutura-ti
Francisco Gonçalves
 
DevOpsDays Brasilia 2017
DevOpsDays Brasilia 2017DevOpsDays Brasilia 2017
DevOpsDays Brasilia 2017
Jonathan Baraldi
 
O poder dos microsserviços com Docker e Kubernetes
O poder dos microsserviços com Docker e KubernetesO poder dos microsserviços com Docker e Kubernetes
O poder dos microsserviços com Docker e Kubernetes
Willian Azevedo
 

Semelhante a Docker e outras ferramentas Devops (20)

Treinamento Docker Básico
Treinamento Docker BásicoTreinamento Docker Básico
Treinamento Docker Básico
 
Apresentação Docker
Apresentação DockerApresentação Docker
Apresentação Docker
 
Transportando as aplicações entre vários ambientes com Docker
Transportando as aplicações entre vários ambientes com DockerTransportando as aplicações entre vários ambientes com Docker
Transportando as aplicações entre vários ambientes com Docker
 
Docker meetup
Docker meetupDocker meetup
Docker meetup
 
Containers com docker #CPRecife4
Containers com docker #CPRecife4Containers com docker #CPRecife4
Containers com docker #CPRecife4
 
Vagrant - ambiente de desenvolvimento virtualizado
Vagrant - ambiente de desenvolvimento virtualizadoVagrant - ambiente de desenvolvimento virtualizado
Vagrant - ambiente de desenvolvimento virtualizado
 
Introdução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdfIntrodução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdf
 
DevOps na prática - Savanna Denega
DevOps na prática - Savanna DenegaDevOps na prática - Savanna Denega
DevOps na prática - Savanna Denega
 
Docker.io:
Docker.io: Docker.io:
Docker.io:
 
Olá docker
Olá dockerOlá docker
Olá docker
 
Orquestração de containers com Rancher
Orquestração de containers com RancherOrquestração de containers com Rancher
Orquestração de containers com Rancher
 
Desenvolvimento em .NET utilizando Docker - Meetup 8 Itu Developers
Desenvolvimento em .NET utilizando Docker - Meetup 8 Itu DevelopersDesenvolvimento em .NET utilizando Docker - Meetup 8 Itu Developers
Desenvolvimento em .NET utilizando Docker - Meetup 8 Itu Developers
 
Flisol 2015
Flisol 2015 Flisol 2015
Flisol 2015
 
Usando Docker no desenvolvimento .NET
Usando Docker no desenvolvimento .NETUsando Docker no desenvolvimento .NET
Usando Docker no desenvolvimento .NET
 
Vagrant sti
Vagrant stiVagrant sti
Vagrant sti
 
PHP Experience 2016 - [Palestra] Vagrant, LXC, Docker, etc: Entenda as difere...
PHP Experience 2016 - [Palestra] Vagrant, LXC, Docker, etc: Entenda as difere...PHP Experience 2016 - [Palestra] Vagrant, LXC, Docker, etc: Entenda as difere...
PHP Experience 2016 - [Palestra] Vagrant, LXC, Docker, etc: Entenda as difere...
 
Maven e Nexus. O que são essas ferramentas?
Maven e Nexus. O que são essas ferramentas?Maven e Nexus. O que são essas ferramentas?
Maven e Nexus. O que são essas ferramentas?
 
O docker vai mudar tudo na sua infra estrutura-ti
O docker vai mudar tudo na sua infra estrutura-tiO docker vai mudar tudo na sua infra estrutura-ti
O docker vai mudar tudo na sua infra estrutura-ti
 
DevOpsDays Brasilia 2017
DevOpsDays Brasilia 2017DevOpsDays Brasilia 2017
DevOpsDays Brasilia 2017
 
O poder dos microsserviços com Docker e Kubernetes
O poder dos microsserviços com Docker e KubernetesO poder dos microsserviços com Docker e Kubernetes
O poder dos microsserviços com Docker e Kubernetes
 

Docker e outras ferramentas Devops

  • 1. MTA Automatize ambientes em qualquer lugar de forma rápida!
  • 2. $whoami Cristian Trucco Especialista em Sistemas e Segurança Linux . Experiência em projetos e soluções Open Source. Experiência em ambientes cloud. Padawan em desenvolvimento usando linguagens OO.
  • 4. Tecnologias e Conceitos Envolvidos no Setup Gitlab Docker Ansible Devops Aprendiz Padawan Jedi Mestre Jedi
  • 5. Docker O que é Docker? • Docker é um empacotador de ambientes. • Permite criar ambientes simples ou complexos. • Suprir dependências, padronizar “ambientes” e escalar de maneira rápida e fácil. • Facilita a orquestração de aplicações e simula um ambiente distribuído. “Rode em qualquer lugar, em qualquer infra, em qualquer núvem..."
  • 6. Um pouco mais sobre Docker... O Docker é uma tecnologia Open Source criada pela Dotcloud, inicialmente usava o Lxc – Linux Container, e depois foi todo rescrito usando a linguagem GO ,criada pela Goggle. O Docker permite criar, executar, gerenciar, testar e implantar aplicações distribuídas dentro de containers. Permite que você empacote um software/aplicação, contendo tudo que é necessário para a execução: código, runtime, ferramentas, bibliotecas, etc. O Docker permite que você implante aplicações rapidamente, de modo confiável e estável, em qualquer ambiente. Os containers são um método de virtualização em nível de sistema operacional que permite executar uma aplicação e suas dependências em processos com recursos isolados. Os containers permitem empacotar facilmente o código, aumentando a eficiência operacional, produtividade de desenvolvedores e com controle controle de versões.
  • 7. Vantagens de usar Docker • O Docker permite que o desenvolvedor rode a mesma aplicação que está em produção na sua máquina local. • Funciona independente do Hardware. • Não depende de Frameworks ou linguagens específicas • Facilidade de Deploy • Escalabilidade de aplicações Web, Bancos de Dados e demais serviços de Backend • Funciona de forma isolada da máquina Host. • Permite multiplas instâncias utilizando o mesmo Kernel.
  • 9. VM O objetivo desse modelo é compartilhar os recursos físicos entre vários ambientes isolados, sendo que cada um deles tem sob sua tutela um SO completo e uma máquina completa, com memória, disco, processador, rede e outros periféricos, todos entregues via abstração de virtualização. É como se dentro de uma máquina física criasse máquinas menores e independentes entre sí. Cada máquina(vm) tem seu próprio sistema operacional completo, que por sua vez interage com todos os hardwares virtuais que lhe foi entregue pelo modelo de virtualização a nível de máquina. Vale ressaltar que o sistema operacional instalado dentro de uma máquina virtual fará interação com os hardwares virtuais e não com o hardware real conhecido como hypervisor.
  • 10. Container Esse modelo está no nível de sistema operacional, ou seja, ao contrário da máquina virtual um container não tem visão de uma máquina inteira, ele é apenas um processo em execução isolado em um kernel compartilhado entre todos os outros containers. Ele utiliza o namespace para prover o devido isolamento de memória RAM, processamento(cpu), disco e acesso a rede, mesmo compartilhando o mesmo kernel, esse processo em execução tem a visão de estar usando um sistema operacional dedicado.
  • 11. Docker Swarm É uma ferramenta nativa do Docker que permite a criação de clusters de containers Docker, é possível fazer com que diversos hosts de Docker estejam dentro do mesmo pool de recursos, facilitando assim o deploy de containers.
  • 12. Principais vantagens do Docker Swarm • Criação nativa de Clusters. • Possui um ou mais master e infinitos Slaves. • Permite deploy via Docker-Compose. • Rápida integração de novos nodes. • Orientado a serviços. • Balance e Scaling. • Alta disponibilidade. • Rápido Failover. • Gerenciamento por meio de API • Fácil de usar e já vem embarcado nativamente na instalação do Docker.
  • 13. Ansible O que é o Ansible? O Ansible é uma ferramenta open-source de automação. É um gerenciador de configuração, faz uso de conexão ssh para e executar comandos nos host remotos. Sua sintaxe é simples, os arquivos de configuração e seus playbooks são escritos em YAML, o que facilita a compreensão. É Idempotente: "É a propriedade de executar uma operação que produz o mesmo resultado independente de ser executada uma ou múltiplas vezes" Na caso podemos executar diversas vezes o playbook sem problemas, o resultado sempre será o mesmo.
  • 14. Porque usar o Ansible? 1. É Simples: Automatize em horas - não em semanas - com a linguagem de automação do Ansible. Diminuição de falhas humanas. 2. Sem Agentes: O Ansible usa o ssh ao invés de agentes. Mais eficiente, mais seguro e menos coisas para gerenciar e configurar. 3. Fácil de usar: Deploy de aplicações, gerenciamento de configuração, … tudo isso em um sistema.
  • 15.
  • 16. Git ● GIT não é um sistema de controle de versão de código, é um sistema de controle de versão de “Arquivos”. ● Permite que desenvolvedores possam contribuir para projetos de forma simultânea, editando, criando e removendo sem riscos de sobrescrita. ● GIT se resume a versionamento de qualquer arquivo, é uma decisão sábia não só para Devs mas também para Ops. ● É possível versionar arquivos como docs, imagens, documentos, binários, Dockerfile, Playbooks e etc.
  • 17. Gitlab ● No setup do Mta foi usado o Gitlab, mas poderia ser qualquer um. ● Usado para armazenar os playbooks do Ansible. ● Dockerfiles do Docker e Compose-files. ● Possibilidade de compartilhar os arquivos de qualquer lugar. ● Fácil de usar.
  • 18. Artifactory Artifactory é um gerenciador de repositórios , apoiando registros seguros, agrupados em alta disponibilidade com Docker. Integrando todas as principais ferramentas CI/CD e DevOps . O Artifactory fornece uma solução de ponta a ponta, automatizada para rastrear artefatos, desde o desenvolvimento até a produção.
  • 20. Principais características do Artifactory? Confiabilidade: Como proxy local para o mundo exterior, o Artifactory garante um acesso consistente aos componentes necessários às suas ferramentas de compilação. Eficiência: Os artefatos remotos são armazenados em cache localmente para serem reutilizados, de modo que você não precisa baixá-los repetidamente. Segurança: Os recursos avançados de segurança oferecem controle sobre quem pode acessar seus artefatos e onde eles podem implantá-los. Estabilidade: Suporta grandes explosões de carga com uma simultaneidade extremamente alta e uma integridade de dados incomparável. Produtividade: Facilite os desenvolvedores para encontrar qualquer artefato com metadados XML pesquisáveis e propriedades definidas pelo usuário.
  • 21. Onde estamos? Gerenciando configurações manualmente com arquivos de configurações e scripts que não deixam claro o que fazem exatamente. Administração realizada com intervenção humana, sendo necessário o Sysadmin ter que logar nas máquinas para configurar e checar estado das instalações/configurações. Manutenção demorada e cara! Sendo necessário ter uma equipe de infraestrutura à disposição somente para manter a integridade dos ambientes.
  • 22. Onde Queremos estar? Automatizar setup dos ambientes, rapidamente com alguns cliques. Playbooks: são faceis de entender o que está sendo realizado. Executar rapidamente em qualquer lugar, realizar a mesma ação diversas vezes sem erros! Redução de custo com equipes, reduzir drasticamente o tempo de setup, focar no que é realmente importante!
  • 24. Quais sistemas consigo rodar com esse Setup?
  • 25. Quais sistemas consigo rodar com esse Setup? Windows também!!! Só que com alguns ajustes!
  • 26. E ainda tem mais!
  • 27. Demo