Deploying Docker Containers

541 visualizações

Publicada em

Introducing Docker Containers and Deploying them to Amazon AWS Elastic Beanstalk

Publicada em: Tecnologia
0 comentários
2 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

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

Nenhuma nota no slide

Deploying Docker Containers

  1. 1. Deploying Docker Containers Hugo Arraes Henley hugohenley@id.uff.br
  2. 2. Quem sou eu? Arquiteto de Soluções da STI Engenheiro de Software Apaixonado por tecnologia Nerd :)
  3. 3. #quemnunca? • Perdeu horas tentando descobrir porque o seu software não funcionava em produção e era aquela lib que faltava… • Ficou dias tentando configurar a máquina para rodar o projeto da empresa • Contratou um web designer e teve que ajudá-lo a instalar até o banco de dados da sua app. Que sentido faz?
  4. 4. Desenvolvedores devem… • Ter mais tempo para focar no negócio! • Entregar software que funciona sem dificuldades e que sejam independentes do ambiente • Deployar, deployar, deployar…
  5. 5. Suas aplicações devem… • Escalar com facilidade • Ser facilmente deployáveis • Rodar em ambientes isolados
  6. 6. [http://12factor.net/dev-prod-parity]
  7. 7. Qual a solução?
  8. 8. Docker? Containers?
  9. 9. Um paralelo com a Engenharia …
  10. 10. Solução…
  11. 11. O deploy é feito em containers leves e auto-suficientes.
  12. 12. #comofaz?
  13. 13. Docker? • Permite criar containers leves e auto-suficientes que podem conter qualquer tipo de aplicação/serviço • Se é possível rodar em um Kernel Linux, pode rodar no Docker ! • Não é uma Virtual Machine! • É um Virtual Environment! • Escrito em Go :)
  14. 14. Virtual Machines Hypervisor Host OS Server App A Bin/Libs Guest OS App B Bin/Libs Guest OS
  15. 15. Virtual Environments App A App B Docker Engine Host OS Server Bin/Libs Bin/Libs
  16. 16. Há um ganho incrível de performance.
  17. 17. Performance Quase não há overhead! [An Updated Performance Comparison of Virtual Machines and Linux Containers]
  18. 18. Deploy
  19. 19. Fluxo Padrão Your machine Server
  20. 20. Deploying Containers Ambiente de Desenvolvimento = Ambiente de Produção Ambiente de Desenvolvimento = Ambiente de Produção Ambiente de Desenvolvimento = Ambiente de Produção Ambiente de Desenvolvimento = Ambiente de Produção Docker Engine Host OS Server Your Machine Server
  21. 21. Como faço pra rodar o meu Linux Container?
  22. 22. 1docker pull ubuntu
  23. 23. docker run -i -t ubuntu:14.04 /bin/bash 2
  24. 24. Só isso?
  25. 25. Onde eu configuro o meu container?
  26. 26. Dockerfile
  27. 27. Dockerizing a Redis Service Dockerfile
  28. 28. Dockerizing a MySQL Database
  29. 29. Criando o container MySQL
  30. 30. Observações • Tempo de boot do container? • As migrações rodam dentro do container! Você não precisa ter o MySQL instalado na sua máquina • Possibilidade de criar vários containers, cada um com um serviço • Ganhamos isolamento e velocidade!
  31. 31. Fácil escalar… … …
  32. 32. Linking Containers Redis Server App / Linux
  33. 33. Onde eu guardo os meus containers? [https://hub.docker.com/]
  34. 34. Quem está usando?
  35. 35. Onde fazer deploy?
  36. 36. Cloud Computing
  37. 37. Elastic Beanstalk • Serviço que permite deploy de forma fácil e rápida de aplicações Java, .NET, PHP, Node.js, Python, Ruby e Docker • Suporta Apache, Nginx, Passenger e IIS • Você faz upload do seu código • O Elastic Beanstalk se encarrega do provisionamento e monitoramento da sua aplicação
  38. 38. O que é necessário? • Dockerfile • Dockerrun.aws.json
  39. 39. Dockerrun.aws.json
  40. 40. Testando… [https://github.com/awslabs/eb-py-flask-signup/tree/docker]
  41. 41. 1 git clone git@github.com:awslabs/eb-py-flask-signup.git 2 eb init 3 eb start 4 eb push
  42. 42. [http://eb-docker-env-vbxvmms6fz.elasticbeanstalk.com]
  43. 43. DESAFIO!
  44. 44. Rodem seu próximo projeto em containers na AWS! :)
  45. 45. Dica para os alunos…
  46. 46. E o mais importante… O mercado quer solucionadores de problemas!
  47. 47. Atenção! Descontos!
  48. 48. [https://www.jetbrains.com/student/]
  49. 49. [https://education.github.com/pack]
  50. 50. Estamos contratando!
  51. 51. > 40 sistemas em produção 8 sistemas em desenvolvimento
  52. 52. Horário Flexível! Aprendizado constante Tecnologia de Ponta
  53. 53. 12 e 13 de Novembro
  54. 54. Empresas confirmadas
  55. 55. Dúvidas?
  56. 56. Obrigado!
  57. 57. http://github.com/hugohenley Hugo Henley hugohenley http://hugohenley.github.io hugohenley@id.uff.br

×