Para otimizar nosso tempo e diminuir incidentes causados por erro humano, adotamos o conceito de CI/CD no nosso dia a dia. Acontece que, muitas vezes, por limitações técnicas e dificuldade de integração entre plataformas, deixamos a automatização de deploy de lado e ficamos, no melhor das hipóteses, só com os testes automatizados.
Não seria ótimo se os desenvolvedores pudessem se preocupar só com o versionamento de código, e todo o resto acontecesse magicamente por debaixo dos panos?
Nessa talk aprenderemos como automatizar o seu deploy de maneira fácil com o ArgoCD, uma ferramenta de automatização de deploy para Kubernetes, e porque é importante separar o CI do CD.
13. 14
Footprint mais enxuto
para produção
Multi-stage Build 01
Erros são captados mais
cedo no ciclo de vida de
desenvolvimento
Shift Left 02
14. 15
Mesmos comandos
produzem o mesmo
resultado
Standards03
Footprint mais enxuto
para produção
Multi-stage Build 01
Erros são captados mais
cedo no ciclo de vida de
desenvolvimento
Shift Left 02
15. 16
Mesmos comandos
produzem o mesmo
resultado
Standards03
Código está mais perto do
desenvolvedor e o
processo não está
escondido
Developer Ownership04
Footprint mais enxuto
para produção
Multi-stage Build 01
Erros são captados mais
cedo no ciclo de vida de
desenvolvimento
Shift Left 02
16. 17
Mesmos comandos
produzem o mesmo
resultado
Standards03
Código está mais perto do
desenvolvedor e o
processo não está
escondido
Developer Ownership04
Footprint mais enxuto
para produção
Multi-stage Build 01
Erros são captados mais
cedo no ciclo de vida de
desenvolvimento
Shift Left 02
17. 19
Mesmos comandos
produzem o mesmo
resultado
Standards03
Código está mais perto do
desenvolvedor e o
processo não está
escondido
Developer Ownership04
Footprint mais enxuto
para produção
Multi-stage Build 01
Erros são captados mais
cedo no ciclo de vida de
desenvolvimento
Shift Left 02
18. 20
Entendendo o Design Pattern e fazendo os ajustes necessários
na pipeline
O PADRÃO
GITOPS
23. 26
DEPLOYMENT
M A N I F E S T O
Precisamos trocar a imagem do container
no manifesto que está versionado.
24. 27
DEPLOYMENT
M A N I F E S T O
Precisamos trocar a imagem do container
no manifesto que está versionado.
Algumas ferramentas podem ajudar:
Kustomize
HELM
28. 31
QUAL O PROBLEMA QUE
ESTAMOS RESOLVENDO?
I M P O R T A N T E
O último commit da master é o
estado atual da infraestrutura.
INFRAESTRUTURA REPLICÁVEL
29. 32
QUAL O PROBLEMA QUE
ESTAMOS RESOLVENDO?
I M P O R T A N T E
Mais de um desenvolvedor pode
evoluir a infraestrutura ao mesmo
tempo.
COLABORAÇÃO
O último commit da master é o
estado atual da infraestrutura.
INFRAESTRUTURA REPLICÁVEL
30. 33
QUAL O PROBLEMA QUE
ESTAMOS RESOLVENDO?
I M P O R T A N T E
Mais de um desenvolvedor pode
evoluir a infraestrutura ao mesmo
tempo.
COLABORAÇÃO
O último commit da master é o
estado atual da infraestrutura.
INFRAESTRUTURA REPLICÁVEL
Infraestrutura e produto evoluem
separadamente. Ferramentas
especializadas trabalham melhor.
SEPARAÇÃO DE
RESPONSABILIDADES
31. 34
QUAL O PROBLEMA QUE
ESTAMOS RESOLVENDO?
I M P O R T A N T E
Mais de um desenvolvedor pode
evoluir a infraestrutura ao mesmo
tempo.
COLABORAÇÃO
Os desenvolvedores não precisam
se preocupar mais com deploy,
apenas com código!
FOCO NO VALOR
O último commit da master é o
estado atual da infraestrutura.
INFRAESTRUTURA REPLICÁVEL
Infraestrutura e produto evoluem
separadamente. Ferramentas
especializadas trabalham melhor.
SEPARAÇÃO DE
RESPONSABILIDADES
50. 53
CONTINUOUS DELIVERY
T E M A
Até agora cobrimos apenas alguns tópicos do tema
Continuous Delivery. Se quisermos completar a roda,
temos que estudar a fundo mais alguns tópicos
51. 54
CONTINUOUS DELIVERY
T E M A
Até agora cobrimos apenas alguns tópicos do tema
Continuous Delivery. Se quisermos completar a roda,
temos que estudar a fundo mais alguns tópicos
55. 58
SLACK NOTIFICATION
C I R C L E C I
É importante aproximar o desenvolvedor
com a sua pipeline de desenvolvimento.
Promover o feedback de maneira prática é
um caminho.
Podemos integrar notificações do Slack
(local que já estamos acostumados a usar)
de maneira bem fácil, gastando pouco
esforço mas entregando um grande valor
Configuring notifications for your CI
builds with Slack
57. 60
BIBLIOGRAFIA
ArgoCD https://argoproj.github.io/argo-cd/
Guide to GitOps https://www.weave.works/technologies/gitops/
Shifting Left with Continuous Delivery https://dzone.com/refcardz/shifting-left-with-continuous-delivery?chapter=2
Using Multi-Stage Builds to Simplify And Standardize Build Processes
https://medium.com/capital-one-tech/multi-stage-builds-and-dockerfile-b5866d9e2f84
The Benefits of Continuous Delivery https://dzone.com/articles/the-benefits-of-continuous-delivery