deploying docker containers

Download Deploying Docker Containers

Post on 14-Jun-2015

229 views

Category:

Technology

9 download

Embed Size (px)

DESCRIPTION

Introducing Docker Containers and Deploying them to Amazon AWS Elastic Beanstalk

TRANSCRIPT

  • 1. Deploying Docker ContainersHugo Arraes Henleyhugohenley@id.uff.br

2. Quem sou eu?Arquiteto de Solues da STIEngenheiro de SoftwareApaixonado por tecnologiaNerd :) 3. #quemnunca? Perdeu horas tentando descobrir porque o seu software nofuncionava em produo e era aquela lib que faltava Ficou dias tentando configurar a mquina para rodar o projetoda empresa Contratou um web designer e teve que ajud-lo a instalar at obanco de dados da sua app. Que sentido faz? 4. Desenvolvedores devem Ter mais tempo para focar no negcio! Entregar software que funciona sem dificuldades e que sejamindependentes do ambiente Deployar, deployar, deployar 5. Suas aplicaes devem Escalar com facilidade Ser facilmente deployveis Rodar em ambientes isolados 6. [http://12factor.net/dev-prod-parity] 7. Qual a soluo? 8. Docker? Containers? 9. Um paralelo com a Engenharia 10. Soluo 11. O deploy feito em containers leves eauto-suficientes. 12. #comofaz? 13. Docker? Permite criar containers leves e auto-suficientes que podemconter qualquer tipo de aplicao/servio Se possvel rodar em um Kernel Linux, pode rodar no Docker ! No uma Virtual Machine! um Virtual Environment! Escrito em Go :) 14. Virtual MachinesHypervisorHost OSServerApp ABin/LibsGuest OSApp BBin/LibsGuest OS 15. Virtual EnvironmentsApp AApp BDocker EngineHost OSServerBin/LibsBin/Libs 16. H um ganho incrvel deperformance. 17. PerformanceQuase no h overhead![An Updated Performance Comparison of Virtual Machines and Linux Containers] 18. Deploy 19. Fluxo PadroYour machineServer 20. Deploying ContainersAmbiente de Desenvolvimento = Ambiente de ProduoAmbiente de Desenvolvimento = Ambiente de ProduoAmbiente de Desenvolvimento = Ambiente de ProduoAmbiente de Desenvolvimento = Ambiente de ProduoDocker EngineHost OSServerYour Machine Server 21. Como fao pra rodar o meuLinux Container? 22. 1docker pull ubuntu 23. docker run -i -t ubuntu:14.04 /bin/bash 2 24. S isso? 25. Onde eu configuro o meucontainer? 26. Dockerfile 27. Dockerizing a Redis ServiceDockerfile 28. Dockerizing a MySQL Database 29. Criando o container MySQL 30. Observaes Tempo de boot do container? As migraes rodam dentro do container! Voc no precisa ter oMySQL instalado na sua mquina Possibilidade de criar vrios containers, cada um com um servio Ganhamos isolamento e velocidade! 31. Fcil escalar 32. Linking ContainersRedis Server App / Linux 33. Onde eu guardo os meus containers?[https://hub.docker.com/] 34. Quem est usando? 35. Onde fazer deploy? 36. Cloud Computing 37. Elastic Beanstalk Servio que permite deploy de forma fcil erpida de aplicaes Java, .NET, PHP, Node.js,Python, Ruby e Docker Suporta Apache, Nginx, Passenger e IIS Voc faz upload do seu cdigo O Elastic Beanstalk se encarrega doprovisionamento e monitoramento da suaaplicao 38. O que necessrio? Dockerfile Dockerrun.aws.json 39. Dockerrun.aws.json 40. Testando[https://github.com/awslabs/eb-py-flask-signup/tree/docker] 41. 1 git clone git@github.com:awslabs/eb-py-flask-signup.git2 eb init3 eb start4 eb push 42. [http://eb-docker-env-vbxvmms6fz.elasticbeanstalk.com] 43. DESAFIO! 44. Rodem seu prximo projetoem containers na AWS! :) 45. Dica para os alunos 46. E o mais importanteO mercado quer solucionadores de problemas! 47. Ateno! Descontos! 48. [https://www.jetbrains.com/student/] 49. [https://education.github.com/pack] 50. Estamos contratando! 51. > 40 sistemas em produo8 sistemas em desenvolvimento 52. Horrio Flexvel!Aprendizado constanteTecnologia de Ponta 53. 12 e 13 de Novembro 54. Empresas confirmadas 55. Dvidas? 56. Obrigado! 57. http://github.com/hugohenleyHugo Henleyhugohenleyhttp://hugohenley.github.iohugohenley@id.uff.br