Upload
totvs
View
489
Download
1
Embed Size (px)
Citation preview
Continuous Deployment na AWS
23 de Setembro, 2015São Paulo, Brasil.
Continuous Delivery x Continuous Deployment
União dos Times
● Continuous Deployment
● Continuous Integration
● Infra Estrutura Automatizada
Antes
Servidores com nomes.Na nuvem porémtratados como servidores fisicos
Temos que atualizar a versão de node em todos os nossos servidores.
SysAdmin
Precisamos de 3 ambientes para o novo projeto que irá para o ar em 1 semana
SysAdmin
Problema
Servidores Tratados como Pets
Configurações Manuais
Demora em lançar novos ambientes
Servidores tratados como gado
AWS AutoScaling Mode ON
Configurações de Infra Estrutura como Código
Receitas Chef
ops não esse tipo de chef !!
Uso do cookbook redguide/nodejs
https://github.com/redguide/nodejs
Configuração do ambiente é criada a partir de um único arquivo .json
Orquestração
● Fabric - http://www.fabfile.org/
● Ansible - http://www.ansible.com/
Lançar Novos Ambientes
Scripts python usando api da Amazon
Servidores Tratados como GadoConfigurações como código e aplicadas
automaticamenteAgilidade em lançar novos ambientes
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.
SysAdmin
● Continuous Deployment
● Continuous Integration
● Infra Estrutura Automatizada
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.
Merge Hell Integration Hell
Qual?
● 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).
● Continuous Deployment
● Continuous Integration
● Infra Estrutura Automatizada
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)
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.
Deployment Overview
Deployment Overview
Deployment Overview
+
Deploy completo!!Mas e se precisar de rollback?
● Deploys contínuos● Integração contínua● Builds e testes automatizados● Reduzida chances de erros nas
aplicações depois do deploy● Rollback sem crise
Obrigado@[email protected]