Top Banner
Continuous Deployment na AWS 23 de Setembro, 2015 São Paulo, Brasil.
62

Continuous Deployment na AWS

Mar 20, 2017

Download

Software

TOTVS
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Continuous Deployment na AWS

Continuous Deployment na AWS

23 de Setembro, 2015São Paulo, Brasil.

Page 2: Continuous Deployment na AWS

Continuous Delivery x Continuous Deployment

Page 3: Continuous Deployment na AWS
Page 4: Continuous Deployment na AWS
Page 5: Continuous Deployment na AWS

União dos Times

Page 6: Continuous Deployment na AWS

● Continuous Deployment

● Continuous Integration

● Infra Estrutura Automatizada

Page 7: Continuous Deployment na AWS

Antes

Servidores com nomes.Na nuvem porémtratados como servidores fisicos

Page 8: Continuous Deployment na AWS

Temos que atualizar a versão de node em todos os nossos servidores.

Page 9: Continuous Deployment na AWS

SysAdmin

Page 10: Continuous Deployment na AWS

Precisamos de 3 ambientes para o novo projeto que irá para o ar em 1 semana

Page 11: Continuous Deployment na AWS

SysAdmin

Page 12: Continuous Deployment na AWS

Problema

Servidores Tratados como Pets

Configurações Manuais

Demora em lançar novos ambientes

Page 13: Continuous Deployment na AWS

Servidores tratados como gado

AWS AutoScaling Mode ON

Page 14: Continuous Deployment na AWS

Configurações de Infra Estrutura como Código

Receitas Chef

Page 15: Continuous Deployment na AWS

ops não esse tipo de chef !!

Page 16: Continuous Deployment na AWS
Page 17: Continuous Deployment na AWS

Uso do cookbook redguide/nodejs

https://github.com/redguide/nodejs

Configuração do ambiente é criada a partir de um único arquivo .json

Page 18: Continuous Deployment na AWS
Page 19: Continuous Deployment na AWS

Orquestração

● Fabric - http://www.fabfile.org/

● Ansible - http://www.ansible.com/

Page 20: Continuous Deployment na AWS

Lançar Novos Ambientes

Scripts python usando api da Amazon

Page 21: Continuous Deployment na AWS

Servidores Tratados como GadoConfigurações como código e aplicadas

automaticamenteAgilidade em lançar novos ambientes

Page 22: Continuous Deployment na AWS

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.

Page 23: Continuous Deployment na AWS

SysAdmin

Page 24: Continuous Deployment na AWS

● Continuous Deployment

● Continuous Integration

● Infra Estrutura Automatizada

Page 25: Continuous Deployment na AWS

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.

Page 26: Continuous Deployment na AWS
Page 27: Continuous Deployment na AWS
Page 28: Continuous Deployment na AWS

Merge Hell Integration Hell

Page 29: Continuous Deployment na AWS
Page 30: Continuous Deployment na AWS
Page 31: Continuous Deployment na AWS

Qual?

Page 32: Continuous Deployment na AWS
Page 33: Continuous Deployment na AWS
Page 34: Continuous Deployment na AWS

● 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).

Page 35: Continuous Deployment na AWS
Page 36: Continuous Deployment na AWS
Page 37: Continuous Deployment na AWS
Page 38: Continuous Deployment na AWS
Page 39: Continuous Deployment na AWS
Page 40: Continuous Deployment na AWS

● Continuous Deployment

● Continuous Integration

● Infra Estrutura Automatizada

Page 41: Continuous Deployment na AWS

Amazon CodeDeployRealiza 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)

Page 42: Continuous Deployment na AWS

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.

Page 43: Continuous Deployment na AWS
Page 44: Continuous Deployment na AWS

Deployment Overview

Page 45: Continuous Deployment na AWS

Deployment Overview

Page 46: Continuous Deployment na AWS

Deployment Overview

Page 47: Continuous Deployment na AWS
Page 48: Continuous Deployment na AWS
Page 49: Continuous Deployment na AWS
Page 50: Continuous Deployment na AWS

+

Page 51: Continuous Deployment na AWS
Page 52: Continuous Deployment na AWS
Page 53: Continuous Deployment na AWS
Page 54: Continuous Deployment na AWS
Page 55: Continuous Deployment na AWS
Page 56: Continuous Deployment na AWS
Page 57: Continuous Deployment na AWS
Page 58: Continuous Deployment na AWS

Deploy completo!!Mas e se precisar de rollback?

Page 59: Continuous Deployment na AWS
Page 60: Continuous Deployment na AWS
Page 61: Continuous Deployment na AWS

● Deploys contínuos● Integração contínua● Builds e testes automatizados● Reduzida chances de erros nas

aplicações depois do deploy● Rollback sem crise

Page 62: Continuous Deployment na AWS

Obrigado@[email protected]