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 cresciment...
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écu...
História
Gordon Moore, co-founder da Intel.
Em meados de 1965, declarou que a
cada 18 meses a capacidade de
processamento ...
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 baseand...
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	...
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,...
Datacenters
Em 2020 serão 35 Zettabytes de dados
entre fotos, vídeos e documentos.
44x mais dados do que em 2009, 0.8
Zett...
Datacenters
Problema: Consumo energético
Consumo de um DC: Calcula-se em kva
/ hora.
1 KVA = 800 Watts = 14 lâmpadas
acess...
Datacenters
Climatização	=	37%
Equipamentos	=	32%
NO-Break = 8%
Iluminação = 8%
Gerador = 10%
Outros = 5%
Entrada de
Energ...
Datacenters
Em um datacenter, 44% do TCO é
gasto com energia elétrica.
Estudo de 2010 da Universidade de
Stanford afirma qu...
Datacenters
Problema: Mal uso de processamento
Dos 100% de processamento, segundo
pesquisa americana financiada pela
IDC - ...
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 ...
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 d...
Virtualização
Primeiro objetivo é reduzir fisicamente a
quantidade de servidores existentes.
Diminui o TCO no geral em 35%....
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 vir...
Questões
1 - Mas a virtualização realmente resolve o problema
de subutilização de processamento ?
2 - E como fazer deploy ...
Resposta…
AWS - Cost Optimization - Truted Advisor
Virtualizar resolve parcialmente o problema:
energético ok mas não a su...
Resposta…
Docker
Docker é uma plataforma OpenSource para developers e sysadmin que
permite construir um pacote conhecido pelo nome d...
Docker
O Docker é constituído por duas ferramentas:
1 - Docker Engine: Responsável pela criação, empacotamento e execução
...
Docker
Como assim ?
No mundo Docker, você não tem mais uma aplicação que roda em Ubuntu,
por exemplo. Você tem um contêine...
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://d...
Construir um container - Herança
Podemos usar um container para criar um outro
container
FROM centos/6:5
…
FROM carlos.sma...
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 co...
Docker
RESUMINDO: Permite que recursos, libs e configurações sejam
“aprisionados” em um path e isolados
+…
Com a ajuda do ...
Docker
Logo… container é um grupo de processos isolados em um BOX Linux
gravados em um arquivo gerenciado pelo AuFS, o que...
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 process...
Docker
Preparo Deploy	
Manual
Deploy	
Automático
Tempo	de	
boot
Hardware	Físico dias horas minutos minutos
Virtualização m...
Portanto… benefícios
• Portabilidade: Mesmo resultado em qualquer lugar
• Versionamento: Like Git - commit/push
• Comparti...
Revisão da Virtualização
Primeira onda: Década de 60 em mainframe, o nome foi abstraído por um
outro nome: sistema multi-t...
Conclusão
Nesta terceira onda, chamada de virtualização em containers, resolvemos
um problema que a segunda onda sozinha n...
OBRIGADO
Próximos SlideShares
Carregando em…5
×

Beers & Bytes - O Futuro da virtualização

261 visualizações

Publicada em

Apresentação sobre o futuro da virtualização na 7ª edição do Beers & Bytes

Publicada em: Internet
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
261
No SlideShare
0
A partir de incorporações
0
Número de incorporações
9
Ações
Compartilhamentos
0
Downloads
2
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Beers & Bytes - O Futuro da virtualização

  1. 1. Beers & Bytes - 7ª Edição
  2. 2. Docker E o futuro da infraestrutura Moderna
  3. 3. Apresentação pessoal Carlos Smanitto - Nerd, apaixonado por tecnologia Gerente de Infra - VivaReal
  4. 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. 5. Historia… Vamos revisar um pouco a história…
  6. 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. 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. 8. História APPLE II Lançado em 1977, possuía 64KB de RAM com 1MHz de CPU de 8-bits :)
  9. 9. História Carl Anderson, cientista da IBM. Declarou em 2010 que a lei de Moore chegaria ao fim provavelmente em 2015.
  10. 10. História MOTIVO: Pesquisa para novos processadores cada vez mais $$$$$ Engenharia de Software = Cada vez mais otimizada :)
  11. 11. Questão Mas… precisamos mesmo dobrar ou evoluir nosso poder de processamento ? continuando….
  12. 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. 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. 14. Transição Começa então o nascimento dos grandes centros de processamento, ou seja, datacenters :) EM Hardware - Latão
  15. 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. 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. 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. 18. Datacenters Climatização = 37% Equipamentos = 32% NO-Break = 8% Iluminação = 8% Gerador = 10% Outros = 5% Entrada de Energia CalorinternodoDC
  19. 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. 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. 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
  22. 22. Datacenters REFRIGERAÇÃO GERENCIAMENTO ENERGIA INSTALAÇÃO CARGA DE TI
  23. 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. 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. 25. Virtualização Segundo a Gartner Em 2008 12 % dos ambientes eram virtuais Em 2014 esse número já era maior que 60%
  26. 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. 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. 28. Resposta… AWS - Cost Optimization - Truted Advisor Virtualizar resolve parcialmente o problema: energético ok mas não a subutilização.
  29. 29. Resposta…
  30. 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. 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. 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. 33. Docker ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Como eu resolvo esse problema de logística ?
  34. 34. Docker
  35. 35. Docker
  36. 36. Docker Containers foram feitos para serem transportados entre diferentes tipos de tecnologia.
  37. 37. Docker Mobilidade :)
  38. 38. Docker Mas é só isso ?
  39. 39. Construir um contêiner Dockerfile Infraestrutura em código :)
  40. 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. 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
  42. 42. Construir um contêiner AuFS Versionamento de um container
  43. 43. Como isso é possível ? AuFS - Advanced multi layered unification filesystem Permite fazer merge de layers
  44. 44. Como isso é possível ?
  45. 45. Como isso é possível ? Arquitetura
  46. 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. 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. 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.
  49. 49. Docker Virtualização tradicional Linux Conteiner Docker
  50. 50. Docker
  51. 51. Docker
  52. 52. Docker Vantagem
  53. 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. 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. 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. 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. 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
  58. 58. OBRIGADO

×