SlideShare une entreprise Scribd logo
1  sur  58
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

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
 

Tendances (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
 

Similaire à 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
 

Similaire à 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