Continuous Deployment na AWS

446 visualizações

Publicada em

Conteúdo apresentado pela SCUP no Meetup sobre Aplicações em Node.Js realizado em 23 de setembro na TOTVS

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

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

Nenhuma nota no slide

Continuous Deployment na AWS

  1. 1. Continuous Deployment na AWS 23 de Setembro, 2015 São Paulo, Brasil.
  2. 2. Continuous Delivery x Continuous Deployment
  3. 3. União dos Times
  4. 4. ● Continuous Deployment ● Continuous Integration ● Infra Estrutura Automatizada
  5. 5. Antes Servidores com nomes. Na nuvem porém tratados como servidores fisicos
  6. 6. Temos que atualizar a versão de node em todos os nossos servidores.
  7. 7. SysAdmin
  8. 8. Precisamos de 3 ambientes para o novo projeto que irá para o ar em 1 semana
  9. 9. SysAdmin
  10. 10. Problema Servidores Tratados como Pets Configurações Manuais Demora em lançar novos ambientes
  11. 11. Servidores tratados como gado AWS AutoScaling Mode ON
  12. 12. Configurações de Infra Estrutura como Código Receitas Chef
  13. 13. ops não esse tipo de chef !!
  14. 14. Uso do cookbook redguide/nodejs https://github.com/redguide/nodejs Configuração do ambiente é criada a partir de um único arquivo .json
  15. 15. Orquestração ● Fabric - http://www.fabfile.org/ ● Ansible - http://www.ansible.com/
  16. 16. Lançar Novos Ambientes Scripts python usando api da Amazon
  17. 17. Servidores Tratados como Gado Configurações como código e aplicadas automaticamente Agilidade em lançar novos ambientes
  18. 18. Precisamos lançar 3 ambientes para o novo projeto que irá entrar no ar em 1 semana e temos que atualizar a versão de node em todos os nossos servidores.
  19. 19. SysAdmin
  20. 20. ● Continuous Deployment ● Continuous Integration ● Infra Estrutura Automatizada
  21. 21. Continuous Integration Prática de desenvolvimento onde cada desenvolvedor integra o seu código em um repositório compartilhado, com builds e testes automatizados, detectando problemas e efetuando correções rápidas.
  22. 22. Merge Hell Integration Hell
  23. 23. Qual?
  24. 24. ● Suporte as principais linguagens de programação (PHP, Nodejs, Java, Python, Ruby, Go). ● Deploy totalmente integrado com AWS CodeDeploy, AWS S3 e muitos outros providers. ● Configurações simples. ● Suporte a testes paralelos. ● Databases (MySQL, MongoDB, PostgreSQL, Redis, Memcached, SQLite e ElasticSearch).
  25. 25. ● Continuous Deployment ● Continuous Integration ● Infra Estrutura Automatizada
  26. 26. Amazon CodeDeploy Realiza o deploy de uma versão de aplicação, em um ou mais grupos de instâncias EC2 - via Autoscaling ou por tags EC2. ● Deploys automáticos ● Minimo Downtime ● Controle centralizado ● Fácil de adotar ● Uma configuração de deploy por grupo/environment da aplicação ● Liberdade (Scripting) ● Configuração de hooks (appspec.yml)
  27. 27. Deployment Overview Adicionamos um arquivo denominado Application Specification File (AppSpec) na raiz do projeto, ele é responsável por determinar as ações que o codedeploy irá executar durante o deploy.
  28. 28. Deployment Overview
  29. 29. Deployment Overview
  30. 30. Deployment Overview
  31. 31. +
  32. 32. Deploy completo!! Mas e se precisar de rollback?
  33. 33. ● Deploys contínuos ● Integração contínua ● Builds e testes automatizados ● Reduzida chances de erros nas aplicações depois do deploy ● Rollback sem crise
  34. 34. Obrigado@nullck nullck@gmail.com

×