SlideShare ist ein Scribd-Unternehmen logo
1 von 58
Downloaden Sie, um offline zu lesen
Beers & Bytes - 7ª Edição
Docker
E o futuro da infraestrutura Moderna
Apresentação pessoal
Carlos Smanitto - Nerd, apaixonado por tecnologia
Gerente de Infra - VivaReal
Objetivo
Demonstrar como a utilização da tecnologia Docker
pode ser empregada como uma proposta interessante
de crescimento estratégico em IT, principalmente em
ambiente DevOps.
Historia…
Vamos revisar um pouco a história…
História
Alan Turing, Matemático e Ninja
computacional e Pai da computação
moderna.
Em 1950 - Previu que na virada do
século os computadores teriam
memória na casa do 1GB.
História
Gordon Moore, co-founder da Intel.
Em meados de 1965, declarou que a
cada 18 meses a capacidade de
processamento dobra enquanto o custo
permanece constante.
Da qui 1 ano e meio, será possível
comprar o dobro de potência
computacional com mesmo preço do
valor corrente.
História
APPLE II
Lançado em 1977, possuía 64KB de
RAM com 1MHz de CPU de 8-bits :)
História
Carl Anderson, cientista da IBM.
Declarou em 2010 que a lei de Moore
chegaria ao fim provavelmente em
2015.
História
MOTIVO:
Pesquisa para novos processadores
cada vez mais $$$$$
Engenharia de Software = Cada vez
mais otimizada :)
Questão
Mas… precisamos mesmo dobrar ou evoluir nosso poder de
processamento ?
continuando….
Transição
Parece familiar ?
Em 1995 aplicação em grande
totalidade Client Side - Geração Clipper
Em 2010 aplicação baseando em
cliente/servidor - Delphi + Oracle
1995
2010	(Bum	da	Internet	)
Transição
Internautas	em	milhões
0
17.5
35
52.5
70
1997 1999 2001 2003 2005 2009
67
25.9
14.3212.04
6.79
1.15
Crescimento	da	Internet	-	Brasil
Fonte:	Instituto	World	Stats	e	Instituto	diversos	-	abril/2008
Transição
Começa então o nascimento dos grandes centros de
processamento, ou seja, datacenters :)
EM Hardware - Latão
Datacenters
Setor investe 5% ao ano em melhoria.
Existem hoje 7.5 milhões de DCs no
mundo: privado, militares, provedores,
etc.
Isso equivale a mais de 200 milhões
de servidores espalhados pelo mundo.
Fonte:	IDC	e	Symantec	2012
Datacenters
Em 2020 serão 35 Zettabytes de dados
entre fotos, vídeos e documentos.
44x mais dados do que em 2009, 0.8
Zettabytes.
Colinha: Gigabyte, Terabyte, Petabyte, ZettaByte
Fonte:	IDC	-	2010
Datacenters
Problema: Consumo energético
Consumo de um DC: Calcula-se em kva
/ hora.
1 KVA = 800 Watts = 14 lâmpadas
acessas
Fonte:	IDC	-	2010
Datacenters
Climatização	=	37%
Equipamentos	=	32%
NO-Break = 8%
Iluminação = 8%
Gerador = 10%
Outros = 5%
Entrada de
Energia
CalorinternodoDC
Datacenters
Em um datacenter, 44% do TCO é
gasto com energia elétrica.
Estudo de 2010 da Universidade de
Stanford afirma que 1.2% de toda
energia produzida no EUA vai para
alimentar os DCs existentes.
Fonte:	IDC	-	2010
Datacenters
Problema: Mal uso de processamento
Dos 100% de processamento, segundo
pesquisa americana financiada pela
IDC - Usa-se apenas 15% do
processamento, 85% da máquina fica
OCISA!!!
Fonte:	IDC	-	2010
Datacenters
Conclusão:
Quer dizer que existem praticamente
200 milhões de servidores utilizando
a p e n a s 1 5 % d o p o d e r d e
processamento gastando energia
elétrica desnecessariamente ???
Fonte:	IDC	-	2010
Datacenters
REFRIGERAÇÃO
GERENCIAMENTO
ENERGIA
INSTALAÇÃO
CARGA	
DE	TI
Datacenters
Solução:
U t i l i z a r - s e d e u m c o n c e i t o
desenvolvido em 1960 para dividir
recursos de sistema de forma lógica
entre Mainframes para atender
diferentes aplicações, ou seja,
VIRTUALIZAÇÃO.
Fonte:	IDC	-	2010
Virtualização
Primeiro objetivo é reduzir fisicamente a
quantidade de servidores existentes.
Diminui o TCO no geral em 35%.
1 - Redução do consumo elétrico.
2 - Redução do gerenciamento.
3 - Redução da refrigeração.
Concentrando várias máquinas virtuais
em uma única máquina física.
Fonte:	IDC	-	2010
Virtualização
Segundo a Gartner
Em 2008 12 % dos ambientes eram
virtuais
Em 2014 esse número já era maior
que 60%
Virtualização
Sendo assim, não existe Cloud sem
virtualização, então…
Evolução de ilhas isoladas para polo de
recursos virtuais interconectadas
- Maximizar eficiência
- Reduzir custo
Questões
1 - Mas a virtualização realmente resolve o problema
de subutilização de processamento ?
2 - E como fazer deploy entre diferentes tecnologias de
cloud com diversas ferramentas de virtualização ?
Resposta…
AWS - Cost Optimization - Truted Advisor
Virtualizar resolve parcialmente o problema:
energético ok mas não a subutilização.
Resposta…
Docker
Docker é uma plataforma OpenSource para developers e sysadmin que
permite construir um pacote conhecido pelo nome de container, constituído
por uma distribuição linux sistema operacional + aplicação.
Uma máquina consegue executar vários containers diferentes de forma
organizada e separada dentro de um computador anfitrião de forma
semelhante aos que ocorre na virtualização tradicional.
COM MAIS PODER E MAIS FLEXIBILIDADE :)
Docker
O Docker é constituído por duas ferramentas:
1 - Docker Engine: Responsável pela criação, empacotamento e execução
Arquitetura cliente / server (Possível administrar remotamente)
2- Docker Hub: Serviço nas nuvens para o compartilhamento das
aplicações criadas em Docker.
Integrado com Git :)
Docker
Como assim ?
No mundo Docker, você não tem mais uma aplicação que roda em Ubuntu,
por exemplo. Você tem um contêiner que representa tudo isso!
E qual a vantagem disso ?
Docker
? ? ? ?
? ? ? ?
? ? ? ?
? ? ? ?
Como eu resolvo esse problema de
logística ?
Docker
Docker
Docker
Containers foram feitos para serem transportados entre diferentes tipos de
tecnologia.
Docker
Mobilidade :)
Docker
Mas é só isso ?
Construir um contêiner
Dockerfile
Infraestrutura em código :)
Construir um container
FROM centos:centos6
MAINTAINER Carlos Smaniotto carlos.smaniotto@vivareal.com
ENV EPEL_URL http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm tar
ENV BASELINE_PACK tar openssh-server openssh-clients unzip vim yum-utils git golang wget
ENV ORA_URL http://download.oracle.com/otn-pub/java/jdk/8u5-b13/jdk-8u5-linux-x64.rpm
RUN yum install -y $EPEL_URL $BASELINE_PACK
#install oracle java
RUN wget --no-cookies --no-check-certificate --header "Cookie: oraclelicense=accept-securebackup-cookie" 
"$ORA_URL" -O /var/tmp/jdk-8-linux-x64.rpm && yum localinstall -y /var/tmp/jdk-8-linux-x64.rpm && 
rm /var/tmp/* -rf && yum clean all
ENV JAVA_HOME /usr/java/default
Dockerfile
Infraestrutura em código :)
Construir um container - Herança
Podemos usar um container para criar um outro
container
FROM centos/6:5
…
FROM carlos.smaniotto/centos:java7
…
carlos.smaniotto/centos:java7
Construir um contêiner
AuFS
Versionamento de um container
Como isso é possível ?
AuFS - Advanced multi layered unification filesystem
Permite fazer merge de layers
Como isso é possível ?
Como isso é possível ?
Arquitetura
Docker
O Docker utiliza subsistemas do Kernel Linux Host que permitem rodar
somente a parte que interessa do Guest OS e compartilhar parte dos
recursos do kernel do sistema operacional Host.
Um dos projetos precursor para isso foi o LXC - IBM, Google, Parallels
entre outros.


O LXC é uma técnica de virtualização de nível baixo, camada de Kernel.
Usando para isso subsistemas como cgroups, namespaces.
Colinha: Host é o SO que esta no hardware e Guest é o virtual
Docker
RESUMINDO: Permite que recursos, libs e configurações sejam
“aprisionados” em um path e isolados
+…
Com a ajuda do AuFS.
O Docker funciona como uma camada sobre o LXC. Atualmente estão
desenvolvendo uma arquitetura de acesso direto aos subsistemas de
kernel: libcontainer
Colinha: Host é o SO que esta no hardware e Guest é o virtual
Docker
Logo… container é um grupo de processos isolados em um BOX Linux
gravados em um arquivo gerenciado pelo AuFS, o que permite inclusive
versionamento deste arquivo.
Para quem conhece chroot é um chroot com esteroides.
Docker
Virtualização	tradicional
Linux	Conteiner	
Docker
Docker
Docker
Docker
Vantagem
Docker
Qual a vantagem disso ?


Extremamente rápido: inclusive no startup do container.
Isola o sistema: chroot e processo único.
Fácil replicação: é só pegar a imagem, subir em outro ambiente e mandar
rodar o container dessa imagem.
Versionamento: Posso ter diferentes versões de minha aplicação
completa
Docker
Preparo Deploy	
Manual
Deploy	
Automático
Tempo	de	
boot
Hardware	Físico dias horas minutos minutos
Virtualização minutos minutos segundos menos	de	1	
minuto
Containers segundos minutos segundos segundos
Portanto… benefícios
• Portabilidade: Mesmo resultado em qualquer lugar
• Versionamento: Like Git - commit/push
• Compartilhamento: É possível compartilhar um container
• Reusabilidade: Você pode fazer um fork de um container para
atividades distintas.
• Desenvolvimento: Aplicação amarrada à "máquina"!
Revisão da Virtualização
Primeira onda: Década de 60 em mainframe, o nome foi abstraído por um
outro nome: sistema multi-tarefa.
Segunda onda: Começo de 2000 - Virtual Machines até os dias de hoje
Terceira onda: Iniciada fortemente no começo de 2014 com o projeto LXC.
Container de aplicação.
Conclusão
Nesta terceira onda, chamada de virtualização em containers, resolvemos
um problema que a segunda onda sozinha não consegue resolver.
Adicionalmente, gera flexibilidade que as VMs tradicionais não
conseguem, ou seja, mobilidade.
VM + Container = <3
OBRIGADO

Weitere ähnliche Inhalte

Was ist angesagt?

Docker - minicurso utfpr 2017
Docker -  minicurso utfpr 2017Docker -  minicurso utfpr 2017
Docker - minicurso utfpr 2017Fabio Janiszevski
 
Usp codelabs (docker)
Usp codelabs (docker)Usp codelabs (docker)
Usp codelabs (docker)TechCobli
 
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
 
Introdução a Containers Docker
Introdução a Containers DockerIntrodução a Containers Docker
Introdução a Containers DockerMatheus Fidelis
 
Vagrant & Docker: carregue seus ambientes no bolso
Vagrant & Docker: carregue seus ambientes no bolsoVagrant & Docker: carregue seus ambientes no bolso
Vagrant & Docker: carregue seus ambientes no bolsoDiogo Lucas
 
Primeiros passos com o Docker
Primeiros passos com o DockerPrimeiros passos com o Docker
Primeiros passos com o DockerWebSix
 
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
 
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
 
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
 
TDC 2015 POA - O Fantástico Mundo de Docker
TDC 2015 POA - O Fantástico Mundo de DockerTDC 2015 POA - O Fantástico Mundo de Docker
TDC 2015 POA - O Fantástico Mundo de DockerStefan Teixeira
 
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
 
Open Virtualization - Virtualização em Software Livre
Open Virtualization - Virtualização em Software LivreOpen Virtualization - Virtualização em Software Livre
Open Virtualization - Virtualização em Software LivreFrederico Madeira
 

Was ist angesagt? (20)

Boteco Xen
Boteco XenBoteco Xen
Boteco Xen
 
Bem vindo ao Docker
Bem vindo ao DockerBem vindo ao Docker
Bem vindo ao Docker
 
Docker - minicurso utfpr 2017
Docker -  minicurso utfpr 2017Docker -  minicurso utfpr 2017
Docker - minicurso utfpr 2017
 
Usp codelabs (docker)
Usp codelabs (docker)Usp codelabs (docker)
Usp codelabs (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
 
Apresentação docker
Apresentação dockerApresentação docker
Apresentação docker
 
containers-workshop
containers-workshopcontainers-workshop
containers-workshop
 
Introdução a Containers Docker
Introdução a Containers DockerIntrodução a Containers Docker
Introdução a Containers Docker
 
Vagrant & Docker: carregue seus ambientes no bolso
Vagrant & Docker: carregue seus ambientes no bolsoVagrant & Docker: carregue seus ambientes no bolso
Vagrant & Docker: carregue seus ambientes no bolso
 
Primeiros passos com o Docker
Primeiros passos com o DockerPrimeiros passos com o Docker
Primeiros passos com o Docker
 
Docker, facilitando a vida do desenvolvimento
Docker, facilitando a vida do desenvolvimentoDocker, facilitando a vida do desenvolvimento
Docker, facilitando a vida do desenvolvimento
 
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...
 
Introdução à plataforma Docker
Introdução à plataforma DockerIntrodução à plataforma Docker
Introdução à plataforma 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)
 
Introdução ao docker
Introdução ao dockerIntrodução ao docker
Introdução ao docker
 
O que é Docker?
O que é Docker?O que é Docker?
O que é Docker?
 
TDC 2015 POA - O Fantástico Mundo de Docker
TDC 2015 POA - O Fantástico Mundo de DockerTDC 2015 POA - O Fantástico Mundo de Docker
TDC 2015 POA - O Fantástico Mundo de Docker
 
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
 
Open Virtualization - Virtualização em Software Livre
Open Virtualization - Virtualização em Software LivreOpen Virtualization - Virtualização em Software Livre
Open Virtualization - Virtualização em Software Livre
 
Olá docker
Olá dockerOlá docker
Olá docker
 

Ähnlich wie Beers & Bytes - O Futuro da virtualização

Orchestrando na linha
Orchestrando na linhaOrchestrando na linha
Orchestrando na linhamatheuscmpm
 
Apresentação Docker
Apresentação DockerApresentação Docker
Apresentação DockerAndré Justi
 
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)Caio Candido
 
Introdução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdfIntrodução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdfdadalt1
 
Docker Everywhere - MTAC Week
Docker Everywhere - MTAC WeekDocker Everywhere - MTAC Week
Docker Everywhere - MTAC WeekLuiz Carlos Faria
 
Container revolucao
Container revolucaoContainer revolucao
Container revolucaoFernando Ike
 
Containers com docker #CPRecife4
Containers com docker #CPRecife4Containers com docker #CPRecife4
Containers com docker #CPRecife4David Ruiz
 
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
 
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 DevelopersDextra Sistemas / Etec Itu
 
Containers em produção!
Containers em produção!Containers em produção!
Containers em produção!Evandro Couto
 
Orquestrando ambientes com docker e kubernetes
Orquestrando ambientes com docker e kubernetes	Orquestrando ambientes com docker e kubernetes
Orquestrando ambientes com docker e kubernetes Rhuan Karlus Silva
 
Containers, Kubernetes e porque estamos falando tanto disso…
Containers, Kubernetes e porque estamos falando tanto disso…Containers, Kubernetes e porque estamos falando tanto disso…
Containers, Kubernetes e porque estamos falando tanto disso…Paulo Lacerda
 
Re pensando-virtualização-através-linux containers
Re pensando-virtualização-através-linux containersRe pensando-virtualização-através-linux containers
Re pensando-virtualização-através-linux containersFrancisco Gonçalves
 

Ähnlich wie Beers & Bytes - O Futuro da virtualização (20)

Docker
DockerDocker
Docker
 
Orchestrando na linha
Orchestrando na linhaOrchestrando na linha
Orchestrando na linha
 
Apresentação Docker
Apresentação DockerApresentação Docker
Apresentação Docker
 
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)
 
Introdução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdfIntrodução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdf
 
Docker Everywhere - MTAC Week
Docker Everywhere - MTAC WeekDocker Everywhere - MTAC Week
Docker Everywhere - MTAC Week
 
Container revolucao
Container revolucaoContainer revolucao
Container revolucao
 
Conheça o Docker
Conheça o DockerConheça o Docker
Conheça o Docker
 
Workshop Docker
Workshop DockerWorkshop Docker
Workshop Docker
 
Containers com docker #CPRecife4
Containers com docker #CPRecife4Containers com docker #CPRecife4
Containers com docker #CPRecife4
 
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
 
Usando Docker no desenvolvimento .NET
Usando Docker no desenvolvimento .NETUsando Docker no desenvolvimento .NET
Usando Docker no desenvolvimento .NET
 
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
 
Docker.io:
Docker.io: Docker.io:
Docker.io:
 
Docker para maiores
Docker para maioresDocker para maiores
Docker para maiores
 
Containers em produção!
Containers em produção!Containers em produção!
Containers em produção!
 
Orquestrando ambientes com docker e kubernetes
Orquestrando ambientes com docker e kubernetes	Orquestrando ambientes com docker e kubernetes
Orquestrando ambientes com docker e kubernetes
 
Mini-curso CUDA
Mini-curso CUDAMini-curso CUDA
Mini-curso CUDA
 
Containers, Kubernetes e porque estamos falando tanto disso…
Containers, Kubernetes e porque estamos falando tanto disso…Containers, Kubernetes e porque estamos falando tanto disso…
Containers, Kubernetes e porque estamos falando tanto disso…
 
Re pensando-virtualização-através-linux containers
Re pensando-virtualização-através-linux containersRe pensando-virtualização-através-linux containers
Re pensando-virtualização-através-linux containers
 

Beers & Bytes - O Futuro da virtualização

  • 1. Beers & Bytes - 7ª Edição
  • 2. Docker E o futuro da infraestrutura Moderna
  • 3. Apresentação pessoal Carlos Smanitto - Nerd, apaixonado por tecnologia Gerente de Infra - VivaReal
  • 4. Objetivo Demonstrar como a utilização da tecnologia Docker pode ser empregada como uma proposta interessante de crescimento estratégico em IT, principalmente em ambiente DevOps.
  • 5. Historia… Vamos revisar um pouco a história…
  • 6. História Alan Turing, Matemático e Ninja computacional e Pai da computação moderna. Em 1950 - Previu que na virada do século os computadores teriam memória na casa do 1GB.
  • 7. História Gordon Moore, co-founder da Intel. Em meados de 1965, declarou que a cada 18 meses a capacidade de processamento dobra enquanto o custo permanece constante. Da qui 1 ano e meio, será possível comprar o dobro de potência computacional com mesmo preço do valor corrente.
  • 8. História APPLE II Lançado em 1977, possuía 64KB de RAM com 1MHz de CPU de 8-bits :)
  • 9. História Carl Anderson, cientista da IBM. Declarou em 2010 que a lei de Moore chegaria ao fim provavelmente em 2015.
  • 10. História MOTIVO: Pesquisa para novos processadores cada vez mais $$$$$ Engenharia de Software = Cada vez mais otimizada :)
  • 11. Questão Mas… precisamos mesmo dobrar ou evoluir nosso poder de processamento ? continuando….
  • 12. Transição Parece familiar ? Em 1995 aplicação em grande totalidade Client Side - Geração Clipper Em 2010 aplicação baseando em cliente/servidor - Delphi + Oracle 1995 2010 (Bum da Internet )
  • 13. Transição Internautas em milhões 0 17.5 35 52.5 70 1997 1999 2001 2003 2005 2009 67 25.9 14.3212.04 6.79 1.15 Crescimento da Internet - Brasil Fonte: Instituto World Stats e Instituto diversos - abril/2008
  • 14. Transição Começa então o nascimento dos grandes centros de processamento, ou seja, datacenters :) EM Hardware - Latão
  • 15. Datacenters Setor investe 5% ao ano em melhoria. Existem hoje 7.5 milhões de DCs no mundo: privado, militares, provedores, etc. Isso equivale a mais de 200 milhões de servidores espalhados pelo mundo. Fonte: IDC e Symantec 2012
  • 16. Datacenters Em 2020 serão 35 Zettabytes de dados entre fotos, vídeos e documentos. 44x mais dados do que em 2009, 0.8 Zettabytes. Colinha: Gigabyte, Terabyte, Petabyte, ZettaByte Fonte: IDC - 2010
  • 17. Datacenters Problema: Consumo energético Consumo de um DC: Calcula-se em kva / hora. 1 KVA = 800 Watts = 14 lâmpadas acessas Fonte: IDC - 2010
  • 18. Datacenters Climatização = 37% Equipamentos = 32% NO-Break = 8% Iluminação = 8% Gerador = 10% Outros = 5% Entrada de Energia CalorinternodoDC
  • 19. Datacenters Em um datacenter, 44% do TCO é gasto com energia elétrica. Estudo de 2010 da Universidade de Stanford afirma que 1.2% de toda energia produzida no EUA vai para alimentar os DCs existentes. Fonte: IDC - 2010
  • 20. Datacenters Problema: Mal uso de processamento Dos 100% de processamento, segundo pesquisa americana financiada pela IDC - Usa-se apenas 15% do processamento, 85% da máquina fica OCISA!!! Fonte: IDC - 2010
  • 21. Datacenters Conclusão: Quer dizer que existem praticamente 200 milhões de servidores utilizando a p e n a s 1 5 % d o p o d e r d e processamento gastando energia elétrica desnecessariamente ??? Fonte: IDC - 2010
  • 23. Datacenters Solução: U t i l i z a r - s e d e u m c o n c e i t o desenvolvido em 1960 para dividir recursos de sistema de forma lógica entre Mainframes para atender diferentes aplicações, ou seja, VIRTUALIZAÇÃO. Fonte: IDC - 2010
  • 24. Virtualização Primeiro objetivo é reduzir fisicamente a quantidade de servidores existentes. Diminui o TCO no geral em 35%. 1 - Redução do consumo elétrico. 2 - Redução do gerenciamento. 3 - Redução da refrigeração. Concentrando várias máquinas virtuais em uma única máquina física. Fonte: IDC - 2010
  • 25. Virtualização Segundo a Gartner Em 2008 12 % dos ambientes eram virtuais Em 2014 esse número já era maior que 60%
  • 26. Virtualização Sendo assim, não existe Cloud sem virtualização, então… Evolução de ilhas isoladas para polo de recursos virtuais interconectadas - Maximizar eficiência - Reduzir custo
  • 27. Questões 1 - Mas a virtualização realmente resolve o problema de subutilização de processamento ? 2 - E como fazer deploy entre diferentes tecnologias de cloud com diversas ferramentas de virtualização ?
  • 28. Resposta… AWS - Cost Optimization - Truted Advisor Virtualizar resolve parcialmente o problema: energético ok mas não a subutilização.
  • 30. Docker Docker é uma plataforma OpenSource para developers e sysadmin que permite construir um pacote conhecido pelo nome de container, constituído por uma distribuição linux sistema operacional + aplicação. Uma máquina consegue executar vários containers diferentes de forma organizada e separada dentro de um computador anfitrião de forma semelhante aos que ocorre na virtualização tradicional. COM MAIS PODER E MAIS FLEXIBILIDADE :)
  • 31. Docker O Docker é constituído por duas ferramentas: 1 - Docker Engine: Responsável pela criação, empacotamento e execução Arquitetura cliente / server (Possível administrar remotamente) 2- Docker Hub: Serviço nas nuvens para o compartilhamento das aplicações criadas em Docker. Integrado com Git :)
  • 32. Docker Como assim ? No mundo Docker, você não tem mais uma aplicação que roda em Ubuntu, por exemplo. Você tem um contêiner que representa tudo isso! E qual a vantagem disso ?
  • 33. Docker ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Como eu resolvo esse problema de logística ?
  • 36. Docker Containers foram feitos para serem transportados entre diferentes tipos de tecnologia.
  • 40. Construir um container FROM centos:centos6 MAINTAINER Carlos Smaniotto carlos.smaniotto@vivareal.com ENV EPEL_URL http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm tar ENV BASELINE_PACK tar openssh-server openssh-clients unzip vim yum-utils git golang wget ENV ORA_URL http://download.oracle.com/otn-pub/java/jdk/8u5-b13/jdk-8u5-linux-x64.rpm RUN yum install -y $EPEL_URL $BASELINE_PACK #install oracle java RUN wget --no-cookies --no-check-certificate --header "Cookie: oraclelicense=accept-securebackup-cookie" "$ORA_URL" -O /var/tmp/jdk-8-linux-x64.rpm && yum localinstall -y /var/tmp/jdk-8-linux-x64.rpm && rm /var/tmp/* -rf && yum clean all ENV JAVA_HOME /usr/java/default Dockerfile Infraestrutura em código :)
  • 41. Construir um container - Herança Podemos usar um container para criar um outro container FROM centos/6:5 … FROM carlos.smaniotto/centos:java7 … carlos.smaniotto/centos:java7
  • 43. Como isso é possível ? AuFS - Advanced multi layered unification filesystem Permite fazer merge de layers
  • 44. Como isso é possível ?
  • 45. Como isso é possível ? Arquitetura
  • 46. Docker O Docker utiliza subsistemas do Kernel Linux Host que permitem rodar somente a parte que interessa do Guest OS e compartilhar parte dos recursos do kernel do sistema operacional Host. Um dos projetos precursor para isso foi o LXC - IBM, Google, Parallels entre outros. 
 O LXC é uma técnica de virtualização de nível baixo, camada de Kernel. Usando para isso subsistemas como cgroups, namespaces. Colinha: Host é o SO que esta no hardware e Guest é o virtual
  • 47. Docker RESUMINDO: Permite que recursos, libs e configurações sejam “aprisionados” em um path e isolados +… Com a ajuda do AuFS. O Docker funciona como uma camada sobre o LXC. Atualmente estão desenvolvendo uma arquitetura de acesso direto aos subsistemas de kernel: libcontainer Colinha: Host é o SO que esta no hardware e Guest é o virtual
  • 48. Docker Logo… container é um grupo de processos isolados em um BOX Linux gravados em um arquivo gerenciado pelo AuFS, o que permite inclusive versionamento deste arquivo. Para quem conhece chroot é um chroot com esteroides.
  • 53. Docker Qual a vantagem disso ? 
 Extremamente rápido: inclusive no startup do container. Isola o sistema: chroot e processo único. Fácil replicação: é só pegar a imagem, subir em outro ambiente e mandar rodar o container dessa imagem. Versionamento: Posso ter diferentes versões de minha aplicação completa
  • 54. Docker Preparo Deploy Manual Deploy Automático Tempo de boot Hardware Físico dias horas minutos minutos Virtualização minutos minutos segundos menos de 1 minuto Containers segundos minutos segundos segundos
  • 55. Portanto… benefícios • Portabilidade: Mesmo resultado em qualquer lugar • Versionamento: Like Git - commit/push • Compartilhamento: É possível compartilhar um container • Reusabilidade: Você pode fazer um fork de um container para atividades distintas. • Desenvolvimento: Aplicação amarrada à "máquina"!
  • 56. Revisão da Virtualização Primeira onda: Década de 60 em mainframe, o nome foi abstraído por um outro nome: sistema multi-tarefa. Segunda onda: Começo de 2000 - Virtual Machines até os dias de hoje Terceira onda: Iniciada fortemente no começo de 2014 com o projeto LXC. Container de aplicação.
  • 57. Conclusão Nesta terceira onda, chamada de virtualização em containers, resolvemos um problema que a segunda onda sozinha não consegue resolver. Adicionalmente, gera flexibilidade que as VMs tradicionais não conseguem, ou seja, mobilidade. VM + Container = <3