SlideShare uma empresa Scribd logo
1 de 41
Docker – Um capítulo
à parte
MAURÍCIO HARLEY
MAIO DE 2018
https://itHarley.com
Agenda
• Virtualização;
• Histórico sobre Containers;
• Conceitos Gerais;
• Demo;
• Dicas de Leitura;
• Bônus: o que vem “depois”?
2
https://itHarley.com
Quem é você?
• MBA em Gerenciamento de Projetos deTI – Faculdade Farias Brito;
• Bacharel em Engenharia Elétrica – UFC;
• Tecnológo emTelemática – FIC/Estácio;
• Técnico em Informática Industrial – ETFCE/CEFET-CE/IFCE;
• 2x CCIE (Routing & Switching, Service Provider), CISSP;
• VCIX-NV (Vmware NSX), MCSECloud Platform,VCP6-DCV, JNCIA-Cloud, ITIL v3;
• Ex-membro do Cisco Data CenterTigerTeam;
• Áreas de especialidade: Cyber Security, DataCenter, Cloud Computing, Routing & Switching, Service Provider;
• Colaborador regular da PenTest Magazine e da Hakin9;
• Arquiteto de CloudComputing e Cyber Security na HX Brasil;
• Palestrante de temas diversos emTecnologia da Informação;
• Mais de 20 anos de experiência emTI.
3
Virtualização
4
https://itHarley.com
Virtualização
• Quando e como começou?
• Década de 1960;
• Mainframes;
• Sistema de compartilhamento de tempo para processamento de tarefas;
• Alterações foram realizadas no sistema operacional;
• Cada usuário passou a receber uma “máquina virtual”, que dava a ele a impressão
de estar acessando o computador central;
• A tecnologia evoluiu ao longo do tempo, permitindo a possibilidade de criar
clusters de computadores para determinadas atividades;
• AVMware portou essa capacidade para servidores x86.
5
https://itHarley.com
Calma! Mainframe? Como assim?
6
https://itHarley.com
O que pode ser virtualizado em TI?
• Hardware
• VMware vSphere ou Microsoft Hyper-V
• Storage
• Dell Compellent ou FreeNAS
• Rede
• VLANs eVRFs
• Aplicação
• Citrix XenApp ouVMwareThinApp
• Desktop
• Microsoft Remote Desktop Services (RDS) ou Citrix XenDesktop
7
https://itHarley.com
Focando em virtualização de hardware
• Tipos deVirtualização de Servidores
• Tipo 1
• Tipo 2
8
https://itHarley.com
Exemplos de Virtualizadores
• Tipo 1, também chamados de hypervisors
• Microsoft Hyper-V;
• VMware ESXi
• O que é o vSphere???
• vSphere é apenas a suíte composta por ESXi + vCenter.
• XenServer (Citrix ou open source);
• KVM + QEMU + libvirt;
• bhyve e xhyve.
9
https://itHarley.com
Exemplos de Virtualizadores (cont.)
• Tipo 2 (dependem do sistema operacional host)
• MicrosoftVirtual PC (descontinuado);
• VMwareWorkstation;
• VMware Player;
• VMware Fusion;
• OracleVirtualbox;
• Parallels Desktop.
10
Histórico sobre Containers
11
https://itHarley.com
Antes de mais nada...
O que são containers, no “mundo real”?
12
https://itHarley.com
13
https://itHarley.com
Breve Histórico
• Containers não começaram com Docker!
• Década de 1970: UnixV7;
• 2000: Jails no FreeBSD;
• 2001: VServer no Linux (ao mesmo estilo dos Jails);
• 2002: Virtuozzo;
• 2004: Oracle Solaris Containers;
• 2005: OpenVZ;
14
https://itHarley.com
Breve Histórico (cont.)
• 2006: Process Containers;
• 2008: LXC (Linux Containers) ;
• 2011: Warden;
• 2013: LMCTFY (Let Me ContainThat ForYou);
• 2013: Docker;
• Quem criou o Docker?
• A Docker Inc., certo?
• Sim e não! O software foi criado em 2010 pela dotCloud, uma empresa de PaaS;
• Ela foi comprada pela Docker Inc. em 2013, ano em que o produto foi liberado como
open source.
15
https://itHarley.com
Breve Histórico (cont.)
• 2014: CoreOS lança o rkt, sua versão de containers;
• 2017: produto se torna plenamente maduro;
• 2017: Kubernetes dá um boom ao mundo de containers
• Kubernetes suporta Docker e rkt;
• AWS e Microsoft anunciam suporte pleno à plataforma;
• Google já a suporta desde o lançamento, e a usa internamente em todos os
serviços da GCP (GoogleCloud Platform).
16
Conceitos Gerais
17
https://itHarley.com
Conceitos Gerais
• Containers, emTI, são:
• Estruturas isoladas para execução de aplicativos e serviços em um espaço de
memória próprio;
• Ambiente mínimo de execução de aplicações, aproveitando-se do
compartilhamento de um mesmo sistema operacional, o que permite usar as
bibliotecas e chamadas de kernel (syscalls) desse sistema;
• Mecanismos de se aproveitar de um repositório central, conhecido como
“registry”, responsável por armazenar imagens que são usadas como base para
instanciamento dos mesmos.
18
https://itHarley.com
Conceitos Gerais (cont.)
19
VMs =
Containers =
https://itHarley.com
Conceitos Gerais (cont.)
20
https://itHarley.com
Conceitos Gerais (cont.)
• 1: Hypervisor tipo 2 comVMs;
• 2: Hypervisor tipo 2 comVMs. Uma tem o Docker;
• 3: Docker instalado diretamente no sistema operacional do servidor;
• 4: Hypervisor tpio 1 comVMs. Uma tem o Docker.
21
https://itHarley.com
Conceitos Gerais (cont.)
• Componentes do Docker
• Docker Engine
22
https://itHarley.com
Conceitos Gerais (cont.)
• Componentes do Docker
• Docker Engine (cont.)
23
https://itHarley.com
Conceitos Gerais (cont.)
• Componentes do Docker
• Docker Machine
24
https://itHarley.com
Conceitos Gerais (cont.)
25
https://itHarley.com
Conceitos Gerais (cont.)
• Docker Machine foi a primeira forma de fazer containers Linux rodar em
sistemas não-Linux;
• Quando necessitando de containers Docker em sistemas assim (Windows
ou macOS), a recomendação é usar a respectiva versão do software para a
plataforma:
• Docker forWindows;
• Docker for macOS.
• Docker forWindows usa Hyper-V;
• Docker for macOS usa HyperKit (xhyve);
• São opções com hypervisor do tipo 1!
26
https://itHarley.com
Conceitos Gerais (cont.)
• Componentes do Docker
• Docker Compose
27
https://itHarley.com
Conceitos Gerais (cont.)
• Componentes do Docker
• Docker Registry
28
https://itHarley.com
Conceitos Gerais (cont.)
• Componentes do Docker
• Docker Registry
29
https://itHarley.com
Conceitos Gerais (cont.)
• E quando se tem muitos containers, o que fazer para gerenciá-los?
• Criar um cluster de Docker Swarm!
• Cada host que executa o Docker daemon (server) é eleito como membro do cluster;
• Um deles é definido como mestre, e se torna responsável pela alocação de containers
nele mesmo e nos outros hosts;
• Numa situação de falha do mestre, um outro membro do cluster é eleito novo mestre.
• Ok, mas e se forem dezenas, centenas, milhares de containers???
• Kubernetes (k8s)!
• Orquestrador de ambientes de micro serviços;
• Gerencia não só os containers em si, mas os hosts, a rede e o storage envolvidos;
• Criado inicialmente pelo Google para uso próprio, mas liberado como open source em
2014.
30
https://itHarley.com
Conceitos Gerais (cont.)
• Docker Hub
• Repositório público ou privado para você armazenar suas imagens.
• Docker Store
• Marketplace (a exemplo de AWS, Google e Microsoft) para ter acesso às imagens
de outras empresas. Parceiros do ecossistema Docker oferecem aqui seus
produtos.
• Orquestração de Containers na Nuvem
• Google Cloud Platform Kubernetes;
• AWS ECS (ElasticContainer Service);
• MicrosoftAKS (Azure Kubernetes Service).
31
Demo
32
Dicas de Leitura
33
https://itHarley.com
Dicas de Leitura
34
https://itHarley.com
Links para referência
• https://itHarley.com/a-b-c-docker-capitulo-1
• https://www.docker.com
• https://kubernetes.io
• https://coreos.com
• https://blog.docker.com/2016/03/containers-are-not-vms/
• https://www.networkworld.com/article/2254433/virtualization/with-long-history-of-virtualization-
behind-it--ibm-looks-to-the-future.html
• http://www.techadvisory.org/2016/01/5-different-types-of-virtualization/
• https://searchservervirtualization.techtarget.com/feature/A-brief-history-of-Docker-Containers-
overnight-success
• https://blog.aquasec.com/a-brief-history-of-containers-from-1970s-chroot-to-docker-2016
35
Bônus: o que vem “depois”?
36
https://itHarley.com
Serverless Computing
• Está relacionada com computação em nuvem;
• Abstração completa de infraestrutura, sistema operacional,
framework, ou qualquer outro componente interno;
• Dispensa provisionamento de qualquer servidor;
• Funções!
• Perfeitamente integrável com microserviços (containers);
• Interação é feita através de APIs.
37
https://itHarley.com
Serverless Computing (cont.)
• Pode ser usada com runtimes ou com bases de dados;
• Nos runtimes, é preciso que a linguagem de programação seja suportada
• Python, Node.JS, C#, Go, Java, ...
• AWS Lambda, Azure Functions, Google Functions;
• IBM lançou o OpenWhisk como open source
• É atualmente sub-projeto da Apache Foundation;
• Suporta Node.JS, Python, Java e Swift.
• OpenFaaS (Function as a Service) é outra solução open source
• Focada em Docker e Kubernetes.
38
https://itHarley.com
Serverless Computing (cont.)
• Também eliminam a necessidade de provisionamento dos
respectivos bancos de dados;
• É usado o conceito de lago de dados (data lake), uma definição
proveniente de Big Data
• Bases de tamanhos absurdamente grandes e com alto desempenho.
• Exemplos de produtos são oAWS Aurora, o Azure Data Lake, Google
Cloud Datastore;
• Opção independente: FaunaDB (baseada em tecnologia doTwitter).
39
https://itHarley.com
Inscrições: http://bit.ly/DevOps-CE
40
https://itHarley.com
Obrigado!!!
https://itHarley.com
@mauricioharley
42

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
 
Padrōes, Especificações, Runtimes: construindo containers melhores
Padrōes, Especificações, Runtimes: construindo containers melhoresPadrōes, Especificações, Runtimes: construindo containers melhores
Padrōes, Especificações, Runtimes: construindo containers melhoresCarlos Andre Fernandes
 
Vagrant vs docker? Melhor vagrant + docker
Vagrant vs docker? Melhor vagrant + dockerVagrant vs docker? Melhor vagrant + docker
Vagrant vs docker? Melhor vagrant + dockerWellington Silva
 
Docker na vida real
Docker na vida realDocker na vida real
Docker na vida realFernando Ike
 
Treinamento Docker Básico
Treinamento Docker BásicoTreinamento Docker Básico
Treinamento Docker BásicoAndré Justi
 
Primeiros passos com o Docker
Primeiros passos com o DockerPrimeiros passos com o Docker
Primeiros passos com o DockerWebSix
 
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 usoTobias Sette
 
Deploying Docker Containers
Deploying Docker ContainersDeploying Docker Containers
Deploying Docker ContainersHugo Henley
 
Desenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando DockerDesenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando DockerBruno Ricardo Siqueira
 
TDC 2015 Floripa - Criando ambientes de forma simples com Docker e Ansible
TDC 2015 Floripa - Criando ambientes de forma simples com Docker e AnsibleTDC 2015 Floripa - Criando ambientes de forma simples com Docker e Ansible
TDC 2015 Floripa - Criando ambientes de forma simples com Docker e AnsibleStefan Teixeira
 
Apresentação Docker
Apresentação DockerApresentação Docker
Apresentação DockerAndré Justi
 
1º IoT Day - O que é Linux Embarcado
1º IoT Day - O que é Linux Embarcado1º IoT Day - O que é Linux Embarcado
1º IoT Day - O que é Linux EmbarcadoDiego Sueiro
 
MicroProfile benefits for your monolithic applications
MicroProfile benefits for your monolithic applicationsMicroProfile benefits for your monolithic applications
MicroProfile benefits for your monolithic applicationsVíctor Leonel Orozco López
 
Docker, facilitando a vida do desenvolvimento
Docker, facilitando a vida do desenvolvimentoDocker, facilitando a vida do desenvolvimento
Docker, facilitando a vida do desenvolvimentoSérgio Lima
 
Introdução a Containers Docker
Introdução a Containers DockerIntrodução a Containers Docker
Introdução a Containers DockerMatheus Fidelis
 

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...
 
Padrōes, Especificações, Runtimes: construindo containers melhores
Padrōes, Especificações, Runtimes: construindo containers melhoresPadrōes, Especificações, Runtimes: construindo containers melhores
Padrōes, Especificações, Runtimes: construindo containers melhores
 
Bem vindo ao Docker
Bem vindo ao DockerBem vindo ao Docker
Bem vindo ao Docker
 
Vagrant vs docker? Melhor vagrant + docker
Vagrant vs docker? Melhor vagrant + dockerVagrant vs docker? Melhor vagrant + docker
Vagrant vs docker? Melhor vagrant + docker
 
Docker na vida real
Docker na vida realDocker na vida real
Docker na vida real
 
Treinamento Docker Básico
Treinamento Docker BásicoTreinamento Docker Básico
Treinamento Docker Básico
 
Primeiros passos com o Docker
Primeiros passos com o DockerPrimeiros passos com o Docker
Primeiros passos com o Docker
 
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
 
Deploying Docker Containers
Deploying Docker ContainersDeploying Docker Containers
Deploying Docker Containers
 
Desenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando DockerDesenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando Docker
 
Introdução à plataforma Docker
Introdução à plataforma DockerIntrodução à plataforma Docker
Introdução à plataforma Docker
 
TDC 2015 Floripa - Criando ambientes de forma simples com Docker e Ansible
TDC 2015 Floripa - Criando ambientes de forma simples com Docker e AnsibleTDC 2015 Floripa - Criando ambientes de forma simples com Docker e Ansible
TDC 2015 Floripa - Criando ambientes de forma simples com Docker e Ansible
 
Apresentação Docker
Apresentação DockerApresentação Docker
Apresentação Docker
 
O que é docker?
O que é docker?O que é docker?
O que é docker?
 
1º IoT Day - O que é Linux Embarcado
1º IoT Day - O que é Linux Embarcado1º IoT Day - O que é Linux Embarcado
1º IoT Day - O que é Linux Embarcado
 
MicroProfile benefits for your monolithic applications
MicroProfile benefits for your monolithic applicationsMicroProfile benefits for your monolithic applications
MicroProfile benefits for your monolithic applications
 
Apresentacao docker
Apresentacao dockerApresentacao docker
Apresentacao docker
 
Docker, facilitando a vida do desenvolvimento
Docker, facilitando a vida do desenvolvimentoDocker, facilitando a vida do desenvolvimento
Docker, facilitando a vida do desenvolvimento
 
Ambiente de desenvolvimento com docker e ruby on rails
Ambiente de desenvolvimento com  docker e ruby on railsAmbiente de desenvolvimento com  docker e ruby on rails
Ambiente de desenvolvimento com docker e ruby on rails
 
Introdução a Containers Docker
Introdução a Containers DockerIntrodução a Containers Docker
Introdução a Containers Docker
 

Semelhante a Docker - Um capitulo à parte

Curso de Verão - Aula 02 - Orquestração de Contêineres
Curso de Verão - Aula 02 - Orquestração de ContêineresCurso de Verão - Aula 02 - Orquestração de Contêineres
Curso de Verão - Aula 02 - Orquestração de ContêineresGuilhermeJorgeAragod
 
Introdução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdfIntrodução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdfdadalt1
 
Container revolucao
Container revolucaoContainer revolucao
Container revolucaoFernando Ike
 
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 DockerAécio Pires
 
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018Renato Groff
 
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018Renato Groff
 
Simplificando a montagem de ambientes de Dev/Testes com Docker - Interop Summ...
Simplificando a montagem de ambientes de Dev/Testes com Docker - Interop Summ...Simplificando a montagem de ambientes de Dev/Testes com Docker - Interop Summ...
Simplificando a montagem de ambientes de Dev/Testes com Docker - Interop Summ...Renato Groff
 
Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020
Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020
Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020Renato Groff
 
Containers em produção!
Containers em produção!Containers em produção!
Containers em produção!Evandro Couto
 
Docker | Minicurso Gratuito - Azure na Prática
Docker | Minicurso Gratuito - Azure na PráticaDocker | Minicurso Gratuito - Azure na Prática
Docker | Minicurso Gratuito - Azure na PráticaRenato Groff
 
Docker: Onde vivem? Do que se alimentam?
Docker: Onde vivem? Do que se alimentam?Docker: Onde vivem? Do que se alimentam?
Docker: Onde vivem? Do que se alimentam?Adriano Righi
 
Monitoramento de containers Docker
Monitoramento de containers DockerMonitoramento de containers Docker
Monitoramento de containers DockerJosé Barbosa
 
[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 DockerAécio Pires
 
Apresentação sobre blockchain, executada no mestrado de ciencia da computação
Apresentação sobre blockchain, executada no mestrado de ciencia da computaçãoApresentação sobre blockchain, executada no mestrado de ciencia da computação
Apresentação sobre blockchain, executada no mestrado de ciencia da computaçãoManoelGuilherme2
 
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019Renato Groff
 
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...Renato Groff
 

Semelhante a Docker - Um capitulo à parte (20)

Curso de Verão - Aula 02 - Orquestração de Contêineres
Curso de Verão - Aula 02 - Orquestração de ContêineresCurso de Verão - Aula 02 - Orquestração de Contêineres
Curso de Verão - Aula 02 - Orquestração de Contêineres
 
Introdução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdfIntrodução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdf
 
Container revolucao
Container revolucaoContainer revolucao
Container revolucao
 
Docker.io:
Docker.io: Docker.io:
Docker.io:
 
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 de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
 
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018
 
.Net Core + Docker
.Net Core +  Docker.Net Core +  Docker
.Net Core + Docker
 
Simplificando a montagem de ambientes de Dev/Testes com Docker - Interop Summ...
Simplificando a montagem de ambientes de Dev/Testes com Docker - Interop Summ...Simplificando a montagem de ambientes de Dev/Testes com Docker - Interop Summ...
Simplificando a montagem de ambientes de Dev/Testes com Docker - Interop Summ...
 
Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020
Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020
Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020
 
Alagoas Dev Day
Alagoas Dev DayAlagoas Dev Day
Alagoas Dev Day
 
Containers em produção!
Containers em produção!Containers em produção!
Containers em produção!
 
Docker | Minicurso Gratuito - Azure na Prática
Docker | Minicurso Gratuito - Azure na PráticaDocker | Minicurso Gratuito - Azure na Prática
Docker | Minicurso Gratuito - Azure na Prática
 
Docker: Onde vivem? Do que se alimentam?
Docker: Onde vivem? Do que se alimentam?Docker: Onde vivem? Do que se alimentam?
Docker: Onde vivem? Do que se alimentam?
 
Monitoramento de containers Docker
Monitoramento de containers DockerMonitoramento de containers Docker
Monitoramento de containers Docker
 
Flisol 2015
Flisol 2015 Flisol 2015
Flisol 2015
 
[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
 
Apresentação sobre blockchain, executada no mestrado de ciencia da computação
Apresentação sobre blockchain, executada no mestrado de ciencia da computaçãoApresentação sobre blockchain, executada no mestrado de ciencia da computação
Apresentação sobre blockchain, executada no mestrado de ciencia da computação
 
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019
 
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...
 

Mais de Maurício Harley

Privacidade de Dados - GDPR, Mundo e Brasil
Privacidade de Dados - GDPR, Mundo e BrasilPrivacidade de Dados - GDPR, Mundo e Brasil
Privacidade de Dados - GDPR, Mundo e BrasilMaurício Harley
 
DevOps CE - Containers, DevOps e Cloud Security
DevOps CE - Containers, DevOps e Cloud SecurityDevOps CE - Containers, DevOps e Cloud Security
DevOps CE - Containers, DevOps e Cloud SecurityMaurício Harley
 
Fuzzing com ZAP (Zed Attack Proxy)
Fuzzing com ZAP (Zed Attack Proxy)Fuzzing com ZAP (Zed Attack Proxy)
Fuzzing com ZAP (Zed Attack Proxy)Maurício Harley
 
AWS - Conceitos, Segurança e Demonstração
AWS - Conceitos, Segurança e DemonstraçãoAWS - Conceitos, Segurança e Demonstração
AWS - Conceitos, Segurança e DemonstraçãoMaurício Harley
 
FirePOWER contra Ransomware - Comunidade Cisco
FirePOWER contra Ransomware - Comunidade CiscoFirePOWER contra Ransomware - Comunidade Cisco
FirePOWER contra Ransomware - Comunidade CiscoMaurício Harley
 
Ransomware - Conceitos e Prevenção
Ransomware - Conceitos e PrevençãoRansomware - Conceitos e Prevenção
Ransomware - Conceitos e PrevençãoMaurício Harley
 
Volatility Framework como Ferramenta de Análise Forense
Volatility Framework como Ferramenta de Análise ForenseVolatility Framework como Ferramenta de Análise Forense
Volatility Framework como Ferramenta de Análise ForenseMaurício Harley
 
Certificação – E Agora?
Certificação – E Agora?Certificação – E Agora?
Certificação – E Agora?Maurício Harley
 

Mais de Maurício Harley (8)

Privacidade de Dados - GDPR, Mundo e Brasil
Privacidade de Dados - GDPR, Mundo e BrasilPrivacidade de Dados - GDPR, Mundo e Brasil
Privacidade de Dados - GDPR, Mundo e Brasil
 
DevOps CE - Containers, DevOps e Cloud Security
DevOps CE - Containers, DevOps e Cloud SecurityDevOps CE - Containers, DevOps e Cloud Security
DevOps CE - Containers, DevOps e Cloud Security
 
Fuzzing com ZAP (Zed Attack Proxy)
Fuzzing com ZAP (Zed Attack Proxy)Fuzzing com ZAP (Zed Attack Proxy)
Fuzzing com ZAP (Zed Attack Proxy)
 
AWS - Conceitos, Segurança e Demonstração
AWS - Conceitos, Segurança e DemonstraçãoAWS - Conceitos, Segurança e Demonstração
AWS - Conceitos, Segurança e Demonstração
 
FirePOWER contra Ransomware - Comunidade Cisco
FirePOWER contra Ransomware - Comunidade CiscoFirePOWER contra Ransomware - Comunidade Cisco
FirePOWER contra Ransomware - Comunidade Cisco
 
Ransomware - Conceitos e Prevenção
Ransomware - Conceitos e PrevençãoRansomware - Conceitos e Prevenção
Ransomware - Conceitos e Prevenção
 
Volatility Framework como Ferramenta de Análise Forense
Volatility Framework como Ferramenta de Análise ForenseVolatility Framework como Ferramenta de Análise Forense
Volatility Framework como Ferramenta de Análise Forense
 
Certificação – E Agora?
Certificação – E Agora?Certificação – E Agora?
Certificação – E Agora?
 

Docker - Um capitulo à parte

  • 1. Docker – Um capítulo à parte MAURÍCIO HARLEY MAIO DE 2018
  • 2. https://itHarley.com Agenda • Virtualização; • Histórico sobre Containers; • Conceitos Gerais; • Demo; • Dicas de Leitura; • Bônus: o que vem “depois”? 2
  • 3. https://itHarley.com Quem é você? • MBA em Gerenciamento de Projetos deTI – Faculdade Farias Brito; • Bacharel em Engenharia Elétrica – UFC; • Tecnológo emTelemática – FIC/Estácio; • Técnico em Informática Industrial – ETFCE/CEFET-CE/IFCE; • 2x CCIE (Routing & Switching, Service Provider), CISSP; • VCIX-NV (Vmware NSX), MCSECloud Platform,VCP6-DCV, JNCIA-Cloud, ITIL v3; • Ex-membro do Cisco Data CenterTigerTeam; • Áreas de especialidade: Cyber Security, DataCenter, Cloud Computing, Routing & Switching, Service Provider; • Colaborador regular da PenTest Magazine e da Hakin9; • Arquiteto de CloudComputing e Cyber Security na HX Brasil; • Palestrante de temas diversos emTecnologia da Informação; • Mais de 20 anos de experiência emTI. 3
  • 5. https://itHarley.com Virtualização • Quando e como começou? • Década de 1960; • Mainframes; • Sistema de compartilhamento de tempo para processamento de tarefas; • Alterações foram realizadas no sistema operacional; • Cada usuário passou a receber uma “máquina virtual”, que dava a ele a impressão de estar acessando o computador central; • A tecnologia evoluiu ao longo do tempo, permitindo a possibilidade de criar clusters de computadores para determinadas atividades; • AVMware portou essa capacidade para servidores x86. 5
  • 7. https://itHarley.com O que pode ser virtualizado em TI? • Hardware • VMware vSphere ou Microsoft Hyper-V • Storage • Dell Compellent ou FreeNAS • Rede • VLANs eVRFs • Aplicação • Citrix XenApp ouVMwareThinApp • Desktop • Microsoft Remote Desktop Services (RDS) ou Citrix XenDesktop 7
  • 8. https://itHarley.com Focando em virtualização de hardware • Tipos deVirtualização de Servidores • Tipo 1 • Tipo 2 8
  • 9. https://itHarley.com Exemplos de Virtualizadores • Tipo 1, também chamados de hypervisors • Microsoft Hyper-V; • VMware ESXi • O que é o vSphere??? • vSphere é apenas a suíte composta por ESXi + vCenter. • XenServer (Citrix ou open source); • KVM + QEMU + libvirt; • bhyve e xhyve. 9
  • 10. https://itHarley.com Exemplos de Virtualizadores (cont.) • Tipo 2 (dependem do sistema operacional host) • MicrosoftVirtual PC (descontinuado); • VMwareWorkstation; • VMware Player; • VMware Fusion; • OracleVirtualbox; • Parallels Desktop. 10
  • 12. https://itHarley.com Antes de mais nada... O que são containers, no “mundo real”? 12
  • 14. https://itHarley.com Breve Histórico • Containers não começaram com Docker! • Década de 1970: UnixV7; • 2000: Jails no FreeBSD; • 2001: VServer no Linux (ao mesmo estilo dos Jails); • 2002: Virtuozzo; • 2004: Oracle Solaris Containers; • 2005: OpenVZ; 14
  • 15. https://itHarley.com Breve Histórico (cont.) • 2006: Process Containers; • 2008: LXC (Linux Containers) ; • 2011: Warden; • 2013: LMCTFY (Let Me ContainThat ForYou); • 2013: Docker; • Quem criou o Docker? • A Docker Inc., certo? • Sim e não! O software foi criado em 2010 pela dotCloud, uma empresa de PaaS; • Ela foi comprada pela Docker Inc. em 2013, ano em que o produto foi liberado como open source. 15
  • 16. https://itHarley.com Breve Histórico (cont.) • 2014: CoreOS lança o rkt, sua versão de containers; • 2017: produto se torna plenamente maduro; • 2017: Kubernetes dá um boom ao mundo de containers • Kubernetes suporta Docker e rkt; • AWS e Microsoft anunciam suporte pleno à plataforma; • Google já a suporta desde o lançamento, e a usa internamente em todos os serviços da GCP (GoogleCloud Platform). 16
  • 18. https://itHarley.com Conceitos Gerais • Containers, emTI, são: • Estruturas isoladas para execução de aplicativos e serviços em um espaço de memória próprio; • Ambiente mínimo de execução de aplicações, aproveitando-se do compartilhamento de um mesmo sistema operacional, o que permite usar as bibliotecas e chamadas de kernel (syscalls) desse sistema; • Mecanismos de se aproveitar de um repositório central, conhecido como “registry”, responsável por armazenar imagens que são usadas como base para instanciamento dos mesmos. 18
  • 21. https://itHarley.com Conceitos Gerais (cont.) • 1: Hypervisor tipo 2 comVMs; • 2: Hypervisor tipo 2 comVMs. Uma tem o Docker; • 3: Docker instalado diretamente no sistema operacional do servidor; • 4: Hypervisor tpio 1 comVMs. Uma tem o Docker. 21
  • 22. https://itHarley.com Conceitos Gerais (cont.) • Componentes do Docker • Docker Engine 22
  • 23. https://itHarley.com Conceitos Gerais (cont.) • Componentes do Docker • Docker Engine (cont.) 23
  • 24. https://itHarley.com Conceitos Gerais (cont.) • Componentes do Docker • Docker Machine 24
  • 26. https://itHarley.com Conceitos Gerais (cont.) • Docker Machine foi a primeira forma de fazer containers Linux rodar em sistemas não-Linux; • Quando necessitando de containers Docker em sistemas assim (Windows ou macOS), a recomendação é usar a respectiva versão do software para a plataforma: • Docker forWindows; • Docker for macOS. • Docker forWindows usa Hyper-V; • Docker for macOS usa HyperKit (xhyve); • São opções com hypervisor do tipo 1! 26
  • 27. https://itHarley.com Conceitos Gerais (cont.) • Componentes do Docker • Docker Compose 27
  • 28. https://itHarley.com Conceitos Gerais (cont.) • Componentes do Docker • Docker Registry 28
  • 29. https://itHarley.com Conceitos Gerais (cont.) • Componentes do Docker • Docker Registry 29
  • 30. https://itHarley.com Conceitos Gerais (cont.) • E quando se tem muitos containers, o que fazer para gerenciá-los? • Criar um cluster de Docker Swarm! • Cada host que executa o Docker daemon (server) é eleito como membro do cluster; • Um deles é definido como mestre, e se torna responsável pela alocação de containers nele mesmo e nos outros hosts; • Numa situação de falha do mestre, um outro membro do cluster é eleito novo mestre. • Ok, mas e se forem dezenas, centenas, milhares de containers??? • Kubernetes (k8s)! • Orquestrador de ambientes de micro serviços; • Gerencia não só os containers em si, mas os hosts, a rede e o storage envolvidos; • Criado inicialmente pelo Google para uso próprio, mas liberado como open source em 2014. 30
  • 31. https://itHarley.com Conceitos Gerais (cont.) • Docker Hub • Repositório público ou privado para você armazenar suas imagens. • Docker Store • Marketplace (a exemplo de AWS, Google e Microsoft) para ter acesso às imagens de outras empresas. Parceiros do ecossistema Docker oferecem aqui seus produtos. • Orquestração de Containers na Nuvem • Google Cloud Platform Kubernetes; • AWS ECS (ElasticContainer Service); • MicrosoftAKS (Azure Kubernetes Service). 31
  • 35. https://itHarley.com Links para referência • https://itHarley.com/a-b-c-docker-capitulo-1 • https://www.docker.com • https://kubernetes.io • https://coreos.com • https://blog.docker.com/2016/03/containers-are-not-vms/ • https://www.networkworld.com/article/2254433/virtualization/with-long-history-of-virtualization- behind-it--ibm-looks-to-the-future.html • http://www.techadvisory.org/2016/01/5-different-types-of-virtualization/ • https://searchservervirtualization.techtarget.com/feature/A-brief-history-of-Docker-Containers- overnight-success • https://blog.aquasec.com/a-brief-history-of-containers-from-1970s-chroot-to-docker-2016 35
  • 36. Bônus: o que vem “depois”? 36
  • 37. https://itHarley.com Serverless Computing • Está relacionada com computação em nuvem; • Abstração completa de infraestrutura, sistema operacional, framework, ou qualquer outro componente interno; • Dispensa provisionamento de qualquer servidor; • Funções! • Perfeitamente integrável com microserviços (containers); • Interação é feita através de APIs. 37
  • 38. https://itHarley.com Serverless Computing (cont.) • Pode ser usada com runtimes ou com bases de dados; • Nos runtimes, é preciso que a linguagem de programação seja suportada • Python, Node.JS, C#, Go, Java, ... • AWS Lambda, Azure Functions, Google Functions; • IBM lançou o OpenWhisk como open source • É atualmente sub-projeto da Apache Foundation; • Suporta Node.JS, Python, Java e Swift. • OpenFaaS (Function as a Service) é outra solução open source • Focada em Docker e Kubernetes. 38
  • 39. https://itHarley.com Serverless Computing (cont.) • Também eliminam a necessidade de provisionamento dos respectivos bancos de dados; • É usado o conceito de lago de dados (data lake), uma definição proveniente de Big Data • Bases de tamanhos absurdamente grandes e com alto desempenho. • Exemplos de produtos são oAWS Aurora, o Azure Data Lake, Google Cloud Datastore; • Opção independente: FaunaDB (baseada em tecnologia doTwitter). 39

Notas do Editor

  1. Unix V7: chroot; Jails: criação de ambientes independentes, com memória, sistema de arquivos e rede separados; VServer: exatamente a mesma coisa do Jails, mas para Linux; Virtuozzo: criava VPSs isolados em servidores bare metal, mas só podiam executar um determinado SO guest (ou apenas Windows ou apenas Linux); Solaris: controles de separação se baseavam em zonas, o que permitia criação de snapshots e clones para o ZFS; OpenVZ: idêntico ao Virtuozzo, mas sob a licença GPL.
  2. Process Containers: projeto do Google – limitar e isolar conjunto de recursos (CPU, memória, disco, rede) de um conjunto de processo. Virou cgroups em 2007; LXC: primeiro esboço do conceito de containers. Usava cgroups e kernel namespaces; Warden: foi baseado no LXC, mas usava uma implementação própria para rodar como daemon e apresentar uma API; LMCTFY: iniciou como uma alternativa open-source ao projeto de containers do Google, possibilitando que aplicações em Linux criassem seus próprios containers.