Introdução a CI e CD e CloudFormation (Reinaldo Pinto)

23
DevOps: Introdução a CI, CD e Cloud Formation. Vamos versionar nossa infraestrutura e fazer Deploy usando o Jenkão. Reinaldo Pinto

Transcript of Introdução a CI e CD e CloudFormation (Reinaldo Pinto)

Page 1: Introdução a CI e CD e CloudFormation (Reinaldo Pinto)

DevOps: Introdução a CI, CD e Cloud Formation.Vamos versionar nossa infraestrutura e fazer Deploy usando o Jenkão.

Reinaldo Pinto

Page 2: Introdução a CI e CD e CloudFormation (Reinaldo Pinto)

O que é DevOps?

Page 3: Introdução a CI e CD e CloudFormation (Reinaldo Pinto)

DevOpsé uma cultura, movimento ou prática que enfatiza a colaboração e comunicação de desenvolvedores de software e outros profissionais de TI ao automatizar o processo de entrega de software e mudanças de infraestrutura. Ele visa estabelecer uma cultura e ambiente na qual a construção, teste e entrega de software pode acontecer com rapidez, frequência e confiabilidade.

Page 4: Introdução a CI e CD e CloudFormation (Reinaldo Pinto)

O que é CAMS?

Page 5: Introdução a CI e CD e CloudFormation (Reinaldo Pinto)

Criado por John Willis e Damon Edwards em 2010Culture (Cultura: começa nas pessoas)Automation (Automação: utilizar ferramentas para

entregarmais rápido)Measurement (Medição: saber o que precisa ser feito)Sharing (Compartilhamento: colaboração e

transparência,resolver problemas juntos)

Page 6: Introdução a CI e CD e CloudFormation (Reinaldo Pinto)

Por quê?Para atender a demanda. DevOps ajuda a melhorar a integração dos times para entregar com agilidade, mantendo a qualidade e agregando valor para o negócio.

Page 7: Introdução a CI e CD e CloudFormation (Reinaldo Pinto)

O que é CI (Integração Contínua)?

Page 8: Introdução a CI e CD e CloudFormation (Reinaldo Pinto)

“Integração Contínua é uma prática de desenvolvimento de software na qual os membros de um time integram seu trabalho frequentemente.Geralmente cada pessoa integra pelo menos diariamente – podendo haver múltiplas integrações por dia. Cada integração é verificada por um build automatizado (incluindo testes) para detectar erros de integração o mais rápido possível. Muitos times acham que essa abordagem leva a uma significante redução nos problemas de integração e permite que um time desenvolva software coeso mais rapidamente.” Martin Fowler

Definição

Page 9: Introdução a CI e CD e CloudFormation (Reinaldo Pinto)

Principais benefíciosDiminuir bugs;Feedback instantâneo;Build automático e coeso (morre o build manual);Validar e fazer a integração do novo código;Necessário para que CD (entrega contínua) aconteça.

Page 10: Introdução a CI e CD e CloudFormation (Reinaldo Pinto)
Page 11: Introdução a CI e CD e CloudFormation (Reinaldo Pinto)

Testes???

Testes???

Page 12: Introdução a CI e CD e CloudFormation (Reinaldo Pinto)

O que é CD (Entrega Contínua)?

Page 13: Introdução a CI e CD e CloudFormation (Reinaldo Pinto)

A Entrega Contínua é quando o pacote está pronto para entregar em um ambiente estável. Na prática, é quando você entrega o software em um ambiente como HML para uma massa de usuários, sendo eles testers, área de produtos e/ou stakeholders (cliente final).

Definição

Page 14: Introdução a CI e CD e CloudFormation (Reinaldo Pinto)

Principais benefíciosObter feedback rápido e automatizado sobre o quanto o meu código está pronto para produção, sempre que tem uma release (mudança).Fazer deploy automático da última versão do seu código para produção por meio do acionamento de um botão.Entrega rápida para os stakeholders.

Page 15: Introdução a CI e CD e CloudFormation (Reinaldo Pinto)

CD (Entrega Contínua) na práticaPipeline, “CF-AWS-Accept” é um passo manual. (Aguarda a ação de um usuário):

Page 16: Introdução a CI e CD e CloudFormation (Reinaldo Pinto)

CD (Entrega Contínua) na práticaPipeline executado com sucesso:

Page 17: Introdução a CI e CD e CloudFormation (Reinaldo Pinto)

Satisfazendo a condição de Entrega Contínua, o código pode

ir para produção?

Page 18: Introdução a CI e CD e CloudFormation (Reinaldo Pinto)

O que é CloudFormation?

Page 19: Introdução a CI e CD e CloudFormation (Reinaldo Pinto)

Definição"O AWS CloudFormation oferece aos desenvolvedores e administradores de sistemas uma maneira fácil de criar e gerenciar um grupo de recursos relacionados à AWS, e fornecê-los e atualizá-los de uma forma organizada e previsível"

Page 20: Introdução a CI e CD e CloudFormation (Reinaldo Pinto)

Na práticaInfraestrutura como código.{"Description" : "Minha infra.", "Instance" : {

"KeyName" : "reinaldosouza", "InstanceType" : "t2.micro", "ImageId" : ""ami-7f418316", "SecurityGroupIds" : "sg-457f2538", "SubnetId" : "subnet-30185879" },"Outputs" : {

"InstanceId" : { }, "PublicIP" : { },"PublicDNS" : { } }}

Page 21: Introdução a CI e CD e CloudFormation (Reinaldo Pinto)

Fácil, né?

Page 22: Introdução a CI e CD e CloudFormation (Reinaldo Pinto)

BenefíciosVersionamento do infra;Agilidade no Deploy;Controle de dependência;Outputs.

Page 23: Introdução a CI e CD e CloudFormation (Reinaldo Pinto)

www.concretesolutions.com.br

Rio de Janeiro – Rua São José, 90 – cj. 2121Centro – (21) 2240-2030

São Paulo - Av. Nações Unidas, 11.541 3º andar - Brooklin - (11) 4119-0449

Ajudamos empresas a criar produtos digitais de sucesso